Rigging - A documented workflow in trueSpace

User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Rigging - A documented workflow in trueSpace

Post by Draise »

I have started to try make some interesting rigging experiments to learn how to use and take advantage of trueSpace's powerful FK/IK rigging system. So far I have managed to fully rig, and skin weight a simple rig with a stretch ability, but I can't get any squashy/stretchiness yet. I am thinking to link some extra bones to the rig that will change size when a value of another bone changes soon, more experimenting.

Image
Unstretched

Image
Stretched


!
TIP 1!
Keep the end of your skeleton bones/arms always with a final joint to cap it off. If you do not, it will crash trueSpace when you move the rig. It's a stupid bug, but it's also a simple fix.

!
Tip 2!
When you add a joint with stretch in it, make sure it has NO rotation value in it, or else the skin will deform unprecedentedly, if not crash trueSpace. Also, when you do the weight painting, make sure the lower bone under the stretch joint has NO skin weight, which will also cause unprecedented skin deformations and anomalies, if not crash trueSpace.
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

My theory worked, partially.

By expanding the desired influenced child joint matrix_in and parent joint Wldmatrix_out, and using some binaryoperator nodes to offset the values upon change, you can influence one bone's rotation to it's Z axis (stretch). Thus a muscle, if you add some triangular bones in the say.. an arm, in theory.

Image

Image

But it doesn't work practically because the Wldmatrix_out values used in any joint are World Matrix values. So if you rotate the whole skelaton, or move it around, it will influence each joint matrix value accordingly, thus creating undesired muscle joint problems when you link their matrix values.

Tho, a curious feature is that the matrix_in of the joint is an Object Matrix value, so you could link that to a slider and create a muscle on keyframe demand. Maybe there is a possibility to link another Object matrix to the bone Z axis to get the muscle... or the squash and stretch.
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

One thing I very much like about the skin weighting in TS is that you can have overlapping skin influence from multiple bones!!! Incredible! I don't know why major software like Softimage doesn't do this!?!! Or does it?

I also figured out a way to create squash and stretch using a slider. You won't be able to push and pull the skelaton to squash and stretch, but by using a control. No biggie. But you will still be able to quickly pose it.

So there you have it, my theory of a slider for a squash and stretch rig can happen, and all I need is to create a perfect rig, and be very clever on how to distribute the deformations. The squash and stretch could also work for muscles. A little more tedious to animate as you can pose and have the muscle deform, but you can pose then have the muscle deform with another control. That opens up possibilities.

Image
Structure for the squash and stretch, or muscle

Image
Implemented using the slider. The deform weights are messy at the moment..

My next and only concern is blending animation clips. Also the lack of clip weight animation capabilities. If I could get smooth animation, with the Fcurves and dopesheet, one could make something very nice.

!
Tip 3
If you don't want to move any squash and stretch without using the control, make sure the squash and stretch joints have no axis. Why? Because the joint matrix is what gets influenced by the control, not the IK information from a skelaton pose.
froo
Captain
Posts: 2554
Joined: 22 May 2009, 12:13

Re: Rigging - A documented workflow in trueSpace

Post by froo »

As I understand, you will run into trouble when you try using multiple anchors. A single anchor may be ok I think.
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

Thanks for the heads up Froo!

I followed your clue and found that yes.... indeed the constraints can cause terrrible skin problems upon animation. But a simple solution to perfect skin deformations in animation is to animate the constraint Matrix and Fixed key's along with the joint Matrix's.

!
Tip 4
If you have multiple constraints that you use, change and move during animation: don't forget to animate their "Matrix" and "Fixed" keyframes when you pose! If you don't, the skin will be left where the original position was, even though the rest of the rig deforms.
froo
Captain
Posts: 2554
Joined: 22 May 2009, 12:13

Re: Rigging - A documented workflow in trueSpace

Post by froo »

Hmm I'll have to check that out.
When did you discover that?
Have you tried setting up an animation sequence, then shutting down tS, and restarting, reloading the scene?
That was another issue as I recall.

COol.

:bananacheers:
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

I figured it out as soon as I saw your post! Had to put your clue to the test. I have also tried closing and opening it all up again, no problem. I haven't done heavy animation yet though, due to limited rigs, like with move and rotate and all that.. maybe I will. but it seems to be working. It's very cool to see something move with the realtime preview and my card.
User avatar
BNG
Chief Warrant Officer
Posts: 684
Joined: 16 Oct 2009, 03:26
Type the number ten into the box: 0
Location: Texas

Re: Rigging - A documented workflow in trueSpace

Post by BNG »

I wonder if it's possible to rig a model in workspace and then switch over to modelside to actually animate it? Never really tried this. Most of my rigging has always been done on modelside. I'm guessing changes made to 7x rigging are vastly different from the older versions of Truespace. Is this pretty much the case?
v3rd3
Lieutenant Commander
Posts: 1191
Joined: 21 May 2009, 20:04

