Topic: The path to making paths.
You guys are probably wondering about how We are handling the paths for AXSX. I'll give you a little behind the scenes look.
The first step was to take the HEX data found with-in the Def files. Nekit coded a little tool to view and export the path data to a model. (Sample A)
However there was a problem, the data exported had way too few vertex to form the proper shape for the paths.
So I had to come up with a method to generate the shape that was represented in the Xtreme videos. (Sample B)
(A quick run down of what had to be done)
Step 1: Draw out a new spline, however placing each new point centered exactly in between the original points.
Step 2: Convert the spline vertex to Bezier and than move and snap there handles to the original data positions to round out the shape.
Step 3: Use a custom maxscript to further divide the shape into equal segments and also normalize the shape.
Step 4: Watch the Jade gully PC video frame by frame to count the segments and pay close attention to where divisions are located to make sure my script was working correctly and to adjust division amount acordingly.
Step 5: Set up a standard flat bridge model and place a bone between each segment.
Step 6: Animate the new model along the spline path. ( lot of micro steps involved here wont go into details)
Step 7: Step back and look at a job well done, the final result is not perfect but it is very close!
(And sorry, You can't see the final result here. You got to wait for the next demo)
Anyways that's it for the visual mesh, collision mesh is another story that I wont get into. ( as I'm to lazy)
The code:
NEW_PATH "BRIDGE_1"
{
Value 001,10 //Count
Value 002,3276 //dt
Value 004,"Boo\brig01a5" //Txtr
Value 005,"Boo\brig01a1" //Txtr
Value 008,192 //Radius
Value 009,3 //RadiusType
Value 010,60 //Flags
Value 011,3276 //ActorDt
Value 013,-33554432 //CamOffset
Value 014,65536
Value 019,160 //Thickness
Value 020,1627414528 //RenderFlags
Value 021,1610612736 //RenderFlags
HexDump "0100030081000000000100fe14000480040000b11300
00001500048004000023370000001800048004e2d7855e0000001a0
007800300c0077e0000001a000b80030e8d7aa100000017000c80031
e68fcc000000014000a800400208ddc00000016000880040000ffff0000
0019000880040000ffff0000001c000880041dedffff0000801c000780041dedffff"
}
EDIT:
We also discovered that there seems to be 2 types of path data. perhaps the second works with an updated version of the original engine.