Preparing the Mesh

 
I. Obtaining the Mesh
1. Open the 07_Head.scn provided with the VTM's.
2. Select and delete the mirrored portion[+X,character's rightside] of the model.
3. Select the original working portion and create a temporary welded copy of it with Mirror Modeler tool.
4. Rename this object elf, realign to the Z plane[MM does an offset during process, return to Z=0.559], and then Insert a copy into an Object Library.
5. Close 07_Head.scn without saving any changes.

II. Aligning the Mesh to World Origin
1. Start a new scene, load a copy of the elf object from a Library, rename it back to elf.
2. With elf object selected, Left-click the Move axes to center button directly, or enter Axis Mode, then activate the tool. Selection box disappears and you are now inside the shape's hierarchy.
3. Once the axis moves to COM[center of mass], UP arrow out of the hierarchy, which reselects it in blue.
4. With mesh still selected, Normalize Location of the object. Elf's 'center' should snap to world origin. Values will be "0,0,0". Size 'should' be around "7.937,2.349,9.102".
5. Move the elf object to a Z value of 4.551, this willl place the mesh's feet exactly on the ground plane. Adjusting your grid units may be needed, down to the millimeter[0.001].
6. Enter Axis Mode and Normalize Location of it, or manually enter X,Y,Z values of 0.
7. With the object's origin at 0,0,0, Uniformly Scale untill it's Z value is 2.701[character height]. This will be the shape's dimensions to construct the skeletal rig to.

III. Applying Texture to the Mesh
1. With the elf still selected, Open the Material Editor and the Color Shaders Library.
2. In Color Shaders Library, double-click the Texture Map shader, the Color slot will load the 'Caligari' default .jpg texture.
3. Adjust the material's properties to the exporter's settings for the default 'neutral' texture.
4. Open the Materials Library and Insert a copy of this new material into the Library. This will provide a starting point for any future materials needed for default DTS texturing.
5. Click the Get Texture Map button in the Color slot, the Texture Browser opens; then, navigate to your intended bitmap's folder and double-click the bitmap or drag/drop it to load the texture into the Color slot of the Material Editor.
6. With elf still selected, click the Paint Object button, and the elf mesh object has the Material applied to it. The object is now textured with a default gS UV mapping. Normally, I think it would be the time to map the UV's, either in gS, or a 3rd party application. We, however; are moving forward.

IV. Locking Scale Transforms of the Mesh
Preface:
This portion, while brief, is nonetheless of extreme importance to remember; lest your shape reveal it's true scale inside the engine. The size that it was before bringing the elf-character to it's target of Z=2.701, well; or whatever you decide to rig for,;). You'll be left wondering, "...why is my player 150' tall?", or, "...each terrain texture pixel is as big as me???"
1. With elf still selected, File--Save As--DirectX*.X and Save as elf.x.
2. Hit SpaceBar then File--Load--Object, select the newly created elf.x, click Open, and now an object named elfMesh is loaded and selected in the Scene.
3. Check the axis of the mesh as previously outlined[something I find myself doing a lot] and then Insert a copy into an Object Library.
4. Start a new scene, load a copy of elfMesh into it from the still open Object Library. Click on the Scene Library browser button and then Insert a copy of this scene with a right click. With another right click on the thumbnail, Rename this scene as MESHscene.
5. Save a backup file somewhere or however you feel comfortable archiving this base scene, a copy of which should be used to construct the skeletal rig in, and take a nice stretching break.

V. Rigging/Binding/Weighting the Mesh & NamingConventions
Since this portion of the process is covered rather expertly in the Buzz VTM's, it will not be represented here. There are a few caveats to remember when following the videos.