Re: Rigging - A documented workflow in trueSpace

Post by v3rd3 »

Sadly no... the bone system in workspace is workspace and the model side is model side.... ne'er the twain shall meet.... unless there is a twain on the same twacks.... :bananamad:
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

@froo: Ok, I finally found your error.

And a solution.

After posing a figure and closing, automatically saving the scene.. and upon load again, the rig was corrupt. Very corrupt. It was just a pose, but the rig had no keyframes.

I then opened up the scene with the keyframed rig, and no problems.

I assume that if a rig is posed, then the scene saved, there is not enough information in the skin or skeleton saved with their offsets to then reload to manipulate again. With a keyframe, you save all that information into the scene and into the keyframe, so the pose stays intact.

(Instead of trueSpace thinking the rig and skin is at it's default matrix when it's already in a pose, thus causing havoc to the rig and vertices when you move it)

I am yet to test it again..
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »


!
Tip5
Never have joints with translation axis and rotation axis in the one and same. Skinning the like will be incredibly difficult and unprecedented.

!
Tip6
Never have two coincident joints both with translation axis together. Better to couple with rotation joints or solid joints. You rig will corrupt upon movement.
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

Draise wrote:@froo: Ok, I finally found your error.
I again found another error... :?

If you expand the matrix value of a joint then pose the rig, all the rig's joints increment a value when you change the pose. Thus making any pose impossible. It doesn't matter which joint has an expanded matrix value, this will happen.

So, making controls for Joint's matrix values are out of the equation........... :(



I also am figuring out what was happening with the constraints and causing strange terrible errors.

If you change or edit any constraint after skinning, you pose risk of corrupting your constraints.

!
Tip 7
I you are going to have constraints, be aware to add them BEFORE you bind the skin to the skelaton, or else you will cause corrupt constraints.
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

I completely forgot this step! It has caused me many issues and is a stupid stupid one! Even pro programs have this problem!!!

FREEZE YOUR SKIN MESH BEFORE BINDING TO THE SKELETON!

!
Tip 9
Freeze history and freeze scale, translation and rotation of your skin mesh before applying the skin to the skeleton. If you don't you will get many unprecedented constraint/skin errors.
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

Another hiccup. Indeed you guys weren't wrong about it's problems!

But there is a way. It's good enough for something.

So here is a problem with my Squash and Stretch Rig.. the envelopes.

Image

Image

I trashed that idea and made morphs for muscles at least. I am yet to prove a squash and stretch method. but using that, I can link a joint's yaw to a muscle morph like so:

Image

Image

Image

Now to try out the stretch/squish concept...
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

Image

Success.. more or less.....

Image
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

I'm figuring out how to envelope the stretch bones in accordance to my stretch morphs. I have decided to disconnect the bone TZ matrix to the morph, because it's a world matrix and moving the rig around the world space changes the morphs. So i will have to setup and animate the squash and stretch morphs depending on need. No biggie, just an extra attribute to keyframe. Also, it won't stretch nor squash without user input, a little more things to click and move around each pose, but considering the simplified full body IK rig, the clicks and movement is still cut by half compaired to traditional rigs.

So then, again, try not to have the stretch bone have any envelope weights, because that makes the stretch morph kinda weird. Elsewhere, calculate how much of the bend or influcence of the morph over your character per usual, softeneing the bend where you need it, and the morph will make some cool effects when you pull the arm out, and then add the morph deformation.

Image
Stretch low, morph off.

Image
Stretch up, morph on.

Image
Stretch and bend, morph on.

Image
No stretch, bend, morph off.
User avatar
Tiles
Master Chief Petty Officer
Posts: 401
Joined: 27 May 2009, 08:34

Re: Rigging - A documented workflow in trueSpace

Post by Tiles »

I see you have found the most common problems now. But don`t worry about the current hiccups. There`s tons more bugs and hiccups to explore and to find. You have just scratched the surface ;)

I don`t want to stop you from having fun here. But that`s basically all you can do with the tS bones: having some fun. My advice is as is: to stay away from the trueSpace Workspace bones. The bones system looks nice. But it`s simply not stable enough to be useful. A simple pose may work. A very basic animation too. But the more advanced you go the more disfunctional the stuff is.

You are still at rigging. The fun really starts when you try to animate then. Unexpected shaking, lost keyframes, stretching bones, total imprecise movements, joints go crazy, bones go crazy, weighting go crazy, up to fubar and a full blocking so that you can`t edit anything anymore. There`s simply minimum one year of development missing, maybe even more. And that`s nothing that you can fix with passion :)
Free Gamegraphics, Freeware Games http://reinerstilesets.de
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

Thanks for that! I guess......

