Toon Character Torque Export Problem

   42778   67   1
User Avatar
Member
82 posts
Joined: Nov. 2009
Offline
That makes sense. I guess I will just do the same :-)
User Avatar
Member
82 posts
Joined: Nov. 2009
Offline
Well, I would like to know how you tested this fix. I must still be doing something wrong. I get nothing when I export to Torque.

I have uploaded my hip file. Please let me know what I am doing wrong. It is probably that I am pointing to the wrong geometry, but I can't figure out any other geo to point to.

All I did really was create a new project, import the toon character, make the deform rig allow edits and other nodes inside it allow edits. I then added Divide nodes because Torque output requires triangles only.

I then added the Torque output node and set up the fields in it. The one thing I noticed was that the auto bounds it creates is way too tall. I manually created a bounds object and the works.

I then Render the Torque node. I get a valid DTS file, but it has no bones or geometry in it.

I am using ShowTool Pro to view the DTS file.

Attachments:
ToonTest.zip (594.7 KB)

User Avatar
Member
82 posts
Joined: Nov. 2009
Offline
I forgot to mention that I am using the 583 version now. I got it from the daily builds section.
User Avatar
Member
69 posts
Joined: March 2008
Offline
About not getting geometry to export:

Are you giving ‘detail’ numbers to that particular geometry you want ‘rendering’ upon export correctly? That is ‘usually’ the fault when polys aren't rendering inside the Torque engine. Conceptually, the engine wants to know at what pixel height on screen you want the geometry rendering, so you need to append geometry with numbers. The setting of detail ‘levels’ or numbers is done in the ROP tabs. You will need to navigate to the actual geometry that is textured, weighted and being deformed by the rig/skeleton, not the ‘auto rig’/proxy stuf. From your description; you are exporting the proxy geometry, not what you want. You want the nicely textured weighted ‘outer’ mesh…I assume.

This was the hardest part of using the AutoRig toolshelf I found; matching the right geometry with right skeleton.

