HeroEngine Forums
Welcome, Guest. Please login or Register for HeroCloud Account.

Author Topic: [Resolved] Rigging question / help  (Read 1458 times)

conceptcrash

  • General Accounts
  • *
  • Posts: 10
    • View Profile
[Resolved] Rigging question / help
« on: Nov 29, 11, 11:18:51 AM »

Im create a playable dynamic spaceship character but not sure how to go about rigging it,the ship has a couple of thrusters which will animate and turrets etc)that can be added by the player.im unsure how to go about rigging it as a character.My guess was to place a "spine" joint along the main body with joints to the thrusters and export everything other than the main body as parts.
anyone have any idea if this is right or how this could be done?
« Last Edit: Oct 26, 12, 03:49:30 PM by HE-Cooper »
Logged

HE-BENNETT

  • HeroEngine
  • *****
  • Posts: 559
    • View Profile
Re: Rigging question / help
« Reply #1 on: Nov 29, 11, 01:04:29 PM »

Sounds like a solid approach.  :)
Logged

Taschenmogul

  • General Accounts
  • *
  • Posts: 34
    • View Profile
Re: Rigging question / help
« Reply #2 on: Nov 30, 11, 02:03:44 AM »

Hm, thatīs a pretty short answer. ;-)
Would love to know though how that works in general.

When you got a real walking character then itīs clear - you need those bones, you need that rigging.
When you got a character that only consists of one undeformed object without any limbs, what is rigging for then, what do we need bones for then?
Why, for example, should one even build bones to the thrusters if those thrusters will never be moved?
I would have thought that it would suffice to simply have one short spine, in the objects center of geometry perhaps, just so that the exporter doesnīt nag that there were no bones.
Or does one have to connect bones to every part of the ship that could later possibly be animated?
Say you have a spaceship with slots for weapons and those weapons will not be part of the ship but may perhaps be animated (say, rotating gatlings), is it necessary then to draw bones to this slots in which the weapons will later be put by some gamemechanic?

I would think that said rotating gatlings would have nothing to do with characteranimation per se and that you thus wouldnīt need to connect those parts of the ship to itīs bone-structure, but the "solid approach" sentence made me unsure if I see that correctly.
So anyone got any advice or general experience to share regarding this topic?
Logged

HE-Cooper

  • *****
  • Posts: 2221
    • View Profile
Re: Rigging question / help
« Reply #3 on: Nov 30, 11, 07:11:59 AM »

If you reread the original post he's talking about thrusters and turrets being animated. A ship is no different than a character if it is going to have pieces added on to it and sections that animate. The original poster outlined a specific set of steps. Bennett confirmed that those steps were a good idea. :-)
Logged

XCalPro

  • General Accounts
  • *
  • Posts: 105
  • 3D Artist & HSL Coder
    • View Profile
    • Excalibur Productions
Re: Rigging question / help
« Reply #4 on: Nov 30, 11, 08:00:43 AM »

If your using 3D Max, I would just create a root bone for the Center of Mass of the ship and then create bones for each thruster and hardpoint that will need animating. Link those bones to the root. Skin using rigid deformation and you should be ok (in theory). Doesn't sound like a complicated process.
Logged
Tony Oliveira aka XCalPro
HeroEngine Projects: Traveller 6 Online - www.traveller6.com/forum/
Portfolio: www.xcalpro.com/art

Stadi_Thompson

  • General Accounts
  • *
  • Posts: 324
    • View Profile
Re: Rigging question / help
« Reply #5 on: Nov 30, 11, 11:23:40 AM »

really depends how far you want to take it. if you plan on making it a dynamic character or a controllable character, then stick with the cs biped. creating individual joints will make it more difficult to export as a dynamic character and have the engine understand it.
Logged

HE-BENNETT

  • HeroEngine
  • *****
  • Posts: 559
    • View Profile