I think I found most of the errors that could happen with bone, joint and envelope issues for now. I know what causes the craziness and steps to avoid that.. so far so good....But the missing keyframes, vibrations and rig blocks I have yet to witness. That's a bit concerning. :|

But yes, I understand I'm doing this just for fun... mainly this little web animation series is just for fun and to squeeze what little fun I can out of TS and directX9. Maybe if it all works out, I could sell the product to my business' producer. ;)

It's also my way of learning how to make the most of a game render engine. Later I'll get into Unity3D or Cryengine3 or something like that to do what I want to do with GPU enhanced rendering techniques..

I found another issue: default pose and reset default pose. The reset default pose has some odd offsets in one or two joints. I have yet to try a solution, either creating a default pose with the envelope, or without, flattening history.. or just seeing what's up.
User avatar
Finis
Captain
Posts: 5410
Joined: 21 May 2009, 18:26
Type the number ten into the box: 0
Location: America!

Re: Rigging - A documented workflow in trueSpace

Post by Finis »

As long as you understand that TS can't do "skin and bones" animation on workspace or modeler then Have Fun! Even if you succeed then you've shown how broken or unfinished it is that tips 1 to 61361 were needed to do it.

You had a great idea about using bones for squash and stretch. I might try that if I ever learn Messiah Studio, or if Blender can do it, or I win a lottery and get Modo!
I prefer dangerous freedom over peaceful servitude. -- Thomas Jefferson/Jean Jacques Rousseau
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

finis wrote:@this thread:I appreciate the efforts and accomplishments of the programmers who have made plugins etc. but workspace was never anywhere close enough to finished to be other than a demo of interesting ideas. Invest effort in learning other software instead of workspace and maybe instead of TS. After this image I'm learning Hexagon before doing another 3D project.
Yes, the squash and stretch model is fairly standard and needed for cartoon animation. I work more in Softimage and that's where I specialize. Using similar node based rigging, you can create expressions, or parameter links, to anything, including shapes and other ICE attributes or rig aspects. It's a bit a nightmare to do it, and the schematic of your rig begins to look like a spiderweb from all the expressions that link this to that to this to that. In some of my Senflores WIP's I explain a little on those concepts. I used GEAR to help build my rigs in Softimage, you can also use that free opensource plugin for Maya. It gives you an idea of what you need for a rig, including squash, stretch, controls, constraints, everything.

Truespace can do that limitedly, and in concept, but the bugs prove much of an effort, you're right. But maybe if I get rich and can pay people to de-kernel the DLL's and fix things up, I would!! 8-) So a little documentation of what does and doesn't work may come in handy, a troubleshooting.

I'm just seeing where and what the bugs are, and if the animation fails me too much, I'll go to a "stopmotion" style animation with constant keyframes and poses, like animations on MTV or cutout animation styles (frozen keyframes that snap to and from different poses for the desired effect). Posing with a full body IK is too much fun! And not having to render is also a great payoff for all the trouble.

Disclaimer: This debugging/troubleshooting of trueSpace is just a hobby to relax while I professionally use Autodesk software, and other ones for my means.

Don't worry! Most of my effort in the week, the 10 to 15 hour work days, is all in Softimage or other free software.
User avatar
trueBlue
Captain
Posts: 5548
Joined: 06 Jul 2009, 22:50
Type the number ten into the box: 10

Re: Rigging - A documented workflow in trueSpace

Post by trueBlue »

I have been very interested to see you succeed. Sticks tounge out at all the naysayers... :P You might want to check out the Avatars in the tS7... libraries. The person (tS7... beta tester) that created and rigged those characters worked closely with the developers. I remember it was very important to keyframe the Default Pose in the begining. Note all of the Morphs. BTW...couldn't you use Morphs for squash and stretch? You can keyframe morphs too.
Thanks for all of the tips!
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

Thanks trueBlue! That is encouraging! And I will have to try out the keyframing-the-default-pose solution!

Yes, the last few posts were morphs with the bones. They too will be keyframed. I think that will be the best squash/stretch/muscle solution, as you say.

I'll keep the tips coming! I've officially started rigging Minlis, my Alkathosk character.
User avatar
Steinie
Captain
Posts: 2958
Joined: 21 May 2009, 17:38
Type the number ten into the box: 10

Re: Rigging - A documented workflow in trueSpace

Post by Steinie »

I've done a few animation with workSpace bones and didn't have many problems. However I keyframed everything. I too hope you explore trueSpace workSpace, there are more positives then negatives depending on your workflow. You have the right mind-set.
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

Thanks for the encouragement Steinie!

!
Tip 8
Never scale your constraints. The scale attributes for the widget are not stored or get confused.
If you do so, later when using constraints in a pose, everything will go haywire.
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »


