New archive of max-files with original Blade characters is located here:
Now these models have special markup of the polygons by numbers of smoothing groups. After export to .BOD-format they can be broken up into pieces as well as the original persons.
In order to see this special markup, you must do the following steps in 3DSMAX:
- select group "Blade_Object_Nameofperson"
- ungroup this group (Group -> Ungroup in Main Panel)
- select group "Blade_Skin" that contains mesh with normal textures
- ungroup this group (optional)
- Main Panel -> Views -> View Port Configuration -> Rendering Method
-> Rendering Level -> check "Wireframe" option
- select the "Nameofperson" model
- Command Panel -> Modify -> Modifire Stack -> Editable Mesh ->
Sub-Object -> Face -> Edit Face -> Selection Level -> Sub Object -> Face -> Edit Surface -> Selection -> Face -> Smoothing Groups -> press button "Select By Smooth Group".
You will see window with inactive buttons with numbers.
- press any button with numbers in this window -> appropriate smoothing groups will be highlighted in red.
Attention! Don't press "Clear All" button in Smoothing Groups Panel! The markup will be removed!
Also "Blade_Mutilations" group (that contains mesh with textures with wounds) has a special markup. To see this markup you have to repeat the same steps.
Next models have not the "Blade_Mutilations" group, therefore they can not be broken up into pieces and adapt textures of wounds:
I create a file InitNewChars.py to pre-load the .BOD files.
This has pairs of lines like this:
Code: Select all
It's is critical that this file is executed at the right place in the load routine. I exe it from cfg.py
Code: Select all
execfile("..\\..\\Scripts\sys_init.py") Bladex.ReadLevel("ProsperoArena6.lvl") execfile("InitNewChars.py") # must go here execfile("..\\..\\Scripts\BladeInit.py") execfile("DefFuncs.py") execfile("enemigos.py") execfile("objs.py") etc......
To actually install the new .BOD to it's right place I create a folder - To3DChars - and put the new .BOD file in there. Then create a file: Installnewstuff.py. You will find one in all of my maps. It is executed from the end of the BLModInfo.py.
Code: Select all
inststuff=0 if inststuff==0: execfile("../../BODLoader/Mods/ProsperoArena6/Installnewstuff.py") instuff=1
It also works to install new sound files, animations and objects. Basically, if the file doesn't exist in the destination folder or is an older version, it will copy the file to the right place. Once there it will stay there unless you re-install the game.
If you do all this, you should me able to use the SetMesh("InternalNameOfChar") command. As long as the new mesh has the same number of nodes as the model you are applying to, it should work.
That's the theory anyway. Any questions/problems - give a shout. [:D]
btw. To check new char models are 'right' before using them in action, I like to create them as and object first. Use the same creation code but omit the final ,"Person") argument. You can then examine the model for any missing texture or other weirdness.
I think there might have been a reason for it at one time, but whatever it was probably no longer applies.
I did arrange the file structure in demo amps so new char data could be accessed from another map, thus saving having to duplicate all the files. That's probably a hang-on to the days of dial up when saving a bit of weight was important.
I try to use the method "InitNewChars.py" and "Installnewstuff.py" and everything is ok but when I load the level with the new objects the charge of level fail.
What could be wrong? [B)]
Forget writing to the BodLink.list. It's a clunky method and has certain glitches.
First check that there is a .BOD file in the 3DObjs folder.
Check that the name is right.....
..\..\3DOBJS\object.BOD # this must be the name of the file
object # this must be the Internal name that you gave the Group in max
If you like, send me the .BOD file and I'll check it in a map.
With ArmourMod installed but donÂ´t working I replace the BodLink by another with all ..\..\3DOBJS\######.BOD includes and work.
The problem is how can I replace this with the same effect but with InitNewChars.py.
Sorry for my english. [xx(]
The InitNewChars method only loads the BODs that are required for the particular mod/map while it is running. It doesn't need the BodLink.list to refer to.