As you may know, I'm working on the 3D version of my game. To do so, I choose to use WebGL as I don't want to rely on any plugin to make my game work. After looking for some 3D lib to at least help me a bit with the 3D I decided to choose Three.js which seems to offer most of what I need. Most as the body animation part is lacking to say the least.
The body animation relies on the concept of bones which are the usual method for 3D soft body animation: some inner structure of your 3D object defines virtual bones which can then move and should deform your 3D mesh. However Three.js implementation is really rough, relies on the GPU and have an hard limit of about 54 bones in total. Not enough for my game where I could have an higher count due to the number of monsters running around. Also, bones animations don't allow to have multiple animation for a single mesh, you would need to work with some kind of tricks.
For all those reasons I decided to drop the bones and instead work differently by cutting my 3D meshes in pieces, making a hierarchy of pieces and animated them myself. However I would need a tool to define the animation if I don't want to type all the animation info by hand, and here is a first rough version of the tool:
http://3d.cubicverse.com/tools/animate.html
- Drag the mouse on the black area around the guy, and you will rotate him.
- Click on the guy and it will select that part in the list on the right
- Drag the mouse on the timeline under and you will move the time to that position
- Left / Right arrows let you change the time too
- Space key play or pause the animation
- Delete key deletes the key frame
The black squares under the timeline shows where a key frame is. If your time "cursor" is over a key frame the body parts on the right may switch to red and shows which part have a key frame at this position. If you edit the 3 properties under (after having selected a part) you will actually rotate that part AND put a keyframe as well.
You may also press the save button and it will produce a JSON of your animation data. There is no load button yet as I still need to allow multiple animations for a given mesh.
Overall the tools is not far from being completed, and I may start to have monsters and animations in my game even this week.
Animation tool
- a_bertrand
- Posts: 1536
- Joined: Mon Feb 25, 2013 1:46 pm
Animation tool
Creator of Dot World Maker
Mad programmer and annoying composer
Mad programmer and annoying composer
Re: Animation tool
Man this is very impressive. I mean, I was impressed with your first game but a 3D one is very ambitious. Can't wait to see some early screen caps
w00t
- Sharlenwar
- Posts: 523
- Joined: Mon May 28, 2012 7:14 pm
Re: Animation tool
Man, I wish I could do something like this. Amazing!
Deep within the Void of Quasion, a creation.
**My Corner of the Web**
***NEW***GrindFest - My own PHP/MySQL game!
Sharlenwar's Adventures
Torn-City - Massively multiplayer online text based RPG
**My Corner of the Web**
***NEW***GrindFest - My own PHP/MySQL game!
Sharlenwar's Adventures
Torn-City - Massively multiplayer online text based RPG
- hallsofvallhalla
- Site Admin
- Posts: 12023
- Joined: Wed Apr 22, 2009 11:29 pm
Re: Animation tool
amazing as usual!
- a_bertrand
- Posts: 1536
- Joined: Mon Feb 25, 2013 1:46 pm
Re: Animation tool
Thanks, that's just to allow me to create the 3D animation. I know the new Three.js lib does support in a better way the bones, but I'm far from being convinced the workflow is ok.
Creator of Dot World Maker
Mad programmer and annoying composer
Mad programmer and annoying composer