Game Development Community

Multitude of problems exporting a skinned biped, please help.

by Gregory Dudding · in Torque Game Engine · 01/04/2004 (5:01 am) · 2 replies

Alright... I've followed every tutorial I can find on the subject, and now I can work it down to this:

If my schematic matches the one at www.garagegames.com/docs/torque.sdk/tools/max2dts/schematic.html

Then I am treated to the: "skin found on linked node "Multires::tris.md2" skin must be unlinked" error...

If I unlink it, the model exports with no errors... and this is very troubling because:

My player.dts is not showing up in the demo showtool, or the game itself. I have tried putting my textures there (maybe the wrong format? I don't know), I have made sure that my player.cfg matches the model I am exporting (using a player.cfg and bones that match the original player.dts in order to test the animations).

I do not know why my model isn't working, every time I've tested it I have done wo WITH and WITHOUT trying unmessDTS.exe on it... I don't know if that is necessary or not, but, I have tried it to be sure.

I have also gone through this tutorial:

tork.zenkel.com/_tutorials/Modelling/modelling/max_character_export.php

Both this and the one in the documentation seem to be on target, and they do produce an exportable result if I make sure to unlink my mesh (a step NOT mentioned in either... which is in itself troubling).

I've seen forum posts here that mention that the detail markers should be named Details02 etc... (plural) vs. Detail02... I don't know if that could be the problem or not... I seem to have all of my dummy objects in the scene, I believe them to all be linked, yet, no model shows up on export, just blackness in the showtool.


Here is my Player.cfg:

AlwaysExport:
eye
cam
mount0
//mount1
//jetnozzle0

NeverExport:
Bip01
//Bip01 L Finger*
//Bip01 R Finger*
Dummy*
Bip01 L Toe*
Bip01 R Toe*
start01
mountpoint
DELETE*
//Ski0
//Ski1
Light0
Light1
//Mount1
//Mount2

+Error::AllowEmptySubtrees
+Error::AllowCrossedDetails
+Error::AllowUnusedMeshes
-Error::AllowOldSequences
-Error::RequireViconNode
-Param::CollapseTransforms

-Param::findMergeIndices
-Param::computeScreenError


I would post pics of my scene, but, I have tried so many different names on each of the skins and detail markers that none of them would be an accurate representation of what I know works and does not work.

Essentially, what I really NEED here, is a really nice rehash of the absolute necessities of a proper .dts export for a skinned biped AFTER the skin has been applied and is verifiably working (Moving the bones moves the skin exactly as desired).

If someone could lay that out for me in such a manner that might help me figure out exactly WHY my boned model will not show up after export despite my research: (it is inside the bounds dummy object, with all other dummy objects including cam, eye, root, etc..., multi-ressed through multiple attempts, texture mapped properly in max, hierarchy checked against multiple sources, )

I assume if it was a texture problem, I'd see an untextured model instead of just nothing.

ANY input would be greatly appreciated, I really don't know what I've missed.

(Also, on a completely unrelated side note, I'm looking for a good resource for .bip files for animations using the original biped skeleton)

Thank you kindly in advance for all help offered...

/me salutes

#1
02/15/2004 (7:20 am)
Hmm yer i know how you feel heh :/,

I struggled to get players exporting - I went over to gamebeavers.org and had a look at their opensource models, they included a .max scene with the model set up etc ready for exporting. I grabbed that, merged my mesh into the scene, merged my mesh with the existing one, deleted the mesh i downloaded and im left with my mesh and proper heirachy setup :)

All i needed to do was set up the skin

i guess you could call it cheating but hey - It worked!

hope that helps ya
#2
02/15/2004 (7:49 am)
For a skinned model, all that you need to do is to set up the skin on the model and make sure the mesh is unlinked. Append the mesh name with a number and a matching detail marker (to test)

the problem is probably the detail marker (as you have surmised) the mesh that needs to be seen in the game needs to have a matching detail marker that is linked correctly in the shape tree.

Note that if you have a detail marker with no matching mesh, it will export a detail level that is 'empty'. Make sure you turn on the detail slider in the showtool and check to make sure the mesh is not there (it may be at a lower detail level.

provided the skin is set up right, it should export and show up in the showtool no problem.

After you haev confirmed that the mesh with skin exports, then move onto setting up the multires LOD stuff.

The exporter is not very picky when it comes to what it 'can' export. There is no 'right' skeleton. The best place to look is in the exporter doc appendix, under valid scenes.

Here is how it works.

The exporter goes through the scene and looks for a hierarchy that starts with a node with no mesh, with a child that is also a node with no mesh.. these tell the exporter 'this is the shape that I want to export'. This is the start of he shape tree. With simple shapes, you usually see the standard start--->base.

this is to differentiate the 'shape' from other stuff you have floating in your scene.


On the first child, there are seveal atached nodes that give it information about collision shapes and/or detail levels (detail markers) also attached to this node are the shapes. In a normal DTS the mesh is in this shapetree. If a mesh that is deforming, the mesh must be unlinked or you will get double transforms. The exporter is smart enough to know that it has the skin modifier on it and treats it as such.

Instead of trying to 'match' a shape that has been exported, it would be better to try to understand how the exporter works and how it looks at your scene so that you can set up a proper one.

The exporter expects things to be set up in a certain way, but it is really not all that picky about what 'can' be exported as long as it is set up correctly.