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

Post your questions, suggestions and experiences regarding game design, integration of external libraries here. For irrEdit, irrXML and irrKlang, see the
ambiera forums
Post Reply
Neirdan
Posts: 39
Joined: Tue Aug 14, 2012 10:29 pm

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

Post 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.
kklouzal
Posts: 343
Joined: Sun Mar 28, 2010 8:14 pm
Location: USA - Arizona

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

Post 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.
Dream Big Or Go Home.
Help Me Help You.
Post Reply