Precalculated animation of complex (composite) model
Hi all!
If anyone had the experience... I'd be very grateful for the answer:
Let's consider a character, consisting of separate head, hands, body, legs & feets, weapons, which are replaced for specific X3D model (precalculated animation) depending on the armor the character wears in the slot in sperate files.
What are the «problems» in merging the parts togthere into a single mesh? I.e. I create a 'complete' model, rig it and animate. Then I cut the model into parts and push every part to a separate layer. Then I save every layer as a file and depending on the characters armor slots I create a composite model in-game.
How do I work with seams? Should I duplicate the seam for all the body parts? Or do I need to make the model seamless by code? Will I be able to animate the head separately (the character looking around, speaking).
Castle Game Engine supports only precalculated animations. I don't need the high quality, 'cause my models will be of relatively low quality :) I know it's better to make it by bones, but still?
Or is it a 'bad' idea actually?
Quake 3 (and FOSS versions like Open Arena) divide the player models into three pieces: head, torso and legs.
So the idea has been done before and is not bad idea per se, but it does make life more complicated having to transform the pieces to match the correct position.
Quake 3 uses "tags" in the MD3 model format for this, which are vertex with direction information -- you orient the tag similar to a usual vertex and it serves as the origin for the child piece. E.g. torso piece has a standard tag for attaching the head onto.
I'm not a modeler so I can't answer your other questions.
you could just use an engine that supports bones
http://www.pascalgameengine.com
andrewj
I think of Morrowind animation style. It uses precalculated animations with 6 armor slots replacing the body parts and several non-replacing. As far as I see, the initial model needs no 'tagging', because all the body parts are positioned relative to the same reference point. I'm not yet sure what to do with weapons, but this problem looks also solvable.
I just have no idea on what to do with seams betewen sub-models.
Carver413
Terra is cool. I really don't understand why I didn't see it before. And 100 USD for a license is not that much... but... anyway if I can get everything free in Castle Game Engine (and yet no idea on how to animate bones by code... maybe it's easy, maybe not...)...
In case you havent noticed the tera engine has been open sourced
https://github.com/Relfos/TERRA-Engine
bone animations can be done in blender and it is the way games like morrowind do animations. I use to do some modding in oblivion and it was the first time I used blender. if you want to learn to model like oblivion the best place to start is here.
http://wiki.tesnexus.com/index.php/Main_Page
and
http://forums.nexusmods.com/
Carver413
Thanks for the note. I've noticed it's source is available on github. But I'm still not sure about the license. Maybe I'm too new to licensing, but honestly I believe, that if something is opensourced, it doesn't mean it's free to use, reuse, redistribute including modified version (my project is not standard, so I might have to modify the engine to suit my needs and make sure other collaborators (if any) would be able to compile it). And, finally, it doesn't mean it'll remain free for the few years of the development process (or the initial payment, which is roughly my monthly salary, would provide me with respective updates, including licensing options).
Just... I won't feel safe, using TERRA. And it's years of work I don't want to spoil.
While, using Castle Game Engine I have a hope to: 1. Contribute to the engine itself or at least freely modify it (even right now I need to change the default folders for the dlls). 2. It's actively developed, and, maybe some day it'll handle bone animations and physics. 3. I've asked for support several times, and every time got a perfect answer that was absolutely useful and detailed.
And the only thing I'm afraid of, if my work is 'stupid' before it is actually done. While I'm still just starting to learn 3d modelling and animation, and then 'bump into' some unresolvable problem.
P.S. Like Castle Game Engine, TERRA is very poorly documented... actually not documented at all...
As for Morrowind... I didn't see a signle thing there that cannot be done by precalculated animations... Animals/monsters have ~5 to 10 animations. And humanoid characters ~30 to 50. Less than my game will. Maybe, it really uses bones, but I saw 'bones' and 'ragdoll' in Oblivion, but not in Morrowind.
P.S. The project I'm working on is phased rpg, so it has nothing to do with Morrowind, actually :) Moreover, my models will be of relatively low quality, I can't set a goal to create oblivion-level models working on my own. I hope for Morrowind level. And only a mircale could bring an expericenced 3d modeller/animator contributor to the project :) But thanks for the links, anyway, I'll give them a look asap. However, I think for now it's more efficient to stick to blender tutorials.
I understand your concern, just seems like precalculated animations will be costly in terms of memory and alot more work to prepare. I am working on my own bone design but it is more of a detached model design where objects attach to the bones but not each other. my goal is to create a procedural engine where most of the content could be created from scripts and in game design tools even animations. I dont have an engine at this time but I've been looking at maybe using the bare game engine in the future since it is sdl2 like my stuff.I've played with the castle game engine in the past but didn't really care for the X3D design.
Yeah... I see... however, still not sure if I'll be capable of providing enough modeling and animating to cover more than just a few basic animations... Otherwise I think adding skeletal animation support would be a more efficient way. E.g. changing something in a precalculated animation is a hell :)
I was useing CharacterFX for bones animation. It's simple and nice for some simple stuff. Also FragMotion is highly capable. However, I would suggest to try to apply motion capture files to your models. That is not so easy, gotta do some googling and hacking, but there are paths, even for free mocap data.
Bones is the way to go, and you really have to know how to access them on your engine. You can then simply parent something to a bone, like a sword to the hand, and, assuming some minimal standards in the engine, the sword animation will be relative to the hand automaticly. Full documentation is crucial in engine choice!
As for the seams, usually they are just at some not so obvious parts, like a belt, the neck, hands etc. You cannot weld those vertices since the parts are individual meshes. at least in the engines I used.
Actually, I even don't understand what you mean by "preanimated"... you mean like, render to 2D animated sprites?