Models and Lithtech

Lithtech Jupiter engine

User avatar
Coty
Pegasus Modteam
Pegasus Modteam
Posts: 261
Joined: Mon Aug 30, 2004 3:40 am

Models and Lithtech

Post by Coty » Fri Oct 13, 2006 7:54 am

I'll try to cover all aspects from making a model or character in Maya 4.0 to using Medit in getting the model into the game. I will try to touch on the following topics:

Installing the Lithtech plug-ins for Maya 4.0
Creating a primitive shape
Texturing the geometry.
Creating a couple of joints
Binding the geometry to the joints (skinning)
Painting skin weights ( for character models)
Exporting to a Lithtech.lta model file

Working with MEdit to fine tune the model for the game.


Well, the first thing you need to do is get the exporter working in Maya. I have installed the plug-ins for Nolf2, CJ, and Tron, and I don't know which plug-ins I currently have installed for Maya. This is an excerpt from the Tron Docs:

To use the exporter plugin in Maya, place the file ?MayaModelExport40.mll? in the Maya bin\plugins\ folder and the file ?LithTechModelExportOptions.mel? in the Maya scripts\others\ folder. Make sure the plugin is loaded in Maya?s Plugin Manager window.

My plug-ins are located in Maya like this:

My .mll files are located in C:\AW\Maya4.0\bin\plug-ins
My .mel files are located in My Documents\maya\4.0\scripts

So if one don't work for you, you may want to try my setup. In either case, you should be able to see the plug-in under the Program Manager. I don't have Maya running right now, but I believe you will find the Program Manager under the Window/Setting and Preferences/Program Manager of Maya. Check the loaded and Auto Load and save, or whatever. If anyone is having problems getting the exporter to work, let me know, and we will solve it. Once this is checked, you should see the LithtechModelFile when you use the File/Export All x option. The 'x' will mean that Little box beside the option. This will open an export dialog box to choose formats.

Ok, I found a tutorial I made several years ago that you may want to check out while I figure out what I'm going to do next here. I just uploaded it while typing this. I will read this again myself and write a correction or update that may make your life easier. I remember several mistakes I made like triangulating the polys, no need for ik handles, and merging vertices and edges, etc... Also we will go over the skin weights tool for characters and maybe how I got the joint orientation for advanced stuff.

Here is the old brush tutorial:

Part 1- Creating Some Geometry
Part2- Creating UV's and Assigning a Texture
Part3- Scaling the model to Lithtech and Creating Joints
Part4- Posing, Animating, and Exporting the Model

Again, if you don't wan't to go through this old tutorial, I will make another one covering different, simplier aspects not covered in it, This one would be good for covering the 3dPaint tool, making uv coords. and ik skeleton animations. But I will make a simplier one that covers making a simple cylinder, or tube, assigning a texture file for it, making some joints for it, adjusting the skin weights on the joints, and anything else not covered in the older one.
Image

User avatar
Spawn
Admin
Admin
Posts: 1310
Joined: Sun Jul 25, 2004 12:50 am
Location: Norway
Contact:

Post by Spawn » Fri Oct 13, 2006 5:55 pm

Excellent stuff man :thumb:

Thanks for the info!
Image

User avatar
Fatty
Pegasus Modteam
Pegasus Modteam
Posts: 186
Joined: Sun Mar 06, 2005 10:55 pm

Post by Fatty » Mon Oct 16, 2006 12:24 am

I was able to figure out the equivalent of what to do in max for most of the stuff listed in Coty's tutorials. The only thing I haven't figured out yet is how to do the animation stuff. But I did manage to get a non-animated bush into CJ. One problem I did have though, is how do you get the alpha channel to work on a prop? Whenever I added the bush as a prop the alpha channel on the bush texture wouldn't work no matter what settings I changed in its properties. I had to add it as a proptype before the alpha channel would work properly. I attached a screenshot of my results so far.
You do not have the required permissions to view the files attached to this post.

User avatar
Coty
Pegasus Modteam
Pegasus Modteam
Posts: 261
Joined: Mon Aug 30, 2004 3:40 am