Re: Rigging question / help
« Reply #6 on: Dec 01, 11, 10:01:31 AM »

Important to remember, when dealing with skinning meshes to a skeleton, i believe there must be 4 bone influences on the mesh.  So a spaceship would need a "spine" of four bones.  This is due to how our animation system currently works.

Unless the parts you'll add to each ship need to move (in relation to the main body of the ship), you don't need additional joints where each one goes on the ship, just skin it to the main 'spine' joints and the meshes should maintain their position.

HOWEVER!  If you intend to make modular parts that can be used on more than one ship this may not be the best approach. You would have to re-skin all the parts to each different main ship body, thus having a duplicate file of each part for every ship (num files = num parts * num ships).

Instead, if you make the ship bodies a static character, with joints located at the attachment points, you could export each of the parts as static (or animated) assets and attach them to the ships using Bonetrackers in HeroScript.

There may be an even better way to approach this, but that's likely how I would approach it.  Using modular pieces would cut out a lot of repetitive work.
Logged

Taschenmogul

  • General Accounts
  • *
  • Posts: 34
    • View Profile
Re: Rigging question / help
« Reply #7 on: Dec 01, 11, 02:05:14 PM »

No thatīs some needed infos, thank you Bennett!
Now, if I understand you correctly (I have to admit, I donīt have experience with character-rigging or -animation in general), as long as we keep spaceships as static characters, an easy solution is attainable.
To my knowledge static characters donīt allow for tintable or swappable textures though, as I understand it, those are the sole reason for dynamic characters.
If Iīm right this then leaves two options:

a) make the ship a dynamic character and have each available modular part as a duplicate for each available ship
b) make the ship a static character, have one set of modular parts but on the other hand several different versions of the same ship for to compensate the loss of tintability and swappable textures

Now both options donīt look good.
Especially Iīm wondering which option would be best performancewise.
Say we would like the player to have a little choice concerning the looks of his or her ship, we, with option b, would then have to make several versions, textures, of each ship class. Those textures would all have to be handled then.
On the other hand, with option a, each ship class would only have one texture that would have swappable parts and tintability though, while all those duplicates of the available modular parts could still use the same respective (static) texture.
So, which of the two solutions would then offer the best performance/FPS?
Logged

HE-BENNETT

  • HeroEngine
  • *****
  • Posts: 559
    • View Profile
Re: Rigging question / help
« Reply #8 on: Dec 01, 11, 04:03:45 PM »

It sounds like you understood just fine :)

I'm not familiar with the nitty-gritty of file loading is handled in HeroEngine, but it is probably safe to say that you would get approximately the same performance either way (regardless of how many total assets exist, you're still loading/rendering the same amount).

For customization though, I have to say I've never been fond of tinting or so called 'palette swaps', a.k.a. swapping out textures.  They tend to look garish unless the tint colors and locations are very limited.

 Instead, why not create additional 'cosmetic' hardpoints (joints) for attaching meshes whose only purpose are to look cool.  They wouldn't effect gameplay, but would create a more unique game/art feel.  If you did that, option B would have no/fewer downsides.

Also, if you use dynamic characters, for every single part that can go on a particular slot, weapon, thruster, whatever, you would have to skin and export a duplicate.

For ex:

10 ships with 4 weapon slots and 2 engine slots each

10 types of weapons

5 types of engines

This would be 10 * ((4 * 10) + (2 * 5)) = 500 part files + the 10 ships

With method B, it would be 15 part files + the 10 ships.

Logged

Ivendar

  • General Accounts
  • *
  • Posts: 14
    • View Profile
Re: Rigging question / help
« Reply #9 on: Dec 02, 11, 02:10:42 AM »

Thanks for infos Bennett,

so sounds like version B is a good approach. We've already talked about if it might be a good solution to attach logos and other things as separate parts, that have some tinting options on their own, but could not yet test this out cause of the other problem conceptcrash mentioned.
Logged