Page 1 of 1

Spore-like: one animation, multiple body parts meshes - how?

Posted: Sat Aug 23, 2014 1:49 am
by Neirdan
Hi, sorry for the title, I couldn't describe it better.

I want to generate pseudo random creatures like Spore did (https://www.youtube.com/watch?v=dRovPCiBBTw).

Basically, the animation would be the same, stored in a file, but every "creature" would be with custom face/arms/legs/hands/feet, and I'm wondering how to do that.
Contrary to spore, number of bones will be fixed, same as the global "posture" of a creature.

Here are few ideas I came up with:

-Create a base body for the chest & neck, attach meshes to bones - it would mean that it could lead to glitches or not visually appealing result

-Create a base body and "spare parts" (legs, head, etc) and batch them together in a single mesh by adding new faces (indices & vertices) that would connect everything - This would be, I suppose, more difficult because I'd have to know which vertex/indice I must connect with what, but the overall result would be better.

-Other option?

I don't know if I have to model and animate everything separately or together, and what will be the influence of using an external animation, if the coordinates used are relative or absolute and how would multiple meshes react.

Re: Spore-like: one animation, multiple body parts meshes -

Posted: Sat Aug 23, 2014 2:11 am
by kklouzal
I played a lot of spore and this is my conclusion, it would have to be very carefully implemented, but if done right could open the door to a lot of possibilities.

First, each 'creature' starts off with a Base bone, the 'backbone'. You're free to form this in any way you like on a 2D axis, X and Y.

Second, each 'feature' of the creature is predefined, legs, arms, eyes, etc.. You are free to place these onto the backbone in anylocation you please, with minor restrictions, arms and legs come out of the 'sides' of the backbone (protruding out of it's z axis). Each feature also has a predefined skeletal animation which properly scales to the length of the feature thus allowing players to make long legs, 4 legged creatures where two legs are longer etc..

Third, Inverse Kinematics(IK) would almost be a requirement so legs would properly touch the 'ground' otherwise I can't see walking animations ever working quite right.

Side note on animations: My best guess is each appendage would need a minimum of two bones. There would be a 'master' animation for each appendage type, depending on how a user morphs their creature, the resulting bone positions would have to be delta'd between the master animation based off of how many bones they ended up with, their size and rotation

This should give an idea on how it could be done, I don't know if this is exactly how Spore did it. Feels right though.