There are some very nice online avatar creation content providers now, that cater to the Torque/gaming community; Evolver springs to mind immediately. DAZ 3D is another solution with their latest digimi service I saw at GDC `10.
User Avatar
Member
82 posts
Joined: Nov. 2009
Offline
I am creating the detail sections in the torque exporter. I have a different model that I have created that does NOT use the auto rigging stuff and it works fine, so I must know how to do that properly.

Do you have Houdini? If so can you open the sample file I uploaded and see if you can figure out what I have done wrong?

The only geometry I can find is what is inside of the auto rig.

All I did was create a new project and put the Toon Character on it and tried to get it to export to Torque. This is a test as once I get it to work I will have to auto rig my own model, but I wanted to start with something that anyone with Houdini could duplicate until we get it working.
User Avatar
Staff
329 posts
Joined: July 2005
Offline
tpitman
I have uploaded my hip file. Please let me know what I am doing wrong. It is probably that I am pointing to the wrong geometry, but I can't figure out any other geo to point to.

There is a problem with the path to the geometry: “/obj/toon_character1” is an Object Network (not a Geometry Object). This can be fixed by clicking the “Initialize Details From Scene” button on the Torque ROP. You should be able to export the geometry after fixing the path problem.
User Avatar
Member
82 posts
Joined: Nov. 2009
Offline
WOOT! That was the missing piece I needed. Thanks! Now I can move on.
User Avatar
Member
82 posts
Joined: Nov. 2009
Offline
So now I have a model done with auto rig that exports the geometry that I have animated.

Since I am so new to Houdini I need some help understanding some things.

When I made my own model and used simple bones I applied my material by having a single PNG image that matched the entire model's UV. It had a single UV map for the whole model.

So now I am using the auto rig stuff. When I told the Torque exporter to “Initialize Detail from Scene” it created several Linked geometry entries. As I look at these linked geo entries I notice that they have paths like:

/obj/Zombie/Zombie_Auto_Rig_animation_rig1/spine/proxy_lower_back2

As I look at each of those I can see that they are all over the place. This causes me a problem because I need to do things like apply polygon reduce SOPs and also apply my single PNG image to the whole geometry.

How am I going to do this? Can someone explain to me what these proxy geometries are actually pointing to? Do they all point to a single geometry somewhere?

I followed the Quadraped tutorial in setting up this model so it involved several places where I had to write out a .bgeo file and then set another node in the chain equal to that .bgeo file.

Can someone spend some time and help me understand the whole thing please?
User Avatar
Member
82 posts
Joined: Nov. 2009
Offline
I was thinking about this over night and thought I might clarify what I need to know.

I followed the quadraped tutorial. It has you start with a skin and add the auto-rig. He uses the quad, but I used the biped. That shouldn't matter and doesn't seem to.

My posting from here on assumes you have watched the tutorial so that I don't have to give all the details in order to ask my questions.

He then has you set up some things in the auto rig that gets created including setting a path for a proxy file.

Then he has you hit the create/modify/match rig. This creates a animation rig and a deform rig. I then have to set up some things on the animation rig including some properties that don't get automatically created. After setting up all the stuff in the animation rig he has me create a duplicate of the animation rig.

Then you dive into the deform rig. I set the bgeo file created above into this rig as well, create some key frames and then do a bunch of weighting using weight painting. There are several nodes inside the deform rig that I don't understand. After doing a bunch of work in the deform rig you go back up to the top.

At this point you can assign either the animation rig or the duplicate to the deform rig and move them around and it moves your skin.

So here are the things I would like to better understand:

1. What are the auto rig, animation rig and deform rigs exactly.

2. Inside the animation rig there are nodes like this:
/obj/Zombie/Zombie_Auto_Rig_animation_rig1/spine/proxy_lower_back1
They don't seem to actually point to anything and yet they are what the Torque output renderer pointed to when I told it to Initialize Details From Scene. What are they and where are they pointing?

3. If the nodes in question 2 above point to a single geometry somewhere can I work on it for material assignement and such?

4. How does the animation rig associate with the deform rig and my original skin?

5. Inside the animation rig is a SOURCE_GEOMETRY. What is that?

6. Inside the deform rig is a skin node. Inside there are several branches and a couple places where you output files and others where you input files. I know these are used for “baking” along the way, but how does that affect my original skin and its material and other things I have applied to it?

I would really just like to totally understand what all is going on and where everything is pointing so I can better work with this and get what I want out of it.
User Avatar
Member
1908 posts
Joined: Nov. 2006
Offline
1. The Auto rig is basically the setup rig. You use it to position the rig controls, create proxy geometry for the animation rig, as well as create and modify the animation and deform rigs. The Animation rig is the rig that is actually animated by the animator. It contains the full animatable body parts with numerous controls. It reads in the cut up proxy geometry that is bound rigidly to different parts and provides visual indicators of what the deforming geometry will look like without the need to do actual geometry deformations while animating. The Deform rig handles all the deformations of the geometry using the animations from the Animation rig. This is where you pain weights, add materials, etc. The advantage of this is it allows the animator to happily work away and a character td to also work on weight and stuff like that at the same time.

2. The proxy nodes are just the pieces of geometry you cut up when you are working with the controls in the Auto rig. They are just a representation of the geometry so the animator isn't just animating bones/controls. I don't know anything about how Torque works so I can't really comment on it but it sounds like you'll have to export the animation rig which doesn't actually contain the final geometry.

3. The proxy nodes point to a single piece of geometry written out from the Auto rig, but that geometry is just a sliced up proxy version of your actual mesh and wouldn't be terribly useful for materials and rendering.

4. As I mentioned above the Animation rig is basically just animatable controls and these controls drive the deform rig to actually deform the geometry. It is basically independent of the skin.

5. The source_geometry node is what the proxy nodes from (3) look at.

6. The skin object is where all the deforms take place. The actual mesh to deform is read in, you pain your weights to the bones/muscles, and write them out so they aren't cooking all the time. The weights are read back in and then run through the actual deformer SOP. After that you basically have a finished, deformed mesh with which you can write out, add materials and render etc.
Graham Thompson, Technical Artist @ Rockstar Games
User Avatar
Member
82 posts
Joined: Nov. 2009
Offline
Thank you for the quick reply.

Your note about the SKIN node inside of the deform rig was the missing piece. I took out the details initialization that the “Initialize Details From Geometry” created and put in a single entry that points to the deform SKIN node and it works!

Now I have a new question that is more generic about Houdini and I am sure you can answer.

How do I create a new network that takes the SKIN node as input and then lets me do things like poly reduce and material application and outputs the type of output that the SKIN node outputs so I can point to it?

I want to do this so I can have multiple output version that have all of the deforms and skin stuff as input.
User Avatar
Staff
329 posts
Joined: July 2005
Offline
graham
The proxy nodes point to a single piece of geometry written out from the Auto rig, but that geometry is just a sliced up proxy version of your actual mesh and wouldn't be terribly useful for materials and rendering.

The Torque exporter's “Initialize Details From Scene” button constructs a list of geometries to export by locating displayed Geometry Objects. When exporting to Torque, you likely want to turn off the display of proxy geometry (“Display Proxy Geometry” parameter on the animation rig) before clicking the Torque ROP's “Initialize Details From Scene” button.
User Avatar
Member
82 posts
Joined: Nov. 2009
Offline
derrek: Great info. Thank you. Any thoughts on how I go about getting the output of the SKIN node and creating my own network nodes that output the same type of thing as the SKIN node that will be ready for the Torque exporter to export and retain the deforms of the SKIN?
User Avatar
Staff
329 posts
Joined: July 2005
Offline
tpitman
How do I create a new network that takes the SKIN node as input and then lets me do things like poly reduce and material application and outputs the type of output that the SKIN node outputs so I can point to it?

Consider creating a new Geometry Object with an Object Merge SOP inside. Put a path to the SKIN node in the Object Merge SOP's “Object 1” parameter.
User Avatar
Member
82 posts
Joined: Nov. 2009
Offline
Thank you.

I will try ti figure out how to do that. I hate being so new to Houdini. I feel like I am trying to do some pretty advanced stuff with very little knowledge and experience in Houdini and yet I need to in order to get this model done for my game.
User Avatar
Member
82 posts
Joined: Nov. 2009
Offline
Just when I think I have it all working I run into another problem.

So I created the geo nodes with the Object Merges inside. That all works great. I was able to create all of the ones I needed with the stuff inside.

So I have 2 problems left:

1. I have my Object Merge Geos (mentioned above) pointing to the deform skin. In my object merge geos I have poly reduce nodes. I have some animations in the animation rigs. When I go from one frame to another the polygons change. What do I do about that?

2. When I export using the Torque out node the skin does export with the texture, but the animation does not export. I don't see the customary bones I expect either. What do I do about that?
User Avatar
Staff
329 posts
Joined: July 2005
Offline
tpitman
1. I have my Object Merge Geos (mentioned above) pointing to the deform skin. In my object merge geos I have poly reduce nodes. I have some animations in the animation rigs. When I go from one frame to another the polygons change. What do I do about that?

The results of the Poly Reduce SOP are dependent on the area of the original polygons. For stable topology across frames, the Poly Reduce SOP should be applied before deforming the skin. Try pointing the Object Merge SOP's “Object 1” parameter to the SOP piped into the skin's Deform SOP and then paste a copy of the chain from the Deform SOP to the end in your Geometry Object. Your Geometry Object would look like this: Object Merge -> Poly Reduce -> Deform -> etc.

tpitman
2. When I export using the Torque out node the skin does export with the texture, but the animation does not export. I don't see the customary bones I expect either. What do I do about that?

I suspect the Torque exporter does not search past Object Merge SOPs when looking for the Deform SOP. Does the suggested fix for (1) fix this too?
User Avatar
Member
82 posts
Joined: Nov. 2009
Offline
The problem with doing what you suggest is that the whole reason I created my own Object Merge SOPs in the first place was so that I could have multiple levels of poly reduces all pointing to the same deform output. If I have to copy the deform then any changes I make to one of them I have to make to all of them and when it comes to animation that would be hard to keep in sync.

I might try a different way of dealing with the poly reductions.

The bigger problem is the export of the animation sequence. As a test I decided to try pointing the Torque export at the SKIN right in the Deform rig. This gave the same results. I got the skin output, but no movement in the animation. In Houdini the animation works fine.

I think the Torque exporter needs a hierarchy of bones or nodes and when I point just to the SKIN they are not getting into the output.

Any suggestions?
User Avatar
Member
82 posts
Joined: Nov. 2009
Offline
A related question:

The SKIN node inside of the Deform rig has the following parameters under material:

Material: `chsop(“../skin_material”)`
Rendering Properties: `chsop(“../skin_properties”)`

Can I safely just replace the Material with my own or is there a better way? Where does `chsop(“../skin_material”)` point to so I can just put my real material in there?
User Avatar
Member
1908 posts
Joined: Nov. 2006
Offline
The material and render parameters are just channel referenced to material and render parameters on the actual Deform rig.
Graham Thompson, Technical Artist @ Rockstar Games
  • Quick Links