Post by Coty » Mon Oct 16, 2006 12:47 am

That is one thing I noticed in Jupiter that is bad. There is no 'transparent' property in a prop. The transparent property is in the attributes, which means you would need to add a new prop in the proptypes, or replace an already existant prop with the transparent property set.

You were right to replace a proptype model like cobweb in Nolf2. I don't know if there is another way. If I remember right, anything less than 1.0 in alpha is transparent.



[PropType2]

Type = "Gen Cobweb 1"
DebrisType = "cobwebs"
Filename = "Props\Models\GenCobweb1.ltb"
Skin0 = "Props\Skins\GenCobweb1.dtx"
Scale = <1.0, 1.0, 1.0>
ObjectColor = <255.0, 255.0, 255.0>
Alpha = 0.999
HitPoints = 1
Visible = 1
Solid = 0
Gravity = 0
Shadow = 0
MoveToFloor = 0
RenderStyle0 = "RS\furfins.ltb"
RayHit = 1
TouchSound = ""
TouchSoundRadius = 0


You don't need the ik handles for animation. You just need to have a start and ending key set on a joint in the timeframe. Select a joint, set a key at the beginning of the time, move the time up some, rotate the joint slightly, and set another key. It should export with the rotation of the joint. I don't think it will import into MEdit without an animation. At least one key has to be set, even if it's just a single static pose, which you probably have.
Image

User avatar
Fatty
Pegasus Modteam
Pegasus Modteam
Posts: 186
Joined: Sun Mar 06, 2005 10:55 pm

Post by Fatty » Mon Oct 16, 2006 1:10 am

Thanks, I'll try that later and see what happens. When I open the LTA file in ModelEdit it says something about "could not find anim for Scene Root in AnimSet: baseAnim" but it still loads it and allows me adjust it and to save it as an .ltb.

EDIT: here's the entire log it generates when I open it:

loading lta file

hierarchy

- model

shapes

- Cone01

animations

tools-info

Creating Model

Creating Pieces

Applying Deformers

Creating AnimNodes

in ModelNodeToAnimNodecould not find anim for Scene Root in AnimSet : baseAnim

Apply Sockets

ChildModels:

------------------------



------------------------

Setting AnimBindings

Setting Weights Sets

Setting Command String.

Setting Model Node Flags.

generating normals.

--- done ---

User avatar
Fatty
Pegasus Modteam
Pegasus Modteam
Posts: 186
Joined: Sun Mar 06, 2005 10:55 pm

Post by Fatty » Mon Oct 16, 2006 5:26 am

I didn't notice until now that you edited your post while I was still trying to make my last one, so I guess you can ignore it. I think you're right about it having a single key assigned to it because it shows it having one average keyframe per animation under Model Info. I've messed around with moving the bones in max and adjusting the time/frame bar and assigning a key, but it doesn't seem to export the animation. I'll have to dig around for some tutorials on the net as the help file that comes with max aren't the easiest thing to follow.

User avatar
Fatty
Pegasus Modteam
Pegasus Modteam
Posts: 186
Joined: Sun Mar 06, 2005 10:55 pm

Post by Fatty » Mon Oct 16, 2006 9:34 pm

Sorry for the multiple posts but I finally got it figured out. Only thing left for me to fix now is properly lining up the bones so the animation doesn't jerk when it repeats. Thanks for the tutorials Coty, I never could have done this without them. :)

User avatar
Coty
Pegasus Modteam
Pegasus Modteam
Posts: 261
Joined: Mon Aug 30, 2004 3:40 am

Post by Coty » Tue Oct 17, 2006 1:35 am

Fatty wrote: Sorry for the multiple posts but I finally got it figured out.  Only thing left for me to fix now is properly lining up the bones so the animation doesn't jerk when it repeats.  Thanks for the tutorials Coty, I never could have done this without them.  :)
What you need to do is set the last keys the same as the first, and leave it some time to adjust at the end, to the same. Select all the joints, or ikHandles, whatever you used, and COPY the selected START keys at the beginning of the animation. Go to the end of the animation and PASTE the same keys there. Then you need to delete some time before that last keyset so it will go back without jerking. Delete about a half a second before the end keys. This will give the plant some time to move back to the starting position.



