Download link and main info! [latest ver 0.0.82e -- 19 Jun 2016]

Users who are viewing this thread

This would be awesome for the Berserk mod! We could actually have over-sized apostles and demons! yay!
Nosferatu Zodd, I'm coming!
 
Um... You can say so. :razz: This time, I moved it too up, that means he's floating in air ... lol ...
 
Brilliant! So we can just shift root bone using code or something? Thats great news if one wanted to make something with sort of human proportions, but say, short legs.
 
mtarini said:
  • Here is a little 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 substitute the old BrfEdit by triglav (which is discontinued and whose source was never released AFAIK).

    It is a WIP, but it is already usable to some extent....


    Download:
      ver: 0.0.11  alpha (14 Aug. 2009) 
      [exe] (unzip and run) 
      [source]

    [[[NOTE: to access most functions, right click on the item you intend to process in the item list on the left.]]]


    Progress:

    - Reverse eng of BRf format: [DONE]
    [objective: be able to read and interpret all structures in BRF files...]

    •    
    •     Mesh (including vertex-animated and rigged): [done] (a long ago)
    •     texture, materials, shaders...: [done] (was very easy. Not that it was necessary, but just for completeness).
    •     Collision objects: [done] almost done. A few kinds are missing. (not that it is necessary, but just for completeness).
    •     Skeletons: [DONE] (that was a bit more interesting)
    •     Skeletal-animations: [DONE] (it was great fun)


    - Looking at objects
    [this is not so important, except for skeletons and meshes, and will be done either just for completness or to fulfill any specific request]

    3D display (rendering):

    •    
    •     Meshes: shown with vertex-animations, lighting, wireframe, per-vertex color[done]
                        textured: [done]
                        rigged meshes shown animated. [done]
    •     Collision objects: shown (all kinds)(sphere & capsules are still wrong)[done]
    •     Skeletons: shown [done]
    •     Skel-animations: shown animated looped[done] also, with customizable skins

    [texture searching for meshes is a little crude... they are looked only in relative path "../textures/". I will fix this]

    Display of object attributes (e.g. flags or used materials):

    •    
    •     Meshes, Animations, Textures: [done]
    •     all else: [to do] (I'm lazy)


    - Saving: [DONE]
    [be able to save the modified brf file]

    - Exporting-importing: 
    [be able to export stuff, so that they can be modified in other apps and reimported]

    •    
    •     Meshes exported/imported in a variety of formats: ply, dxf (autocad), dae  (collada), obj (wavefront), off. [done].
      (not all formats allow to export vertex colors or normals. Normals are recomputed if missing).
    •     Rigged meshes : export/import as SMD [done]
    •     Vertex-animated meshes : [to do]
    •     Skeletons: export/import as SMD [done]
                                    also, export/import as a control mesh [done]. (new)
    •     Skeletal-Animations : export/import as SMD [done]
    •     Collision bodies: [to do]


    - Editing: 
    [to be able to change stuff from within the editor]

    Basic functionalities: remove, rename, duplicate, move objects in the list [done]

    Cut and paste objects to easily move them from a brf file to another [done]

    Direct editig of MESH attributes (flags, materials...). [done] 
    For other items: To do.

    Plan: Unless needed, I would do very little more that that. All the rest, I would rather do by exporting-reimporting.
    Edit: maybe add a vertex painter... [triglav]


    Other features:
    [other planned, proposed, or released features]

    •    
    • autobreak-up of animations into sub-sequences: [DONE] 
      (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 folloiwng 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.
    •   customizable skinning for animations: [DONE] rigged meshes can be enlisted to compose "skins". Skins are sets of user-selected rigged meshes which are used to display skeletal-animations.  Similarly, animations can be set as "reference animations" so that you can see your rigged meshes under that animation. This mechanism is 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).
    •   simplified skeleton modification though meshes: [DONE] (new) this is for allowing to change the skeleton w/o using an animation program (small thing, mostly for myself). Export a "skeleton modification mesh" in any mesh format. Edit the mesh using any program (but don't change bone size, number or shape: only their orientation and positions). Now you over-impose to that mesh over the skeleton, to modify bone positions (inheriting all else, including bone names, bone connections and what now).
    • reskeletonize tool for rigged meshes: [DONE] (new) Say you have a rigged mesh, a body for a skeleton "human", and a new skeleton for an something else. You can deform the mesh to follow the new skeleton. This is not supposed to be perfect, but can be a start. 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).
    •   search function: [TO DO] to look for a given sting in mesh names, matrial names, etc. [HokieBT suggestion] 
    •   vertex painting? [TO DO] maybe just use export/import instead, and edit colors with external app? (maya? 3DS? blender? meshlab?)



    Update logs:

    ver 0.0.11 (14 Aug):
      - this time blender and 3DS should like exported skeletons/rigged meshes better...
        (important: openBRF won't understand SMD exported by prev version... again. Last time, hopefully)
      - bug fixes (as ever), including mirroring of everything (big deal) and addition of non-rigged meshes to skins
      - skeleton-modification trough meshes (see above)
      - reskeletonization of rigged meshes (see above)
      - better handling of multiple skeletons (but it is up to the user to use the correct skeleton)
      - minor interface improvements

    ver 0.0.10 (13 Aug):
      - considerable internal changes. Hopefully now SMD exports are blender-compatible too.
      - bug fixes of all kinds
      - a few cosmetic changes

    ver 0.0.8 (12 Aug):
      Added back compatibility with M&B 0.808 materials and skeletons.
      Export/import of rigged meshes (SMD):
            - added a x10/x0.1 scale factor for coherency with what old BrfEdit exported.
            - (also, now if a vertex is connected to >4 bones it tries to fix it, instead of complain and die.)
      Export of animations (SMD):
            - changed stuff a bit, to see if now 3DSMax likes them better.
            - added a file format option to correctly import SMD files that were originally produced by old BrfEdit (or their derivatives)
      Bug fixes on load, GUI improvements...

    ver 0.0.7 (11 Aug):
      Export/import of rigged meshes, animation and skeletons as SMD.
      Better handling (visualization) of {vertex animated}-meshes,  and of {vertex-animated}+{rigged} meshes
      Collision objects BRF reverse-eng minor fix (does it undersrtand all of them now?).
      Lots of minor fixes.


    Open questions:
    [please help anwering those]
    [Thanks to those who answered.]

    Skeletons and their animations:

    1 - provided that we could add/re-edit new skeletons, can we then set creatures (mounts, characters) to use them?
      (Maybe, if we disabled ragdolling...)
    2- same question, for skeletal animations.
    3- how much can we do by just editing animations (and thus, poses)?
      For example, could a troll be a pose where the head is higher and the shoulders are wider apart?
      Answer: NO Poses only define bone rotations. An animation cannot make the head any higher or shoulders any wider apart.
    4- what is the best "export/reimport" way to edit animations?
      Answer: maybe SMD  [thanks getAssista] or COLLADA [thanks giles]

    Hit boxes

    5 - are they hard coded? Where are they?
      Answer: the only control we have is the skeleton scaling factor inside an ini file[thanks octoburn]




    Screenshots:


    skeletal animations displayed with customizable skinning:
    openBrf6c.png



    multiple selection (meshes):
    openBrf2c.png



    vertex animation:
    openBrf1c.png



    skeletal animations:
    openBrf3c.png



    composite collision objects:
    openBrf4c.png

zomg.. *squeel! you are mein hero!!
 
mtarini said:
:shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock:

That is a mayor find!

Outstanding!

Apparently, that's where:
- ragdoll parameters
- hitboxes
data is hidden!

WOW!!!

Edit: more detailed explaination

In that file, for each bone, I see that they specify:
  • Ragdolling parameters: like mass, maximal angles and other constraints
      (for example, so that the ragdolling cannot bend the knees backward)
  • Bodies
        "Bodies" is how M&B calls collision objects.
        In a Brf file, a "body" is a small set of objects (often one), that can be of various kinds.
        In that "skeleton_bodies.xml" file, all bodies I see are composed by a single object of the kind "capsule".
        "Capsules" in M&B terms (used by brf files) is a collision object which is a cylinder.
        It is defined by the two points, which are the centers of the two bases, and a scalar radius.
          I know because I interpreted the "body" for the catapult (see screenshot on 1st page) which
        in composed by several "capsules" (and one "manifold", that is, a closed mesh)...

Err, that's a file I edited when I got that third skeleton in the game I mentioned in our PM's. :razz: (I guess it no longer needs to be a secret :wink:) I thought you knew about skeletsons.xml...
I believe the guy who made the ironlauncher mentioned it was only something to do with ragdolls, but if you say that it also deals with hitboxes, then all the better. :grin:


EDIT: I think this is still pretty useless untill we can actually edit the core animations that a new skeleton uses.

I mean... That giant for example - probably looks retarded with the regular animations. (When he hits something he should be pointing downwards, etc.)
And if we want to make something *ok* for a mod (Trolls; orcs; giants; etc etc.) we'd need different animations anyway. I don't see any way to add a whole new set of default skeleton animations. Is there?
 
I think trolls (1,5 - 2 x man size) or dwarves should work even with normal animations..
 
Highelf, actually, if you give the huge giant a really, really big weapon it's kinda fine. :razz:

Merlkir, you're right. Up to 2x is pretty much fine. That giant I made ... I lied before, I made it, like, 10 times larger than normal. :grin:

QuailLover, yes...

Austupaio:lol:.

I made that giant, tbh, as a test, to see if even skeleton sizes are hardcoded. Guess what, they aren't. I think you can make a skeleton as big as the skybox is.
cdvader
 
Just a question. What is the purpose being able to see the animation skeletons?
We can still not edit them, right? Or have you done something about that?
 
Being able to see the... skeletal animations? or the skeleton themselves? they are different objects

Anyway, both are editable (I mean: exportable, editable in your fav program, and re-importable)

(mind you, we just discovered that data/skeleton_bodies.xml must also be edited to match, in order to include it in the game.)


Edit: also, I'm trying to make OpenBrf a tool that can be used to reliably preview how things will look like in the game.

 
Ehm, why, yes. Select a skeleton. Export it "with skin". It exports the skin and skeleton in the rest pose, in a single SMD file. Import it in, for example, 3DS or maya. Animate it, i.e. build your new animation. Export as a SMD again. Import in OpenBRF as an animation.


(beside, having animations in OpenBRF is also useful to preview how the rigging fares on the rigged meshes).
 
Back
Top Bottom