!
Tip 10
Make sure you scale your reference skin mesh before you begin rigging. Due to not being able to scale constraints, it is best to have the constraint placement placed as needed with their adequate default size. A simple equation to think of size is if your character has a BB size of 2 digital meters, scale it to 4 and it should be to size.
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

I think I have overcome most of the bugs considering building rigs. I have yet to test everything, but to this point I'm having a good time.

Now to talk about IK handles...

!
Tip 11
When creating IK handles, make sure your handle has a reference constraint! If you don't, things get weird.
How do you do this? Well after clicking a bone to create a handle, click on a constraint, and the constraint will light up. This now is the IK handle's reference constraints (tip from manual).

!
Tip 12
Rotation and Position constraints will lock the joint BEFORE the bone it's place.

!
Tip 13
For animation, beware to keyframe ALL matrix values in your rig, including joints, IK handles, and constraints. If you do not, you will have unprecedented errors that may screw your rig and/or crash trueSpace. If you need quick access to the Matrix attributes in the keyframe attribute browser, export all matrix value to the root in the LE (tip from manual) and label them accordingly.
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

I found an error with some rigs, once enveloped, then later trying to subdivide it, immediately crashed trueSpace. Meanwhile some rigs already subdivided and reduced to the root detail level didn't have this error. I assume an enveloped mesh must be SD before you attach a skelaton...
User avatar
clintonman
Captain
Posts: 5659
Joined: 21 May 2009, 21:08
Type the number ten into the box: 0
Location: California

Re: Rigging - A documented workflow in trueSpace

Post by clintonman »

I did a quick test and don't have any crashes subdividing an actor. Maybe the crash is from a combination skinning and something else.

I did find out that if you subdivide a skeleton it doesn't work anymore. It's silly to subdivide a skeleton, but I thought I'd mention it anyway.
Clinton Reese

http://clintons3d.com
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

I was testing on the pre-estahblished characters in the libraries. I found the Tank Girl with IK handles made it crash when I tried to subdivide her...
User avatar
trueBlue
Captain
Posts: 5548
Joined: 06 Jul 2009, 22:50
Type the number ten into the box: 10

Re: Rigging - A documented workflow in trueSpace

Post by trueBlue »

I think that character was rigged in tS7.5 or tS7.6. Not sure if there would be a forward issue as tS7.61 went through some significant changes. Nevertheless I was able to sub divide all three body parts after I engaged the Point Editor first without a crash.
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

Must be a setting somewhere in my trueSpace setup... But good to know!
User avatar
Tiles
Master Chief Petty Officer
Posts: 401
Joined: 27 May 2009, 08:34

Re: Rigging - A documented workflow in trueSpace

Post by Tiles »

Hm. I remember some problems with characters that were rigged with an older version of the bones system. Seems that you stumbled across one of them :)
Free Gamegraphics, Freeware Games http://reinerstilesets.de
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

I had some slow weighting issues.. but later found it was because the texture had to refreash (as if you painted an object). If you have large maps and a lot of detail or lighting, this can slow things down a lot. The following tips are just UI and memory efficient tips for a number of things. You don't need to follow them, but they help me out.

!
Tip 12
If you are finding your skin weighting to be slow, try do the weighting on a blank DX shader. Complex shaders will refresh each time you select or highlight a bone, causing not very fun waits as you weight (pun).

!
Tip 13
If you have many objects or an object with heavy detail maps or shaders, delete the shader ball from the Default tab in the object node. The shader ball will refresh each time you select the object and this takes a long time sometimes.
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

I've been working on my rig today and found the Morph controls to be very powerful. But I did find something strange happen for a moment, and found a fix.

!
Tip 14
If you create morphs into a rig and modify the node structure for morph controls later, then find your rig to appear like it lost all rigging envelopes: Don't panic! Just activate the weight tool and this will reactivate the rigging envelopes.
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »


!
Tip 15
When you animate morphs, make sure you have a default pose track, and then a few morph tracks with "pass through" disabled and "additive" also disabled. Animate your morph animation in those tracks, then add "Additive" tracks for the skeletal animation. after the morph animation.

If you do not do this, the morph animation in tracks within any additive track or tracks after an additive track will corrupt your scene and rig, with no way of recovering unless you reload the scene or object.
User avatar
Draise
Captain
Posts: 3200
Joined: 21 Sep 2009, 19:33
Type the number ten into the box: 0
Location: Bogota, Colombia

Re: Rigging - A documented workflow in trueSpace

Post by Draise »

Interesting.. you can offset any animation using a parent object, for example if he is walking in a cycle, you can use a parent object (clintons parent script) and move him around without having to pull the rig (thus cleaner rig movements).

But you cannot layer rotation animation clips to offset rotation. The matrix keyframes are world based, not object based.. so absolute in 3D space. I assume...

Return to “Animation”