http://coty.port5.com/dedit/downloads/NOLF/jag.htm
Image

User avatar
Spawn
Admin
Admin
Posts: 1310
Joined: Sun Jul 25, 2004 12:50 am
Location: Norway
Contact:

Post by Spawn » Tue Oct 17, 2006 8:19 pm

Incredible! Nice work Coty :thumb:
Thanks for posting all this great info! I'm gonna look into this myself.

(yep, looks like I'm repeating myself, but the info & mod is definatly worth it)
Image

User avatar
Coty
Pegasus Modteam
Pegasus Modteam
Posts: 261
Joined: Mon Aug 30, 2004 3:40 am

Post by Coty » Tue Oct 17, 2006 8:47 pm

Thanks ;)

I just posted the link to the character mod's html in that last edit in case anyone was keeping up with it. It's up to 7 now...

http://coty.port5.com/dedit/downloads/NOLF/jag.htm


Good models are hard to find. Most of the ones I've downloaded from half life suck. Here is a link to some pretty good models, textures, and sounds I found.

http://www.evl.uic.edu/spiff/class/cs426/index.html#uic
Image

User avatar
SPYDAVE
Pegasus Modteam
Pegasus Modteam
Posts: 302
Joined: Sat Aug 14, 2004 4:52 am
Contact:

Post by SPYDAVE » Tue Oct 17, 2006 10:07 pm

Do the models have to replace pre-existing ones?

I mean I'm sure there has to be a way to add a new model without changing the existing ones (it looks like though you are replacing) ...

It doesn't really matter ... just curious.
Image

User avatar
SPYDAVE
Pegasus Modteam
Pegasus Modteam
Posts: 302
Joined: Sat Aug 14, 2004 4:52 am
Contact:

Post by SPYDAVE » Tue Oct 17, 2006 10:09 pm

LOL ... Now that's dedication ... finding such an obscure link! I would have surely passed it over as having absolutely no value what-so-ever! :D
Image

User avatar
Coty
Pegasus Modteam
Pegasus Modteam
Posts: 261
Joined: Mon Aug 30, 2004 3:40 am

Post by Coty » Wed Oct 18, 2006 2:48 am

SPYDAVE wrote: Do the models have to replace pre-existing ones?

I mean I'm sure there has to be a way to add a new model without changing the existing ones (it looks like though you are replacing) ...

It doesn't really matter ... just curious.
I don't know for sure. I do know that according to the CJ docs on adding a new vehicle, it is in code. I also couldn't find any attributes linking the character's skins except in the server butes, which only had player listed. Nor did I find anything in attributes about which characters were multiplayer. My guess is that all this is in code. I've always just replaced stuff because editing some attribute files would make the rez incompatible with the origional game, where replacing existing models would let you join any game.
Image

User avatar
Spawn
Admin
Admin
Posts: 1310
Joined: Sun Jul 25, 2004 12:50 am
Location: Norway
Contact:

Post by Spawn » Wed Oct 18, 2006 10:41 pm

Yayy! finally something I can help with :banana:

