Vehicle
Importing Tutorial for JA
Part 1: non animated vehicles by Duncan_10158 A.
Contents: B. This tutorial is about how to bring a model as vehicle into Jedi Knight Jedi Academy. In this part, I will explain that only on non-animated vehicles. The tutorial starts with a finished mash of a vehicle and shows what is to do to bring it in game. It will not treat: modeling, UV-maping, skining, shaders, editting .veh/.npc files or editting weapons. Its only about geting the mesh in game. basicly its very similar to bringing player models in game, you can take a look in those tutorials too for getting a better overview. I am using 3ds Max for modeling, but the meshes can be done where ever, importent are the last steps and they can only be done in 3ds Max. And thats what's this tutorial about. C. What we need to bring a new
vehicle model in game are following things: 3ds Max 4.x or 5, we need that
program cause there is no other way to export a model in XSI format with
all mashes weighted to bones. To say it right away, creating a model.glm
using the MD3View tool, like for saber hilts, does not work. using this
method the model has no bones nor is it attached to a .gla animation file.
Then, to be able to export the model we need XSIImporter.dli plugin for
3ds Max from the first >JKEdittingTools< released by raven and
vmdexp.dle plugin for 3ds Max from the second >JKEdittingTools2<
also released by raven. To convert the model from XSI fromat into a
model.glm file attached to a .gla file we need the assimilate tool (with
carcass.exe) from the first >JKEdittingTools< by raven. finaly we
need any kind of Notepad to do all the code files and a zip to pack it
up. D. What could help is the
>jedi academy model and animation< pack released by raven. It
includes some vehicles in XSI format, for ex. the swoop. With the dotXSI
plugin for 3ds Max you can import the models and look how raven mad their
vehicles. Use it as reference for your vehicle model. Out of this file you
can also import some elements into your own model, like the
tags. E. Where we start, in this tutorial i will bring my STAP model in game, so every time I use the name >stap< you should place there the name of your own model. I am starting this tutorial with a finished mash, UVmaps done and a skin, everything ready in 3ds Max. Keep in mind, if you change a mash after your UVmaps are done, you have to do the UVmapping again, so dont start this until your model is finished. My model consisits of 10 elements, it is possible to creat it out of one element, but this way you can have different skinmaps. I set my model to 11 frames, 0 to 10, two would be enought but eleven is a nice number.
|
|||
F. The Tutorial (or 20 steps to enlightenment) |
|||
1. Open or import the model into 3ds Max, give every element an appropriat unique name. Rotate the model so that it correspond to the 3ds Max views, place it in the middle of the z axis above the origin. how high on the z axis isnt that importent yet, you will probably need to change it at step 8 anyway. |
|
||
2. Add to every element a modifier
Unwrap UVW, with this you can later change the UVmaps without adding a
modifier above the skin modifier.
|
|
||
3. Now we need to add all the tag for
the vehicle. There are two ways to do that, you can either create them as
triangles or import them from an existing model. a tag is basicly an
element of three vertecs with a single sided face connecting it. every tag
has the prefix >bolt_<, so we need to creat or import the following
tags: bolt_driver ;tag for the placing the driver bolt_muzzleX ;tag for the weapon, you can place multibles, X is the number vor everyone bolt_exhaustX ;tag for the exhaust effect, you can place multibles, X is the number for eveyone If you creat a vehicle without driver, weapons or exhaust effects, you can leave that out or do it and deatived it in the .veh file. I place them and decide later, the other way that doesnt work, you know. |
![]() |
||
4. For this non-animated model we
basicly need one bone, cause of the creating in 3ds Max, we will end up
with two, thats ok, later we can use the second bone very good anyway.
Under create/systems use the bone buttom and place them in the right view
on the z axis. the name of the bone can be whatever. I am using the
same bone names as in JO player modeling, there is the main bone
>pelvis< and every bone ending a bonecain has the suffix
>end<. so i have these two
bones: pelvis ;bone to which everything will be weighted pelvisend ;the end cain bone |
![]() |
||
5. Last thing to add are the Dummys.
These are small green cubes only importent for the correct hirarchy, we
need four of them. Same as the tags you can import them or creat them on
your own. Place them in the origin, they have the following
names: XSISceeneRoot B:modelroot skeleton_root mesh_root
|
![]() |
||
6. To creat the hirarchy open the Schematic View. Use >Link< to bind an enfant element to its parent. the seleton root is only pelvis/pelvisend. All tags and model parts bind to one model part, in model >body<, and this one bind to >mesh_root<. >Skeleton_root< and >mesh_root< to >B:model_root<, and >B:model_root< bind to >XSISceeneRoot<. | ![]() |
||
7. To avoid an error when using
assimilate to create a animation gla file without any animations in our
file, we do now a small animation. assimilate dont accept a file without
this the way we will use it, so we do one that has no affect, only to have
more then one frame in our file.
Move the time slider to 5 and actived >Animate< buttom. Select >pelvisend< and rotate it in the right view 90°, then deactived >Animate< buttom. Move the time slider back to 0, that was it. |
![]() |
||
8. We have to bring every tag and bone in the correct place. The bolt_muzzle and bolt_exhaust are easy, place them where you want to see those effects. The Dummys in the origin, as already mentioned. Place the pelvis (moving pelvis will move pelvisend too) somewhere above the origin in the middle of the vehicle. to place the bolt_diver is the difficult part in this step. It may, or better it will happen that you have to do this a few times until you find the correct place. the problem is, we want to have the driver in the right place, but the bolt_driver, the pelvis and the Dummys in the origin must have an exact distance relation (A to B, in the pic). You will see in game, if you dont place it right, the vehicle will have another rolling center point then the driver. you can take a look at the swoop for reference. In game you will see that the driver is not in the right place and/or is rolling wrong, then you have to come back to this step, correct it and do the rest ot the tutorial steps again. if the driver is not correct, you have to move the bolt_driver relativly to the vehicle. if the driver is wrong turning, you have to select the hole vehicle and all tags and move them vertical relativly to the bone (pelvis), this to keep the driver in the right place. Importent, if moving a vehicle part or a tag, it must not be weighted, you always have to delete the weigting befor moving and weight it again, or you get horrible problems! | ![]() |
||
9. Add to one vehicle part the skin
modifier, so we can weight it. click on >Add Bone< and in the window
select pelvis. click on >Select< and you got pelvis in the modifier
listed. click on >Edit Envelopes< and you see a sphere around the
pelvis. you can size up that sphere by moving the dots on the sphere
lines. you can see that the vehicle part inside the sphere get red, there
its weighted, outsied its blue, not weighted. size up the sphere so the
hole vehicel is inside it. deactived the >Edit Envelopes<, take skin
in the modifier stock and drag and drop it on all vehicle parts and tags.
now you can check, if the pelvis is moved every vehicle part and tag
should move with it. undo this check movement and make the weighting
sphere bigger if something was wrong.
Now we have done everything in 3ds Max, except to export it. Save your vehicle, so you can fix bugs from this point on. |
![]() |
||
10. To have the assimilate work properly, we need a correct folder structure and set it up right. the assimilate tool and carcass.exe have to be in a >base< folder, which have to be as first folder in the drive. creat a folder >models/players/vehicle_you< in the >base< folder. I named that >stap_dun<. That folder name is very importent, its the same folder name as in the pk3 files and nearly more importent will be the name of the animation file. To avoid compabilety problems give it a unique name, i use to add the suffix >_dun< for Duncan_10158. Find yourself a not already used suffix and add it to all vehilces you will creat. (see naming notes) | ![]() |
||
11. Now the setup of assimilate.exe, start it. Open >Edit / Preferences..<, window, point >Compiler< to >carcass.exe<. Everything else doesnt need to be changed. >OK< and assimilate is ready. | ![]() |
||
12. Back to 3ds Max, we have to export our model. >File / Export< brings you the to the >Select File to Export< window, chose XSI 3.0 as filetyp, name it >root< and save it in the >base/models/players/vehicle_you< folder we created above. | ![]() |
||
13. We get to >XSI Export<, all settings should be right. >OK< and the model should be exported. | ![]() |
||
14. Back to assimilate again, we have
to add the model file. Chose >File / Add Files...<, pick your
>root.XSI< file in the >vehicle_you< folder and klick
>Open<. A massage will pop up: >You're trying to add "root.xsi", which is inherent, you should only do this if you're making a model that has no seperate anim files Proceed?< Thats exactly what we want, so >Yes<. We get back to the main view, there is now the folder >vehicle_you< or however you named it. Double click on it and we get to the >vehicle_you< preferences window. This window you will see many times bevor you find the right seting for
your vehicle. first check >Make it's own skeleton<. the Scale sizes
your vehicle in game, the centre is where the root Dummys are. >Origin
- Adjust< places the root Dummys, to have them on the ground,
Z=24. |
![]() |
||
15. We come to the compile prozess, you
can click >B< or >Edit / Build Model>. Save the file as
>model.car< and the assimilate prozess will start.
A msdos window will pop up. You will get an error message if something went wrong (see Toubleshooting). Hit a key to close the window and if all went right there will be a message that >Everything seemed to go ok<, you see, not even assimilate knows all. now we can close assimilate. |
![]() |
||
16. There are six new files, but we
need only three of them: animation.cfg model.glm vehicle_you.gla (an empty animation file :)) from now on everyone who moded vehicles shoud know how to finish it, so you can go on your own if you like. But read on the wise man would. |
![]() |
||
17. For editing files and packing it up i use an other folder structure. Copy the three files we created into the >models/players/vehicle_you< folder. Add all skins and a >model_default.skin< file, edit it so it points for every bodyparts to the skins the folder. In the >shader< folder you can add shaders for your model. | ![]() |
||
18. In the >ext_data/npcs< folder create or copy an >vehicle_you.npc< file. Open it with NotePad, the title should be the name of your model, >vehicle_you<. Set >width< and >height< so it fits your model, you will have to try a few times. | stap_dun { weapon WP_BLASTER playerTeam TEAM_NEUTRAL enemyTeam TEAM_NEUTRAL class CLASS_VEHICLE width 24 height 32 } |
||
19. In the >ext_data/vehicles< folder copy an existing swoop.veh file and rename it to >vehicle_you.veh<. Open it with NotePad, edit three thing: tile, >name< and >model<, all should be >vehicle_you<, so it points to your vehicle. | stap_dun { name stap_dun .... model stap_dun .... } |
||
20. We nearly done it, use WinZip to
pack up >models<, >ext_data< and all subfolders and files.
Name it >vehicle_you01.pk3<, cause its your first version, i
suppose. Copy this file to your >Jedi Academy\GameData\Base< folder
and start the game in MP.
When the game is loaded, start a map in cheat mode (devmap mp/ffa5). As
soon the map is loaded bring down the console (§ + shift) and typ
in: If the driver is in wrong place or rotating not correctly you have to go back to point 8 and try to correct it by moving the vehicle or the driver tag. On any problems, see Troubleshooting. |
![]() |
||
G. How to name the file is very
importent, in the tutorial i use >vehicle_you< for the vehilce name.
In the pictures on right i use the name of my model, stap_dun. Cause this
is a completely new model and dont uses any resources of the game (the
player model uses the _humanoid.gla form the game) it needs an independent
structure. For example if someone wants to reskin my stap model, she copys
all files into a new folder, lets say >stap_newskin<, and replaces
the skins and edit the .skin file. this skin will not work without my
original, cause the copyed model.glm still points into my original folder.
To copy the .gla animation file doesnt solve this problem. So every skin
of a completely new model needs its own .gla file. All models need two
things in their names, first off the vehicle that it is, speeder_bike or
stap in my case. Second, the name of the creator, modder or skinner. I
suggest this kind of naming the
files: |
|||
H. Troubleshooting
|
|||
All rights belong to their owner. |