Models and Lithtech
Models and Lithtech
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.
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.
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.
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.
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.
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 ---
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 ---
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.
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.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.
http://coty.port5.com/dedit/downloads/NOLF/jag.htm
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
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
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.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.
Yayy! finally something I can help with
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:
Then scroll down and edit the list of models used in DM/TDM etc
playermodel in the game
Awesome link Spydave!
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:
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[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
Then scroll down and edit the list of models used in DM/TDM etc
There are now 4 cate(s) to choose from when selecting the/*
** 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"
playermodel in the game
Awesome link Spydave!
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.
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.
jedwabna poszewka 50x60