Ikaguia Admin
Posts : 4 Join date : 2011-02-22
![OpenBRF [latest ver 0.0.60 -- 27 Apr 2011] Empty](https://2img.net/i/empty.gif) | Subject: OpenBRF [latest ver 0.0.60 -- 27 Apr 2011] Fri May 06, 2011 5:53 pm | |
| ![OpenBRF [latest ver 0.0.60 -- 27 Apr 2011] OpenBRF_banner](http://vcg.isti.cnr.it/~tarini/files/mab/OpenBRF_banner.png) Here is a tool I'm building with The Last Day module in mind (you know, the Lord of the Ring based one). I was developing it inside that community, but why not share here. It is meant to be used to preview and edit BRF files (Binary Resource Files), i.e. most content of the game (e.g. meshes and animations). Download: Translations! (contribute one?): - Spoiler:
If you want to contribute a translation in your language, you can use QT-Linguist and work on this file: If you want to update an existing translation, you can start from what we have: To test your new translations, make a .qm file and load it in OpenBRF using "Settings"->"Language"->"Test a custom translation file..." PM me your new/updated .ts files, I'll add them in the program and in this list! FAQ & troubleshooting: - Spoiler:
How do I do stuff? I can't see any toolbar and menus are small and empty. Many things are in context menus. Right click on the objects in the list on the left. How do I export a mesh/an animation/a skeleton? Read above. I can I see several meshes combined? You can MULTIPLE SELECT stuff, just as you do in the file system: by Shift+clicking or Ctrl+clicking on the object list. Multiple selections are visualized side-to-side (for display and comparison), or combined into one: switch this with the small buttons at the bottom. ALSO NOTE: commands operating on multiple items (like "combine meshes", "concatenate animations", or "group rename") are available (by right-clicking on the selection) when multiple things are selected! Can I add new animations and skeletons in my mod? Yes, within certain limits. For animations, see this tutorial, (by [cdvader]), or this one, (by [dreamterror]). For skeletons, this one, (by [cdvader]). Why does it show a white-blue checkerboard instead of my texture? It is a replacement for when there were problems loading the texture. See under "settings" menu and ask OpenBRF itself what went wrong. My OBJ files appear flipped when I import them! Like, weapons in left hands? Import is correct, but your OBJ files contains a flipped mesh. Happens when it was exported either by pre-0.0.18 versions of OpenBRF or by BBRedit. Whatever the reason, you can use the "mirror" tool to flip it back (a nuisance, but from now on you should see the same orientation: in the game, in OpenBRF, and in the external applications like blender which read exported OBJs). How do I move meshes/materials/etc into one BRF file from another BRF file? Mode 1: open the first BRF file, select and copy (ctrl-C) the object(s), open the other BRF file and paste (ctrl-V). Mode 2: you can also "import" a brf file into the currently open file, if you want to take in all of its content. How to install? no installer required. Just unzip in any folder and run! How can I make OpenBRF the predefined application for my BRF files? in window explorer, right click on any brf file, "open with...", select "custom application...", "browse" for where openBrf.exe is, select it, check "always use this program to open this kind of file". Now OpenBRF should open when you double click a BRF file. However, there seems to be occasional, erratic problems with Window's file association. This is a window issue rather than an OpenBRF one. If your Windows refuses to comply, it was reported (by [Mandible]) that renaming the openbrf ".exe" file to something else can help. What do all those flags and numbers in Material, Shader and Texture tab mean, exactly?This is guesswork, but see this nice tutorial (by [ xenoargh]) about this. What do the bold/colors mean, in the left-most list of names?Bold blue means that that mesh/texture/shader/skeleton/etc is being used by your module, judging from its txt files. Either directly or indirectly (right click on it and see "used by" to find out). Gray means that that thing it is not used (or is only used by other objects, e.g. a material by a mesh, which are, in turn, not used). Lighter gray means that does not seem to be used at all (and can be removed). Colors? What colors? Just press F3 to make OpenBrf scan the txt file and color-code the object lists (or [Module]->[Scan module for usages]). Naturally, this only applies if the current BRF file is part of the current module, i.e. if it is listed in module.ini. Feature list:Basic Features:- Spoiler:
[li]Loading & saving:
[li]Loads and saves all contents of BRF files:
[li]Meshes (including vertex-animated & rigged)[/li] [li] Collision objects (including spheres capsules manifold & faces...)[/li] [li]Textures, Materials, Shaders[/li] [li]Skeletons, Skeletal-animations.[/li] [/li] [li] Compatibility:
[li]M&B ver 1.011 complaint. [/li][li]Back compatibility with M&B .808 BRF files (load only). [/li][li]"Forward" compatibility with Warband BRF files (save/load). [/li]
[/li]
[/li] [li]Viewing:
[li]Meshes, Collision objects, Skeletons, Skel-animations, Texture and Material: shown in 3D view (using, as appropriate, textures, wireframe, per-vertex color, animations, customizable skins, alpha channel, xrays -- for collision objects, etc) [/li][li] All attributes for all objects (e.g. flags, numbers and strings) are shown in the GUI. [/li][li] navigation mode (WASD) for interiors; custom view orientation for helmets. [/li][li] "side-to-side" or "combined" modes for viewing multiple selections. [/li]
[/li] [li]Importing & exporting:
[li]Meshes exported/imported in: obj (including multi-material), ply, dxf (autocad), dae (collada), off. (not all formats allow to export vertex colors or normals. Normals are recomputed if missing). [/li][li]Rigged meshes, Skeletal-Animations: export/import as SMD (or maya .ma, experimental) [/li][li]Skeletons: export/import as SMD -- also, export/import as a control (static) mesh [/li][li]Vertex-animated meshes: export/import as MD3 or as separate frames, [/li][li]Collision bodies: export/import as multiple-object obj (notes on usage: see this info) [/li]
[/li] [li]Basic editing:
[li]Direct editing of any attribute of any object (e.g. flags). [/li][li]Group edits: multiple-select objects to view or edit them all in one go (e.g. renaming a group will edit prefixes) [/li][li]Cut, copy and paste objects to easily move them from a brf file to another. [/li][li]Remove, rename, duplicate objects; sort them or move them up and down in the list [/li][li]Search for objects, or module inconsistencies. [/li]
[/li]
Tools for skeletons/rigging/skeletal-animation- Spoiler:
[li]Autobreak-up of animations into sub-sequences: (useful for for long sequence of animations listed as a single one). Animation can be either auto-split, by dividing chunks separated by large gaps in frame numeration, or split by following an action.txt file (in this case, a new action.txt is also produced, which refers the new split animations. The original action.txt file is kept intact -- just for safety). How-to: Just right click on an animation in the list.
[/li][li]Customizable skinning to view animations: rigged meshes can be enlisted to compose "skins". Skins are sets of user-selected rigged meshes which are used by OpenBrf to display skeletal-animations. Similarly, animations can be set as "reference animations" so that you can see your rigged meshes under that animation. Skins can also be used to export animations/rigged meshes/skeletons. How-to: Right click on the mesh to add it to a skin, or on an animation to use it as a "reference" animation. Reference objects (skeletons, animations, models) are auto-saved but you can also edit them directly (tools=>edit reference models).
[/li][li]Simplified skeleton retouching through meshes: this is to allow edits of the skeleton w/o using an animation program (small thing, mostly for myself). First, export a "skeleton modification mesh", which is just a static mesh (e.g. obj) featuring the bones. Then, edit the resulting mesh using any 3D editor; don't change bone size, number or shape: only their orientation and positions. Then, you use that mesh to modify the skeleton, and openBRF will modify just bone positions/orientation, keeping all else, like bone names, bone connections etc.
[/li][li]Reskeletonize tool for rigged meshes: This can be used to go from a mesh rigged for skeleton A to make a new mesh rigged for skeleton B. (if the two skeletons are similar enough). The mesh will deform to adapt to the new skeleton. This is not supposed to be perfect, but can be a start for further editing. Optionally, the deformed mesh can be placed as a frame to the original body mesh (you know, just how natives hides feminine version of armor shapes in subsequent frames).
[/li][li]Transfer rigging from a mesh to another: to transfer rigging from a rigged "exemplar" mesh to one or more target (usually non rigged) mesh (Similar to "obj2smd" program.). How to: (1)select one or more exemplar meshes, (2)copy [ctrl+C], (3)select one or more target mesh, (4)"edit" -> "paste rigging"
[/li][li]Transfer timings: to transfer timings (times per frame): as above, but use "paste timings"
Tools for 3D meshes:- Spoiler:
[li]Renormalize and merge tool: recomputes the normal of the mesh + merges together positions and vertices, so that the data is more compact and rendering efficient. You can see the number of vertices and positions go down in the "data" box. There is also an option to automatically perform either of these operations after import.
[/li][li]Redefine hard-edges: hard edges (normal discontinuities) can also be redefined using a custom crease-angle parameter, with the above tool. Texture seams can be preserved or ignored.
[/li][li]"Feminization" of outfits: you can pick an armor/outfit of your mod and make OpenBRF build the feminine version of it (it will be added as another frame of that mesh, just like the game wants).
[/li][li]Rescale-rotote-translate-mirror-etc, meshes: just as the name says.
[/li][li]Ruler tool: designed to pinpoint the precise reach of weapons [Fei Dao suggestion]
[/li][li]Combine meshes tool: makes one mesh from many (works with static, vertex-animated, rigged meshes alike).
[/li][li]Back-faces: add them (creates x2 faces), or remove them. Useful for flat impostors that must be seen from both sides.
[/li][li]Recoloring: (i.e. per vertex colors support). Assign a uniform color, tune hue-saturation-brightness-contrast of existing colors.
[/li][li]Ambient occlusion: computes ambient occlusions and stores it as per vertex color. Adds a lot of realism cheap and fast to your meshes. A few parameters (darkness, and light dispositions) can be tuned under "settings".
[/li][li]Tangent direction computations: tang. dirs, which are needed for bumpmapping, can be computed over your meshes (they can be saved only as WarBand BRF).
[/li][li]LoDs computation: OpenBRF can build lod's (level of details) for your meshes, progressively simplifying them by automatic polygonal reduction. Under "settings", you can customize which lod are produced, and how much polygonal reduction should take place.
[/li]
Tools for Collision Objects:- Spoiler:
[li]Smart Import/exports of subparts: to make collision objects using the efficient "sphere" and "capsules" primitive. See more info [here]
[/li][li]Auto-quadrangolized: to turn a triangle-based Collision Object to a more efficient Quad-dominant one (because, in game, it is better to use fewer quads than more triangles).
[/li][li]Smart visualization: "X-rays" style
[/li][li]Scale/translate/rotate/mirror/merge: of Collision objects
[/li][li]Build from mesh: turn a mesh (or a group of meshes) into a collision object (note: it better be closed, and appropriately low res).
[/li]
Tools for Materials/Textures:- Spoiler:
[li]Editing of multiple materials/meshes: just make a multiple selection and edit flags, texture names, etc.
[/li][li]Direct flag editing: of material, textures.
[/li][li]Texture data: openBRF will tell you everything about resolution, mipmap level, compression mode, disk size, location (module or common folder) etc of your textures.
[/li][li]Mini-"can't find texture" diagnostics: if openBRF is not able to show textures, for whatever reason, it shows a checkboard replacement and offer a mini-diagnostic under settings
[/li][li]Material rendering: openBRF will try to guess rendering of a material (shininess, transparency, cutouts...) when rendering a material over a mesh. Normalmap and specular maps too.
[/li]
Tools for vertex animations:- Spoiler:
[li]Frame stacking: vertex animation are build stacking each frame separately. You can import them separately, or use the cut-frame, copy-frame, paste-frame operations (under "edit"). Either way, you can choose one of two algorithms in order to actually assemble the animation (make your choice under "settings" menu): either you trust the vertex order of your mesh, or you distinguish vertices by their vertex coordinates. More info in this post.
[/li][li]Direct import/export: as MD2 files
[/li][li]Copy timings: to transfer per-frame timings from an ani to another (select first animation, copy it (ctrl+C), select second ani, "edit"->"paste timings".
[/li]
Module management:- Spoiler:
[li]Fast ini loading: to make a quick auto-scan of the entire dataset as described in the ini- file (i.e.\ read all the included brf files for further references).
[/li][li]Module navigation: to jump from a mesh to its material and from a material to its textures/shader (and back). Use Ctrl-arrows (left/right), or click on labels (e.g. "Material") in the panel.
[/li][li]"Used-by" submenu: (the opposite of the above): you can see all other objects using an object (and load them if you want). The same menu shows all txt files making any use of that object, directly or indirectly (txt files are the one the games loads when it loads your module) .
[/li][li]Autocompletion: of texture names, etc. Also, after you copy an object (ctrl-C), you can paste its name (ctrl-V) in a text box (you can still paste the object itself in the object list, to move it from a brf file to another).
[/li][li]Verify-module tool: to scan the entire module for errors and inconsistencies: missing texture, doubled item, meshes using unknown material,wrong brf order in ini file. It's in the "module" menu. [HokieBT and Dain Ironfoot suggestion]
[/li][li]Search: to look for objects with a certain string in the name [HokieBT and Darwin suggestion]
[/li][li]Scanning of txt: so that OpenBRF knows what Meshes, Matrerials, Skeletons... etc your module is using. Objects are color coded accordingly. More info [here]
[/li][li]"Follow used": to jump from a mesh to its material and from a material to its textures/shader (and back). Use Ctrl-arrows (left/right), or click on labels (e.g. "Material") in the panel.
[/li][li]Show unreferenced DDS tool: to see what texture files (DDS and TIFs) are sitting on the hard drive unused.
[/li][li]Dump module content from prompt: if you run it from the command line (or a batch file) like this: [tt]OpenBRF.exe --dump <module_path> <file.txt>[/tt] then OpenBRF will not open the GUI, but instead it will dump an easy-to-parse text file with the names of all the meshes, materials, animations... etc found in the BRF files which are listed in the ini of the module. This is intended to be used by other mod tools, e.g. to add auto-completion or error checking.
[/li]
Screenshots:a skeletal animation displayed with a customizable skinning: - Spoiler:
multiple selection (meshes): - Spoiler:
a vertex animation: - Spoiler:
a rigged mesh, seen animated: - Spoiler:
skeletons: - Spoiler:
composite collision objects: - Spoiler:
materials panel: textures with transparency, and flags dialog: - Spoiler:
with "multi-view mode" set to "aside" you can see any number of models side to side: - Spoiler:
with "view mode" set to "scene" you can navigate with WASD keys just like in game: - Spoiler:
"search in module" window: - Spoiler:
Thanks to: [amade] for the nice icon! [Swyter] for the nice banner above [Foxyman] for completing the translation support! [Vornne] for the Unix compilation fixes! the translators: [Swyter], [Vlejundo], [Foxyman]! all testers, suggestion givers, bug reportes...: a probably incomplete list is found in the "About" screen! | |
|