-the naming conventions used to name the Hingejoints are fine and needed to operate Puppeteer[if utilized for animating] correctly. This is not an issue, I feel. It's in needing to name all the Bone objects in the rig to a unique name for each. This is a native gS Bones system 'quirk'. Because of this, both exporters are only recognizing these objects and NOT the hingejoints in any noticeable fashion. This 'quirk' is exposed when exporting to Milkshape3d format and during the final examination of the shape inside the ShowToolPro. It will not be noticeable if utilizing the stock -showTool mod included with the demo. This is not a bug within the work of either exporter, nor will it affect any animations produced with any gS2gS shape/sequences and exported, only crossplatform DTS/DSQ combinations. The 'quirk' manifests itself in the form of the skeletal rig not appearing to be aligned as setup within the gS environment. What appears as the rotational driver in the rig of the DTS shape is actually the BONE object in GameSpace. Because of this fact, any deforming rig setup and named along the existing default Character Studio naming conventions and Bone locations; will not load the Max produced animation sequences correctly.
-there are other 3rd party plugins for animation available. JointMaster is but one of a few that will function within the GameSpace/TrueSpace environment.
-this work makes no recomendation on which system to keep in the toolset.
-this work will not explain GameSpace Animation, IK, or Clips in any great detail.
-all the official documentation, supplied by both GarageGames and the exporter's author, is superb in giving the fundamental background data on the format's requirements and setup procedures for existing modeling packages.

Now, onto the few additional steps in this portion; immediately after the rigging is complete and before binding is begun:
1. Insert a copy of the skeleton only into an Object Library, as a backup copy, or the artists' prefered BU method.
2. Once binding/weighting phase is completed, select and rename the skeleton object[which is now an IK Group, once binding is activated] to start01.
2. Insert a copy of this scene in a Scene Library with a right click and then rename it PLAYER with another right click on the thumbnail itself.

VI. Current Analysis & Nodes/MountPoints/DetailMarkers.
At this point, the character's structure is complete. A mesh with default UV mapping and a bitmap material applied has been bound to a skeletal deforming system. This could now be utilized to produce animation sequences, however; the needed Nodes and MountPoints for player functionality are not yet within the shape and properly linked, nor are the detail markers in place to properly assemble the DTS/DSQ files. GameSpace does not generate any Null-type objects that can be used as markers/helpers to guide the exporter along the process. To this end, geometry must be used to generate the Node objects and is then ingnored by the exporter's code. This is accomplished with a prefix of "_" in front of the detail marker and Node names. Something else to note is that during the weighting portion, geometry may have been edited to accomodate deformations. This may necessitate a back/forth process with UV mapping to ensure proper texture coverage and UV coordinate placement. This should be checked and completed prior to continuing the setup of the shape.

It's time to move onto Node construction and location for successful player-character functionality coded into the TGE demo build. Linking will be in the next section. I construct these Node objects as simply as possible. I also lock the scale transform as before and load a copy into a Library for future use. The step of locking the transform is perhaps not needed; being that all the exporter is looking is the location of the object. Also, to note; this method of locking is outlined in the exporter documents. There is a 3rd party plugin the performs this same function which is not outlined here. I have not run this thru any form of testing, and found the standard method to fit within my overall structure I'd planned[default copy of mesh, in an multiplatform format, at least for the mesh]. Suggestion of the alternative has come from a respected artist within the community.
1. Create a cube Primitive in the perspective viewport with the dimensions of .1x.1.x.1 and move it to world origin with the Obj Info Panel. Rename this object node and export to .X format and load a copy into a Library as done on previous steps[putting it's render property to wireframe/axis exposed], changing the name back to node before Insertion. Delete both source node objects and continue within this scene.
2. Load a copy of node, rename it _cam and locate it where you wish the 3rd person/death orbit camera to be placed.
3. Continue thru the list in the image, loading and locating each _mount* and node desired for functionality. The player character MUST contain the _cam and _eye. I have included a _mount3 node for developers favoring their Left Hand and interesting Item/baseShape mounting.
4. I place my _mount* objects with their axis just at the intersection of mesh and axis. Don't be overly concerned with the hands' node orientation at this point. It will be addressed further along.
5. The _detail128 object was located at a position of Y= -0.75. This location removes it from the bounds object that is constructed after a pose has been established.
6. Once all nodes, _mount*s, and the _detail128 have been created and placed, backup this scene as you wish. This section of the guide is complete.
 

Your Link

Your Link

BROKEN!
 
 
 

  HOME     ...more Rex     gS2DTS Setup     Shape Build     Gallery     Nodes w/o Destruction     Non-destructive Nodes     Milkshape3D Blends