I know that you can add them in nolf2/CJ without replacing existing models
Tested by copying the cate_action model and made another one called
cate_spared (with one of spared's skins..)

I renamed the skin to CateAction2.dtx

All you need to do is to add 2 things to the modelbutes.txt:
[Model100]

Name?? = "Cate_spared"
SoundTemplate = "Player"
Skeleton? = 0
Type?? = 0
Mass?? = 2000.0
HitPoints? = 100.0
MaxHitPoints? = 100.0
Armor?? = 100.0
MaxArmor? = 200.0
Energy?? = 0
MaxEnergy? = 0
MinSearchTime = 2.0
MaxSearchTime = 4.0
ModelFile? = "chars\models\multi\cate_spared.ltb"
Skin0?? = "chars\skins\CateAction2.dtx"
Skin1?? = "chars\skins\CateCasualHead.dtx"
Skin2?? = "chars\skins\CateCasualHair.dtx"
RenderStyle0 = "RS\NinjaTranslucent.ltb"
RenderStyle1 = "RS\glass.ltb"
HandsSkin? = "guns\skins_pv\actionHands_pv.dtx"
AIOnly?? = FALSE
LoudMovementSoundBute = "Leather_movehard"
QuietMovementSoundBute = "Leather_movesoft"
NameId?? = 3317
Copy/paste all the info about Cate_Action.. It could of course be given a different NameID, I added this in the bottom of the modellist

Then scroll down and edit the list of models used in DM/TDM etc
/*
** Deathmatch Models
**
** List of models available to be used in deathmatch.
**
** Name?? the base name of the model
**
*/
[DeathmatchModels]
Name0 = "MultiPlayer_DM1"
Name1 = "MultiPlayer_DM2"
Name2 = "MultiPlayer_DM3"
Name3 = "MultiPlayer_DM4"
Name4 = "MultiPlayer_DM5"
Name5 = "MultiPlayer_DM6"
Name6 = "Armstrong_multi"
Name7 = "Banerjee_multi"
Name8 = "Barnes_multi"
Name9 = "Bruno_multi"
Name10 = "Bystander_multi"
Name11 = "Cate_multi"
Name12 = "CateCasual_multi"
Name13 = "CateWinter_multi"
Name14 = "Director_multi"
Name15 = "EAHARM_multi"
Name16 = "Harij_multi"
Name17 = "HARMGuard_multi"
Name18 = "HARMIndia_multi"
Name19 = "HARMIndia2_multi"
Name20 = "HatoriSan_multi"
Name21 = "Isako_multi"
Name22 = "Jones_multi"
Name23 = "Kamal_multi"
Name24 = "Mime_multi"
Name25 = "Malpani_multi"
Name26 = "Ninja_multi"
Name27 = "Pilot_multi"
Name28 = "Police_multi"
Name29 = "Researcher_multi"
Name30 = "Schenker_multi"
Name31 = "Sloggins_multi"
Name32 = "SovietSoldier_multi"
Name33 = "SovietWinter_multi"
Name34 = "YamataSan_multi"
Name35 = "Zhukov_multi"
name36 = "cate_spared"

/*
** Team Models
**
** List of models available to be used in team games.
**
** Name?? the base name of the model
**
*/
[TeamModels]
Name0 = "MultiPlayer_DM1"
Name1 = "MultiPlayer_DM2"
Name2 = "MultiPlayer_DM3"
Name3 = "MultiPlayer_DM4"
Name4 = "MultiPlayer_DM5"
Name5 = "MultiPlayer_DM6"
Name6 = "Bystander_multi"
Name7 = "EAHARM_multi"
Name8 = "HARMGuard_multi"
Name9 = "HARMIndia_multi"
Name10 = "HARMIndia2_multi"
Name11 = "Mime_multi"
Name12 = "Ninja_multi"
Name13 = "Police_multi"
Name14 = "Researcher_multi"
Name15 = "SovietSoldier_multi"
Name16 = "SovietWinter_multi"
name17 = "cate_spared"
There are now 4 cate(s) to choose from when selecting the
playermodel in the game :thumb:

Awesome link Spydave!
Image

User avatar
Coty
Pegasus Modteam
Pegasus Modteam
Posts: 261
Joined: Mon Aug 30, 2004 3:40 am

Post by Coty » Thu Oct 19, 2006 1:43 am

That's cool Spawn! :)

In AvP2 they started listing that stuff in attributes. I thought it might could be done. Thanks for that info!

I think I will try editing that serverbute in Nolf1 and adding another character to see if something like that might work. I remember someone made a skin mod for Nolf1 a long time ago which listed different skins for the characters that worked, but I haven't tried looking in my old cd's for it. It could be that something like this might work for Nolf1, like an overriding attribute.
Image

Post Reply
jedwabna poszewka 50x60