So as Edt suggested once .. I'm gonna try to make a tutorial on custom characters . I'll make it in parts and update the posts as I add to it ..
I. Definitions, Tools and Preparation
II. Simple TRAC and TRAM modifications
III. Simple TRMA and Texture modifications and photoshop tips
IV. Simple TRBS modification (body part swapping)
V. Advanced TRBS modification, (body part merging)
VI. Combining model and texture modification
VII. Particle modification (chenille, contrail colors, Hit impacts)
VIII. Simple Character Sound modification (using existing sounds) and Advanced using custom made sounds
IX. Other character stuff .. (health, jump heights, combat and melee Ids, switching characters in a level)
I'll take casey as an example through out the tutorial cause he has a variety of modifications .. you can download the package and explore the files as u read the tutorial.
I. Definitions, Tools and Preparation
ONCC : character class, each character has an ONCC and even each outfit has an ONCC, example casey lion jacket is ONCCcasey_e and casey copoutfit is ONCCcasey_c .. This file type carries all the character related info
ONCV: character variant .. ONCCs can belong to 1 ONCV example all casey outfits are ONCVcasey .. The ONCV is specified in the ONCC, and all the ONCVs are listed in the ONVL : character variant list.
TRBS: model file of the character, we'll get this from dae.
TRMA:Texture links file, this file specifies what texture is used for each of the 19 body parts.
TXMP : texture file .. We'll get this from png or tga files.
TRAC : will list all the character's moves
TRAM: animation file (move) .. We can also get this from dae .. TRAMCASCOMkick_heavy is a custom made TRAM
have OniSplit latest version
have Demos's or Script10-k GUI
have Autodesk XSI 7.5
have a Spreadsheet program (excel)
this step will make it easier for us to mod so it's advisable to do it ..
1. Install all mods u may need in ur modding (example if u plan to use casey model in something later on, install casey, if u plan to use Severed textures for the characters install Severedtextures pack or the CharacterRetexture pack, if u want ur animations to break glass install glass breaking moves, if u want the super's to be semivulnerable install Andrashi Trams .. Etc .. Basically it's advisable to install all character and character texture and move related packages.)
after u install with the Ae installer.
use Onisplit and decompile level0_final dat that u'll find in the edition game data folder .. Decompile level0_final using demos's gui or script's gui .. This will convert the dat file to oni files .. Decompile them to a folder, and call it 'source' what we did here is install all mods we want .. They got combined to level0-final dat and then we broke this file to oni files in 1 folder. So now the 'source' folder has the files from all the packages in 1 place and we'll use these oni files for our modding.
Setting up a new character .. Convert an ONCC to xml example muro's oncc from the 'source folder' to xml and put it in 'projects' folder .. Rename it onccnewcharacter or whatever u want ur character's name to be, now we'll make a new character using different modifications to the ONCC
II.TRAC and TRAM modification
this is simplest form of character modification
giving them different already exisitng moves.
example let's say we want to make a new casey that has muro's heavy punch instead of the heavy punch we already have.
1. We'll need to know what's casey's TRAC to do that find in the 'source' folder ONCCcasey.oni .. Convert this to xml into another folder let's say call it 'project' .. Now we have ONCCcasey.xml in the projects folder .. Open the xml with notepad++ .. Find in it (ctrl+f) TRAC .. U'll see the name of the TRAC in the ONCC : TRACcasey_animations .. here we can switch the TRAC to another 1 of another character to switch alll the moves .. Example TRACtanker_animations to give him tanker's moveset. But that's not what we want now, we want to change a single move.
so let's go back to the TRAC. We now find it in the 'source' folder and convert TRACcasey_animations.oni to xml into the projects folder. Open the xml u'll see a list of moves in it ..
find punch_heavy line .. Change it to MURCOMpunch_heavy or to any other punch heavy .. For the names of moves u can check here ... http://wiki.oni2.net/Gameplay/Combat_moves
u can also add or remove moves, example try to give him ninja's backward jump flip .. Find its name in the link given above in the wiki and add it to the TRAC, once done save the xml and convert the TRAc to oni and make it into a package ..
if u want to let's say give him elite's punch TRAMELICOMcomb_p don't forget to remove or replace his current punch from the TRAC TRAMCASCOMcomb_p
let's raise the level now.
How to edit combos, example for Casey his current 3 kicks are a combo of : 2 first kicks from striker and 3rd kick from Swat TCTF. Let's discuss how that was done.
if we just add
TRAMSTRCOMcomb_k and TRAMSTRCOMcomb_k_k and TRAMTCTCOMcomb_k_k_k to the TRAC and convert to oni .. We'll notice that he'll do the first 2 kicks from striker but for the third he'll either not do anything or do a striker 3rd kick .. Why not the swat one ? Even though it's in his TRAC .. Because the 2nd kick STRCOMcomb_k_k doesn't link to it, it links to the 3rd striker kick .. So what we'll have to do is edit the 3 kicks in xml
rename STRCOMcomb_k to CASCOMcomb_k open this xml in notepad++, u'll notice there's a link in it to STRCOMcomb_k_k change STR to CAS.
now rename STRCOMcomb_k_k.xml to CASCOMcomb_k_k.xml and open it .. Now here we can change the link in it from STRCOMcomb_k_k_k to TCTCOMcomb_k_k_k or to CASOMcomb_k_k_k (then we'll have to rename the TCT one to CAS but it's better this way if we want to modify the third kick and not affect the SWAT's original kick or have it affected by other mods that might change the SWAT's moves) then we make sure that all of these TRAM names are included in the TRAC and that equivalent moves are removed from the TRAC.
Moves of character's of different heights and stances.
The easiest move switching is done between characters of same height and similar stance.
example STRIKER, Elite, Swat all have same stance and height (i know striker's look shorter than elite's in game but that's different) Comguy, cops, thugs share similar stance .. Furies, konoko, femcops share same height but different stance.
Tanker's and ninja are different than others.. Tanker's height is similar to comguy's rather than strikers but different stance, and ninjas heights are between comguy's and females, and their stance is most unique.
why is this important ?
When we gave casey striker's and swat's kicks we notice that the 3 kicks kinda flow together well, there's no break or apparent glitch between 2nd and 3red kick and also no glitch from when he started the kick from his idle combat pose and when he returned to this pose after he finished the 3rd kick, that's because casey uses striker's combat idle pose and the 3 kicks have same height and stance as striker's.
however if for the 3rd kick we gave him COMGUY's or konoko's kick we'll notice that between the 2nd and third kick there's a glitch he suddenly sinks in the ground a bit and then after the 3rd kick he returns to his idle pose in a very non smooth way, that's because konoko's or comguy are shorter than striker and have different stance.
how to solve this ?
For heights :
we'll edit the TRAMs in xml ... Let's say we want to give him a konoko move, currently he has her forward kick. How was that done
1. Find and convert TRAMKONCOMkick_fw from the source folder to xml into the projects folder .. Rename it to CASCOM..
2.Open it in notepad++ .. Scroll till u find a part which says <Heights>....</Heights> now copy all the rows of heights ..
3.Paste them into a new document in notepad++ .. Highlight (select) the word <Height> press ctrl+f .. A find box will open switch to the replace tab .. And replace it with nothing i.e leave the 'replace with' box empty and hit replace all. Do same for </Height> now u have only the values..
4.Copy these values to excel .. We're gonna add a value to them to make them fit casey's height (ie striker's height) i pre-calculated the difference so u can use it directly ..
*Converting between females and Striker/elite/swat (trying to use a female move for striker character) add to the original female move 1.8460934
*between females and comguys/muro/cops/thugs/tankers add 1.0490249
*between comguys and strikers/elites/swats add 0.7970685
*between crouched female move and crouched comguy move add 1.429101 (example a crouch kick of the fury to be use for a comguy)
if vice versa ie using comguy move for female u'll need to subtract the value from the original male move.
5.in the excel have these columns
column A has the pasted values from notepad ++ .. Column B has the value to be added .. In Column C write <Height> column D = A+B column E write </Height> ..
6.now copy column C, D and E to new document in notepad++ .. U'll have the new heights and the height tags .. U'll notice there's some space between the height tag and the value .. Scroll to the bottom .. Press Alt then drag the cursor selecting the empty space, up across the rows if u do this correctly u'll only select the empty space, then press delete to delete the space .. Now copy the height tags and the new valuse to the TRAMCASCOMkick_fw and paste them instead of the old height values and tags.. U can press Tab a few times to align the pasted data .. Save this xml.. This solves the heights issue .. How about the transition from the move to the idle stance ?.. Luckily that's much easier find in the TRAM to be edited the line that says interpolation and change the value to 5 or 6 .. This will make the transition smoother (should note however for ninja's and tanker's moves it will still look rough u may need to use a higher value)
Changing move types
for casey his running punch throw is SWAT's static punch, his kick throw is SWAT's punch throw .. How to do that ?
let's talk about making the SWAT's static forward punch (lion fist) to casey's running punch throw ..
Convert the TRAMTCTCOMpunch_fw to xml and for comparison, convert maybe konoko's running punch to xml. Open the 2 xml .. Notice that both are type punch but they differ in the 'from state' 'to state' flags and the shortcut, change the info in the static forward punch to match that of konoko's running punch .. (only the fields that define the move's type) save and convert to xml
Hit Types, Knockdown, Stun, Stagger and other flags
You can also change the effect the move has, example casey's bk-fw-kick (willow kick equivalent) is originall SWAT's low kick (crouch + kick together) with type changed to match konoko's willow kick and with effect changed to make enemy grab foot when hit with it .. To do that we changed the hittype to hitfootouch,
we can also specify damage here .. Stun is how long enemy remains in blocking animation if the move was blocked and stagger is somewhat similar to it .. These don't concern us much, we care abt hittype, knockback and hitlength
hittype as we said can be HitFootOuch other important hit types are: HitJewels, KnockdownHead, KonckdownFoot, HitHead, HitBody, HitFoot .. others are mentioned here http://wiki.oni2.net/OBD_talk:StNA
hitlength determines how long the hittype effect will last ie how long will he grab his foot for example.
knockback determines how far the enemy is pushed away when hit by the move .. For 3 punches for example u should pay attention not to set this too high for second punch or the target will be out of reach for the 3rd punch.
important note: to make a move knockdown enemy the hittype should be knockdown head or knockdown foot and the hitlength should be 5 or less.
other flags u can set for the move are : Unblockable, HalfDamage, High, Low ... Halfdamage does half the damage when blocked, usually supers have that flag, Low means the move can only be blocked if target is crouch blocking, example a crouch kick can't be blocked while enemy is standing, vice versa for high, and unblockable is clear.
in the TRAM you can also set the character to be invulnerable while he does a move, u'll find that tag at the beginning of the xml .. U can give it flag invulnerable to make it completely invulnerable or specify during which frames of the move character is invulnerable.
some other stuff in the TRAM is the hitimpact .. Example for casey's heavy kick the impact is blue flash .. U'll find the hitimpact tag in the tram and u can compare it with other moves to know what the impact is called, for example the sriker's blue flash impact is strflash1
u can also add a trail (white trail) or contrail (colored trail) and motion blur for the moves .. We'll discuss custom contrails and custom hit impacts later in particles.
Here it's enough to specify in the TRAM contrail or trail without knowing the exact name, however u'll need to know the exact name of the contrail u want to use to specify it in the ONCC later.
if u used the method i said and made a source folder, the TRAM should already have glass breaking in it.
Throws and Throw problems
For throws we should mention that every throw is 2 TRAMs .. One the animation the thrower does and 1 the animation for the target being thrown. (tgt)
casey was given fury's static punch throw .. Remember that means we had to adjust heights of the move for throws u'll also need to adjust the heights for the tgt same way.
casey was given several throws from different characters and some throws were changed type from punch throw to kick throw .. Example he got konoko's running kick throw, muro's running punch throw, fury's static punch throw and his static kick throw is actually SWAT's static punch throw where we changed its type ..
When given so many throws from different characters and esp when changing throw types u'll notice that sometimes when the character does a throw the target will play an animation from a different throw ..
Example when given muro's run punch throw sometimes the target would fly as if he was hit by konoko's run kick throw instead of falling down neck broken.. (provided that both these throws and tgt are mentioned in the TRAC of course) Opening the throws in xml i found out that both throws had same thrown type .. To solve that u need to change the thrown type to something different that is not used by other throws the character is using .. Example change thrown6 to thrown7 or 4 or whatever that is not used. But remember u'll also need to change it in the corresponding tgt. And better to rename the throw TRAM and its tgt to something new so it doesn't affect the original throw in game (and remember to include them in the TRAC)
so now u can make a new character by changing its moves .. How about changing its look ?
Part 2 : TRMA and TXMP
Last edited by Samer (4/9/12 2:16)
III. Simple TRMA and Texture modifications and Photoshop tips
Another form of simple character modding is changing textures, example a striker with camouflage textures or a blackops konoko or grey fury. We'll take grey fury as example.
We have 2 methods either using the TRMA or using ONCC and XSI. Using ONCC is easier as it will allow us to preview the textures on the model as we work, but sooner or later the 2 methods will overlap.
Using the TRMA method:
first off use the 'source' folder we made and covert the fury's ONCC (fury is called RED) to xml and find in it the line that mentions the TRMA ... Now we'll know the TRMA name .. Also find it in the 'source' folder and convert it to xml .. Open it .. In it there are links to texture files (TXMPs)for each of the 19 body parts .. It goes like this:
1.PELVIS 2.THIGH 3.CALF 4.FOOT 5.THIGH 6.CALF 7.FOOT 8.MID 9.CHEST 10.NECK 11.HEAD 12.SHOULDER 13.BICEP 14.WRIST 15.FIST 16.SHOULDER 17.BICEP 18.WRIST 19.FIST
You can find those TXMP files and convert them to tga or png .. I use tga.
Now it depends are we replacing the original fury .. Or are we adding a new fury ? .. If we're replacing we'll modify the textures and keep their name the same .. If we're making a new fury .. We'll first change the name of the ONCC to say ONCCfury-grey
and then change the TRMA link in it to also let's say TRMAfury-grey and change the links in the TRMA to new names .. ( u don't have to use same name system ..for example u don't need to name it Iteration001%FRED_chest .. U can simply name it furygrey-chest or grey-chest or bunny for that matter .. But it will be neater and easier to figure out later if u keep the name of body part as part of the name xxx_pelvis xxx_chest .. You may use 1 texture file for more than 1 body part . example right and left thigh usually use same texture xxx_thigh same for calfs, fists, biceps, wrists, shoulders, feet .. Unless there's a difference between the right and left side example casey in his new blue outfit has belts on 1 thigh not the other.
Civilians use 1 texture file for the pelvis. Thighs, calfs and feet.
Let's go back to our grey fury .. We now renamed the links in the TRMA and the tga files to match the names we used .. Be careful it's case sensitive casey_pelvis is not same as casey_Pelvis .. If in game u find a texture black, most often you've mistyped the name of the texture in the TRMA or in the file name.
we now open the tga files in Photoshop and modify them .. If u can't get Photoshop Gimp is a free alternative, but in my tutorial i'll be using photoshop ..
If we went with the ONCC method we'll be able to preview our work on the model as we work this is esp useful if u're modifying many body parts and the textures are blury and hard to figure out .. U'll have to:
1. Know the character's ONCC whose textures we're modifying ..
From the 'source' folder we made .. Find and convert the ONCC to dae (not xml this time) into the project folder (or whatever u name the folder).. u'll get the model as dae and it will create an images folder which contains all images of the TRMA .. This will only work if u made the source folder, because the oncc, trma and txmps all should be in same folder.
2.now open xsi .. Drag and drop the dae file into it .. There are 4 views .. Expand the top right one ..
On the top right u'll also see 'wireframe' click that drop-down menu and select 'textured decal' ..now u'll see the model with the textures ..
Press S on the keyboard and move the mouse around to rotate the camera around .. U can select individual body parts and press H to hide them for better view ..
3.to view how the model is actually using the texture i.e to see the U.V maps .. And the texture select the body part and open the texture editor in xsi .. It has an icon in the main shelf .. If the main shelf is not apparent u can enable it through the view menu -> optional panels -> main shelf .. or simply press Alt 7
U'll see those yellow lines and points drawn over the texture these are the U.V maps which define what part of the texture is applied to what polygon ..
4.now if u edit and save the textures in the images folder they will instantly update on the model too in xsi as long as u don't change their name. So this method can be used initially to edit textures instead of converting txmps ..
And at the end once all image editing is done u can then convert the ONCC & TRMA to xml and change the names in the TRMA and those of the images.
Now let's take a look at the actual image editing in Photoshop.
if u're modifiying textures from original game characters u'll notice that the images will be very small and pixelated ... Maximum supported image size is 512x512 for pc. And textures should be in that ratio .. Example 256x256, 128x128 and 64x64 they can also be 512x256 .. 256x128, 128x64
for the pelvis, head and chest i usually use 512x512, for other parts 256x256 and for foot and fist usually 128 or 256 depending on level of detail in texture, if u have a single color texture example a mono-colored neck u can use the 64x64 ..
nowadays we use the brg32 color format in Oni .. So u'll be saving the textures as 32-bit ..
So let's texture that fury chest .. U can simply keep it same size and color it .. Use the brush tool, select the color u want and in the brush mode select 'color' or 'overlay' and set opacity and manually color the texture .. Experiment till u get the desired color, undo if not satisfied with the result .. U can also use 'image adjustments' and try to manipulate color balance and hue and saturation.
u can select the part of the texture u want to modify using the magic tool or quick select tool .. Also experiment with its range ..
However modifying small textures from the game won't look so good ..
here are some methods i use to improve them ..
Simplest method : resize the image example a 128 to a 512 ..
*Step 1: use filters then select Gaussian blur .. Apply a value of about 1 to 4 .. The smaller the image size u're using the less value u should use here or it will end up very blury .. We're aiming to remove the ugly pixelation from image .
*step 2 : for the parts which u don't want to be blurry use the history brush, and on the right u'll find a history pane .. Check the point just before u used the blur filter .. Now use the history brush on the parts which u want to remove the blur from .. U can also make a mask or only select the parts u want to blur using magic wand and quick select before u apply the blur, but i find this easier ..
*Step 3 to just refine the borders more use the filter effect called 'poster edges' set the edge thickness to 1 or lower and experiment till u get the desired result ..
this 3 step method gives ok results if u're in a hurry and the textures aren't that detailed ..
Second method which i usually use on cloth part most .. Example i used this a little bit on the cloth part of casey's light tctf .. And the hd tctf i have in my character retexture pack .. First i only select the cloth part .. With quick select or magic wand .. I apply a very light blur .. Then i select the most dominant color and use the color brush to color the whole cloth .. This will remove pixelation and little annoying color smudges that may result from blur, u may also want to use the normal mode brush with about 10 to 40 % opacity to level the colors more.
Third Method this i use for complete new characters, and for HD textures .. and will give the best looking results (hopefully) but requires most work ..
Will take the tctf armor for casey as an example ..
1.resize the original tctf light trooper chest image to 512x512 ..
2.duplicate the layer .. (in the right pane 'layers' right click on it and select duplicate layer ..
now u have 2 copies (layers) of the original image on top of each other ..
Now select the most dominant color .. For example here grey for the armor .. Dark blue for the cloth .. Paint all the top layer dark blue .. Using 100% opacity normal brush.
now in the right pane decrease the opacity of the top layer till you're able to see the bottom (original unmodified layer) from underneath we'll us the lower image to guide us.
3.It would also be helpful to get the uv maps as an image into Photoshop to help guide u and to know which part of the texture is used by the model .. To do so in the texture editor in xsi in the edit menu select stamp uv mesh and u'll be asked to save the image .. Save it in the project folder as tga .. Now u can open this image (stamp) in Photoshop, you'll have an image of the texture and the yellow lines drawn on it .. You can copy and paste this as a layer to the image we're modifying .. And reorder the layers by dragging and dropping, so u have .. Top most layer : solid color, underneath it the stamp with U.V map and underneath that the original unmodified image .. You can manipulate opacity or temporarily make a layer invisible by clicking on the eye icon near the layer.
4.Now that we've filled the top layer with a solid color we'll try and define the edges of the other stuff in it
Use the line tool and trace (draw) the edges of the armor onto the top layer using the bottom layers as guidance ..
now select the part of the image surrounded by the lines i.e the armor and color it solid grey ..
Now the top layer is 2 colors, grey and dark blue and the lines are refined ..
It's a good idea to save the brush with the color u used if u're going to use it on other body parts as well .. To save the brush in the drop down menu of the brush shape there's a small square or arrow that allows u to save it, check 'include color' and type a name easy to remember such as cas armor for example.
5.now to add details .. Again we'll use the lower (original) image as guidance .. This time we'll use the dodge and burn tools to add highlights and shadows respectively .. Don't be afraid to get the shadows a bit darker but go easier on the highlights, i found in game that the textures tend to get a bit brighter and the shadows don't pop out as much as they did in photoshop ..
So here too we'll be decreasing the opacity of the top layer so we can see the shadows and highlights from the original image underneath and applying the burn and dodge on the top layer ...
6.By now the image should be looking rather good but if we still think it looks a bit flat we can apply some patterns and textures ..
for example select the grey part i.e the armor, and from the filter menu select texturizer .. Sandstone with small particle size and low relief can look good on metals and on cloth that have rough textures .. Canvas can look good on some cloth .. U can also load more custom textures to apply to our image example leather or other metal or fabric textures .. U can find such stuff on the internet save the texture u download as psd then load it in the texturizer filter by clicking on the small drop down menu and selecting load texture ..
advanced users can make their own texture patterns ..
Some important notes to remember about texture patterns is u should keep in mind the image size ..
Example if the chest is 512x512 on which u apply a pattern with 100% size and relief = 4 .. While the mid is 256x256 and u apply same pattern size and relief on the mid .. In game the mid will have larger distorted pattern than the chest .. That is part due to image size and part due to how the 3d model part 'takes' the texture .. How the U.V maps are stretched on the image ...
We'll discuss that later on .. But as general rule .. If u apply a 100% size texture on a 512 sized texture .. Apply a 50% on 256 and decrease the relief a bit ..
Now when we're happy with our image we'll save it .. When u have more than 1 layer we can only save as psd .. It's a good idea to save and make copies of the image before we make a big step example save and make a copy when u're done drawing edges and filling the solid color before u apply dodge and burn .. And a copy before u apply texturizer filter .. in case u make a mistake .. Also u can change how many undos u can make in photoshop in the preferences .. Set it high if ur computer can handle it ..
to save the image as tga we need to flatten the image or merge all layers ..
these are 3 basic methods u can use, of course u can always combine and modify them ..
as u experiment in Photoshop u'll learn more stuff and techniques on ur own .. Example using multiple layers and blending them .. Using other filter effects to improve the look and feel of the texture .. Incorporating logos and images from other sources, example lion image on casey's jacket ... and using custom brushes to add patterns and effects, example i found a set of eyebrow brushes which i now use on face textures, tirbal symbols, stars, metal nails and bullets which i use on armors, and even dragon symbol brushes.
I also use the smudge, heal brush and blur tool extensively to modify Severed face textures to make new ones..
Finally converting the image .. Using demos's gui make sure u check color format brg32 and the large option as u convert the images to oni.
keep this for last especially if you're using XSI to view textures on models because textures which have reflectivity won't appear in XSI .. ( if u get that and would like to make them visible in xsi, a
work around is to make a copy of those textures then to delete alpha channel temporarily from the original images, convert them back to oni, drop them in the 'source' folder replacing the ones already there then re-extract the oncc, this time it will extract with the textures not having reflectivity and you'll be able to see them in xsi, and once u're done editing u can put the alpha channel again from the copies)
To make a texture reflective :
for example the armor of casey's light tctf outfit .. We'll have to add an alpha channel ..
in photoshop to the right near the layers pane there's also a channels pane .. Switch to it .. And now right click and select new channel .. Name it alpha ..
You'll also see that eye icon near the channels, disable the RGB one or the alpha according to need.
in the alpha we can only use whites, blacks and grey .. The part u color white will be most reflective and what u color black won't be reflective.
to make the armor reflective i'll first make the alpha invisible, then make sure the RGB channel is selected, I'll now use the magic wand and quick select tool to select all the armor in the rgb channel, now I'll enable and switch to the alpha channel and make the rgb one invisible .. You'll see that the selection is still there, now I'll choose white or shade of grey depending on how reflective i want the texture to be, and color the selection in the alpha channel with it. The darker greys may look better.
The cloth part should be colored black in alpha, i use the selection tool, right click on the image and choose select inverse, now the cloth part is selected, i color it black.
save the image.
Using demos's gui .. When converting the image select brga32 and put a tic near Large and envmap .. In the envmap u can type 1 of 3 options:
TXMPstrikerarmor TXMPSUPER_REFLECT and TXMPenvksface
the striker armor is best for metal, super reflect is also good but has a bit of a red tint. The envkSface has a strong purple tinge (used for konoko's hair)
You can make ur own envmap by modifying these ones (convert them to tga and edit them, rename them and convert to oni using brg32) .. If u are going to use your own envmap make sure it is present as oni file with the tga images when u convert them and don't forget to include it in the package as well.
To make a character texture completely transaprent, color the alpha black not white (use tga not png), then when exporting using demos's gui, select bgra32 and tic envmap but leave the envmap field blank
Last edited by Samer (6/9/12 12:52)
IV. Simple TRBS modification (body part swapping)
Simple TRBS (Model) Modification
Now let's get into making new models ..
Easiest form is swapping body parts : example konoko in a fury outfit (konoko's head on fury body), Shinatama's head on training bot body (my shinibot ^_^)
we'll start with the easier one .. Konoko's head on fury's body ..
like the case with textures, we can go in 2 directions .. Either using the ONCC in which we'll get the model and textures, or using TRBS.
if we convert TRBS to dae we'll get the model in a folded form ..
Though using the ONCC will be easier as the model will be standing up and u can see the textures at the same time, I've found that using the TRBS is more reliable and then keeping the ONCC method for last when I'm texturing the entire model.
For the simple stuff we'll use the ONCC, once we get to more advanced stuff which involves rotations and merging body parts we'll use the TRBS.
Mixing body parts from characters with similar heights and stances
Now to make that konoko fury.
We'll find and convert the ONCC of both konoko and fury to dae and into the 'projects folder' we'll also get the textures into the image folder.
we open xsi and expand that top right view and select textured decal like before.
now we'll determine which of the 2 models we'll be keeping most of the body parts ? In our case the fury will keep all the body parts except the head, while konoko will only keep the head ..
so we drag and drop fury's dae first into XSI, the model with textures should appear ..
In the main shelf find and click the icon of schematic (tree graph thingy) ..
You'll see a sort of a chart which displays how the body parts are linked together, it's called parent and child pelvis is the great great grandfather and fists and feet are the babies of the family calfs and wrists are their parents
get familiar with this hierarchy and the correct names of the parts we'll be using it a lot and any error in the names or parenting will make the model look .. very bad in game.. There were so many times i had konoko's head come out of her chest or instead of her fist cz i parented wrong or mistyped the name.
To the right under the constrain pane in xsi u'll find 'parent' and 'cut' ... If the constrain pane is not showing probably the transform pane is expanded and taking all the space simply right click on the transform tab to collapse it and show the constrain one ..
now let's get konoko in .. Drag and drop her dae into the scene .. Most probably she and the fury will be superimposed on each other .. To hide the fury .. In the schematic view select all her body parts and press H. Now u can see konoko. (selecting and pressing H again to show)
In the schematic viewer u'll also notice that all konoko's parts have '2' added at the end .. Now let's do what we're here for ..
Select the fury's head and click cut from the constrain panel, and do the same for konoko now select the fury's neck and click parent in the constrain panel then select konoko's head ... you'll see that a line now links fury's neck to konoko's head in the schematic viewer.
Now select all konoko body parts and fury's head and delete them.
Now u have a fury with konoko's head however there's one very important step we still have to do, rename konoko's head to head instead of head2. To do so double click the head square in the schematic view and name it head. (that's why we dropped the fury first or we would have had to rename her 18 parts)
now export the model as dae .. File -> crosswalk -> export dae. Save it in our projects folder.
convert this dae using demos's gui the 3D tab to TRBS ..
we're making a new character so we'll also need to convert ONCCkonoko_generic to xml rename it say ONCCkonoko_fury and change the TRBS in it to the new TRBS we made, also don't forget if we keep same TRMA she'll get the tctf textures on a fury body which would look horrible so we also need to change the TRMA to TRMA konoko_fury .. And edit this TRMA in xml and rename it .. you can change the links in it so it has the textures of the fury for the 18 parts and konoko's texture for the head .. Or modify and rename them like we did before .. Example is my konoko violet fury ..
convert everything to oni .. Make a package and test in game.
that wasn't too bad was it ?
let's rasie the level a bit now.
Mixing body parts from characters with different heights and stances
This was relatively easy because konoko and fury have same height and body proportions and the stance isn't very different.
however when we are using body parts from different characters that are more different in height and stance it will require a bit more modification.
take a look at shinibot .. It's a combo of shinatama head (female stance and height) and training bot body(comguy stance and height) and fury's feet. export them as dae and drag and drop them into oni .. You'll notice they have different body proportions and the way they're standing is different .. We can still get away with it and cut and parent the parts we want, cz the bot's anatomy is a bit ambiguous and we're only changing 3 body parts .. Or if u want to be more precise here's what we can do :
Before converting the bot's oncc to dae make a copy of it in the source folder .. Convert the copy to xml and in it change the TRAC to konoko's instead of comguy save the xml and convert it to oni keeping it in the source folder.. Now convert the ONCC copy we just modified to dae into the projects folder, drag and drop the dae into XSI, you should get the bot standing like konoko this will make it easier to compare to shinatama and to preview how the final result will look like cz in the end shinibot will be using konoko's stance not the bot's ..
you still may need to change the size of some body parts and move them a bit.
To do so we'll select the body part and then the scale option from the transform panel .. S is scale, T is translate (move) and R is rotate .. Don't mess with rotation if u're using ONCC, for scaling u can scale it along X, Y or Z axis or all three, once u're happy with the size, click on the transform panel and a menu will pop out, select Freeze Scaling, u'll see now that the body part is still resized but the values under scale are all 1. .. you can do same with translation but don't freeze the translation..
Sometimes when u scale say the biceps the wrists will also resize .. If u don't want that .. A work around is to cut the wrists from the biceps, scale the biceps and freeze the scaling and then reparenting them to wrists. That way the biceps would have been resized but not the wrists.
Once happy with it, crosswalk export to dae like before.
More mixing and matching and polymesh manipulation
let's take yet another more complex example ..
Take a look at casey in his original lose screen outfit (ONCCcasey)
can u guess how many characters are combined to make him ?
the head is actually from caren (female cop) the chest and mid are from tanker, the biceps are from ninja, the wrists and fists are from comguy, the pelvis, neck and shoulders are from male cop, the thighs, calfs and feet are from tctf light trooper. So that's 6 characters into 1.
Here casey will use comguy idle pose (he uses striker's combat idle pose but comguy's standing idle pose) so i needed to modify all used ONCCs to use comguy trac before i converted them to dae) then i scaled, parented,cut and renamed parts to get that final result.
Changing the pose however maybe unnecessary if u're using the TRBS not ONCC method.
Let's take a closer look at the head though. Starting from the female cop head, i modified it to make it more masculine i did so by selecting and moving points of the head mesh around .. Example made a wider jaw, when u do this it's best to use the textured decal view and keep a look at the uv maps and maybe modify the texture with Photoshop at the same time.. Sometimes when u change the shape of the head the u.v maps will go out of proportion too, first time i modified casey's head he ended up looking like he was hit by a bus, the model was ok but the texture didn't fit the u.v maps anymore ..
Also when using textured decal view, and you select some points or edges sometimes the points or edges behind them get selected too without you noticing, also a bad experience i had was modifying the points of the face and once done and turning the head around i found out i made a mess of the back of the head .. To avoid this once you select points or edges, switch to wireframe view and make sure only the points you want are selected .. You can select more than 1 component by pressing ctrl as u select with the mouse.
you can also use raycast edge select tool by pressing i .. And raycast polygon select tool by pressing u .. This allows u to select edges or polygons that are facing u only.
Should mention if you're working with trbs not oncc and u want to show the texture on the body part, first select the body part, open the texture editor, click on the clip menu then import clip, finally browse and open the image you want.
Another thing is u can change the U.V map itself, in the texture editor, select the points and move them around by pressing V, select several points .. Or select polygons on the mesh and the corresponding points will be selected in the texture editor .. You can also resize the U.V maps by pressing X.
Do so only if you have a very good texture and the U.V maps are just wrong, don't use this to correct for errors in the texture itself ..
Example if u have a face texture and the eyes are asymmetrical in the image, correct the image rather than manipulating the UV maps.
Other modifications i made to the head were adding more details example by making the chin less flat and nose less pointy, to do so i added more points and edges .. Example split the jaw edge (from the left panel under modify then poly mesh and select split edge) then I moved the point at the middle of the edge to give it more shape.
It's important to remember however that all objects should be triangulated, for them to be imported into Oni, as u add edges and points make sure they remain triangles .. To make sure u have no quads or 5 sided polys select the object .. Click the edit menu, then 'info selection' it will give u the info about how many edges, points and triangles and other polys are present .. If u have quads or other polys than triangles, u'll need to remove them ..
To do so you can select the object then under the modify select poly mesh : triangulate .. Xsi will triangulate them automatically, just to be sure take a look at the info selection again.
however sometimes xsi triangulates the polygons asymmetrically .. Most often this is unnoticeable but sometimes in game that will lead to uneven shading of the 2 sides of the face and just look bad, so u can manually triangulate the polygons, by adding edges, dissolving edges (press delete) and welding points .. Weld point tool is also very useful in bridging gaps and welding close edges and points together thus decreasing unnecessary extra polygons ... just don't forget to keep an eye on the uv map and texture while u do that.
sometimes it might be difficult to spot which polygons are quads .. So u can first select the object then to the right click on the Select panel so the pop menu appears and choose select n-sided polygons ..
So we should avoid quads and gaps .. Another thing to avoid is 'blue edges' in the wireframe view u'll notice most edges are white (or yellow) you may however get blue ones especially if u're using the weld point tool a lot .. Those blue edges in game will make the mesh look unsmooth the light will break on them and there will be a noticeable difference between the polygons on either side of the edge in terms of lighting .. It will make it look 'polygony' you will see the triangles instead of it being smooth .. It's ok to have blue edges on borders, example back of the neck or between hair and face but u don't want it in the middle of the right cheek for example. To get rid of them, you can try selecting the edge and pressing delete (this is called dissolve) pressing alt delete (is called delete) will remove the edge all together and leave u with a gap usually which we don't want
if that doesn't work try using the weld point tool and just click on the points that make up that edge, don't weld them to anything, just click on them in place .. that often works (for some reason)
Some other tips ..
if you have a model which is symmetrical or you want it to be symmetrical and you modify 1 side of it, you don't need to modify the other manually you can 'duplicate symmetry' it.
for example let's say you want to remove the pads from comguy's biceps .. you select the edges on the right bicep using raycast edge select tool (pressing i) then press Alt delete to delete them .. Instead of having to do that again for the left one, you can simply duplicate the right one .. Use this method if you're using TRBS not ONCC souce. Select the body part cut it from its parent and child then edit : duplicate symmetry and select the axis .. You'll get a copy of it mirrored it should be superimposed on the left one .. Now delete the left unmodified after cutting it from parent and child, name the duplicate left_bicep and parent things correctly again ..
This concludes the simple TRBS modification ..
V. Advanced Model Modification
for this part we'll be using the TRBS (ie will convert TRBS.oni to dae) only advantage of converting ONCC to dae is the easier visualization of textures and the model will be standing, while in TRBS it will be folded, but I finf the TRBS more reliable when the modification i'm making is more than simple body part swapping and scaling.
Let's take a look at casey in his blackops outfit and tctf light outfit .. We used caren's head and modified it on tctf light's body .. Easy so far.. Take a look though at the microphone .. This came from the comguy ..
so now we'll discuss merging pieces of body parts and not entire body parts ..
to do this we'll need 1 more tool.
download the free Autodesk fbxconverter.
first we'll find and convert the 2 TRBS to dae .. TRBScasey and TRBS of the comguy .. We can check its name in the ONCC if we don't know it.
after that we'll drag and drop the 2 dae into XSI .. We can hide all body parts except the heads ..
first: we want to isolate the mic from comguy's head,
to do that we can use raycast edge select tool (press i) or the normal edge select or polygon select tool , i find edges easier .. Now move all the edges selected, away from comguy's head see if u missed an edge or added one, u'll know that if the mic is still connected to the head ..
2. To actually make the mic now a separate object ..
Under the create panel, select polymesh, extract polygons (delete) now select the mic .. (drag selection over the mic) .. This should make the mic a separate object and u can delete the rest of comguy's head.
u could also btw .. Just move the mic away and delete the edges and polygons of the rest of comguy's head without using the polygon extract method.
3. Now we should prepare to merge it with casey's head, so unhide casey's head .. Now select and translate the mic to position, use rotate and scale if necessary .. Till you're happy with the position ..
4. We should now adjust the U.V maps .. The mic U.V maps occupied certain part of comguy's face texture now they're going to be occupy that same position in casey's face texture image which may end up on his eyes or hair .. So we need to do some adjustments ..
First click on casey's head and open the texture editor (alt 7) and load his face texture as clip .. look at the uv maps .. See if there's some unoccupied part of the texture .. Now click on the mic at same time .. If there's no overlap between the uv maps of the mic and those of casey's head u're lucky .. If there is u'll need to select the mic and scale (press X) and/or move (press V) the u.v maps of the mic to a space not occupied by those of casey .. U may also want to work on the textures at the same time .. Example copy paste the mic texture part from comguy's head texture to casey's image and compare with XSI so u place the U.V maps correctly over the mic texture and avoid overlap .. Use the stamp uv mesh if necessary ..
5. You will also need to cut casey's head from the neck, now on the select panel choose center .. A point with 3 axis will appear .. This is the object's center .. When we merge the parts the center position will change and we'll need to manually readjust it .. So while u have center selected take a look at the values under translation (x, y, z) and copy them to somwhere or write them down.
6. Now to merge the parts .. You may want to save the scene or the whole file as dae before you merge .. To actually merge the parts, select both objects, mic and casey's head and on the left under create -> polymesh -> merge .. A box will appear now set the tolerance to 0, press merge U.V maps, and select delete under the input ..
now u should get the head with mic as a new object.
7. Now reset the center point select the new object then select center and enter the values of x,y,z we wrote down.
8.Now name it head and parent the neck to it ..
9. save this now as dae .. Call it casey1 for example
however for some reason OniSplit is unable to convert this dae ..
10. a work around is : export this file as fbx .. File -> Crosswalk -> export fbx .. Save it as casey2 for example .. Now open the fbx converter and convert casey2.fbx to casey2.dae
11.in XSI ( you still have casey1 dae open) delete the head from it .. Now drag and drop casey2.dae into the scene .. Cut and parent the head and delete the other parts of casey2 ..
12. Save this as dae example casey and finally convert this dae to trbs using onisplit ..
(you may try and convert casey2.dae directly to oni, but sometimes using that method it results in wrong body size in game)
I should give credit to Edt here as he figured out that workaround.
More body part merging, Polygon Reduction and Inversion
You could combine several body parts to one object at once .. Humane shinibot outfit for example .. Her chest is a combo of lara's chest, muro's collar, shinatama's bow tie and the circular thing is Iron demon's eye
You could prepare all the parts and merge them in 1 step ..
Sometimes you may also want to merge parts from outside of oni .. U may find some interesting stuff on some free model sites, a hat for example, hair, a sword, a scarf etc .. Either for merging or for using as is, a complete head for example .. Before u do so keep in mind :
1. It should be in a format XSI can open, preferably obj or dae
2. It should have U.V maps associated with it .. Better if it comes with its own textures as well
3. It should be triangulated
4. Keep in mind polygon count .. Not only for the separate object but the total after u merge it if it's to be merged .. Aim for max of 900 to 1000 polygon after merge per body part ..
You may want sometimes to decrease the polygon count for an object example a high poly head that you just want in game !
*To do that you can select the object and then under the modify panel choose polygon reduction .. Usually it's set to 50 if that gives ok results then great.
However most often that distorts the mesh a lot or leads to many gaps in it .. If the gaps are repairable try it out with weld point .. If not try a smaller value .. 35 or 20 for example ..
* If you want better results you could manually select polygons (press u) that u know you can live without .. Eyelashes for example or extra strands of hair and alt delete them ..
* You can also manually select the polygons that you want to reduce .. Example select the polygons under the neck or those of the ears or top of the head .. Then apply polygon reduction to those parts (polys).. While keeping higher polys on parts that you feel need them like the nose ..
*Or u may manually use the weld point, dissolve and draw edges to decrease the polygon count.
As you do that remeber to keep an eye on the textures, and avoid gaps and blue edges.
Sometimes in game after u import ur model u'll notice something strange .. Parts of the model show from the front but not from the back or vice versa .. For example in shinibot's humane outfit the collar would show from the back but from the front it would be transparent ..
Solving this is relatively easy .. Determine which parts are doing this .. In XSI select the polygons of these parts using the raycast polygon selection (press u) and then ..under modify panel, choose polymesh, duplicate polygons, then immediately after that step choose invert polygons ..
Export and test ..
If you don't want to take the time to select the polygons individually u could duplicate and invert all the polygons but keep in mind that will double the polygon count which is unnecessary.
Troubleshooting common problems
always keep in mind:
*Don't export any unnecessary parts in the dae : no scene root, or light or cameras
*Always make sure you have the correct parenting and naming
*Always make sure everything is triangulated
*Always make sure the U.V maps are present ..
*Always make sure the centers are at correct positions
*Always make sure scaling is 1 after u scale something. (freeze scaling)
*Always make sure you don't exceed polygon limit, and try to avoid gaps and blue and double edges.
* Save your work and make copies of the dae as you work .. Sometimes you don't notice a mistake till the end and there aren't enough undos ..
Last advice I can give, is think outside the box, and use your imagination .. Slapping a stiker head on a cop is cool and all but challenge yourself more .. Take a look at all the characters in game and see what parts can be useful, goggles and caps from thugs for example, wires from shinzombie, the spikes from ninjas .. take the time and do a simple sketch of the character you have in mind, search the net for objects and models you can combine with oni ones ..
Hayate black armored outfit .. Is modified fury with band head with tctf light armor chest merged with a katana object i found on the net, comguy shoulders and biceps, duplicated griffin wrists, modified tctf light pelvis with pieces of the katana made into a belt ..
Combine texture and model modification to make something new and unexpected
Last edited by Samer (7/9/12 2:35)
VII. Particle modification (chenille, contrail colors, Hit impacts)
VIII. Simple Character Sound modification (using existing sounds) and Advanced using custom made sounds
IX. Other character stuff .. (health, jump heights, combat and melee Ids, switching characters in a level)
I added the TRMA and Texture part .. if anyone is reading this tell me what you think ..
P.S sorry for some mistakes I'm used to writing I as i and you as u .. i tried to correct that as much as I could
This will be THE Tutorial on character modding!!! Very well written and easy to understand.
I was holding off on adding a comment in case you needed more comment slots for the tutorial
I added the simple and advanced model modification part, it's big but i wanted to share all i know and put examples .. Hopefully someone someday will find it useful .. If they don't die while reading it that is
I also added a part about transparent textures .. To the texture part .. Now only things left are the misc stuff .. Particles, sounds and such.
Last edited by Samer (6/9/12 13:27)
I'm sure this will help everybody that is looking to work with characters and textures. Great work!
Eh...it looks great but quite sophisticated, I will try hard to understand it.
I have a question here:
The Onisplit in Anniversary Edition Seven was a command prompt, closed whenever I press any key.
I have interest in TRAC and TRAM modification and I want to have a try.
What should I do to convert oni files into xml files? It would be grateful to me for getting some support.
Last edited by Steven (20/4/13 22:40)
Now, I STRIKE!
In the Aeinstaller go to manage tools and then download and install vago gui .. This a gui (graphical user interface) to allow you to work with onisplit .. In my tutorial i was using a different gui but it's same thing.
Well, I had followed your example procedure that changing CASCOMpunch_heavy into MURCOMpunch_heavy in TRACcasey_animation.xml,
and I convert it back to TRACcasey_animation.oni then put back in the source folder.
However, nothing changed after I opened Oni, even I repeat the installation in AEInstaller2.
What's more, even I tried to change the figure in an ONCC file(I took Golden TCTF for example), situation still the same -- nothing changed.
I didn't know what was wrong, does someone could answer my question? It would be great to have some suggestion.
Now, I STRIKE!
Can you post you files somewhere so we can take a look.
I'm sorry that I don't know how to post files on the forum.
However, I can post the "key part code" of the vanila/modified file.
Here's part of the TRACcasey_animations.xml(original)
[== XML ==] <TRACAnimation> <Weight>100</Weight> <Animation>TRAMCASCOMpunch_heavy</Animation> </TRACAnimation>
Here's my modified TRACcasey_animations.xml(same part)
[== XML ==] <TRACAnimation> <Weight>100</Weight> <Animation>TRAMMURCOMpunch_heavy</Animation> </TRACAnimation>
If this doesn't help, please tell me how to post files. Thanks a lot!
Now, I STRIKE!
Upload them somewhere like dropbox or rapidshare or whatever uploading site and post the link here, you can't upload to the forum directly.
Last edited by Samer (24/5/13 10:10)
Alright, I have uploaded xml files on dropbox.
Eh...what's the "ID" in the link chooser? I randomly type three numbers in it and the post successfully show on the typing area of Quick post.
However, system says I can't post links after I submitting.
Sorry that I knew little about how to post links or everything working on the forum.
It would be grateful if anyone can help, thanks!
Last edited by Steven (24/5/13 19:20)
Now, I STRIKE!
Steven: I changed TRACcasey_animation as you did, replaced the previous version with the modified one. Re-installed with AEI2 and Casey now has Muro's punch heavy move. So your modification is correct. But why doesn't it work for you???
Try this, convert TRACcasey_animation back to xml and see if it has your changes.
Hi Steven, if you see an ID field, you're in the wrong place. You want to post a standard "Web" link. The other kinds of links are for linking to topics on OCF by topic number, and the same for posts, subforums, and user profiles. Now that you've made 10 posts, you might be able to post a link, so you can try again if you want.
byproducts are fine, but where's the beef?
Ha,ha,ha,ha,ha......finally I found which part I've done was wrong. I had mistaken the"punch_heavy"move!
First I thought the move was the three combo punch, then I found it weird -- why wasn't anything changed? 8.(
It was until I saw the p_p_p move in the TRACcasey_animation.xml, a lightning struck right on through my head.
I was completely misunderstood! The"punch_heavy" was the same move as Konoko's "Rising Fury Punch"!
Later I repeat the modification procedure, tap Shift and click Left-mouse and it really works.
Samer, EdT,and Iritscen, I'm so sorry that I have made you guys puzzled during these time.
It's very appreciated for you guys helping me patiently, thanks A LOT!
Now, I STRIKE!
glad it worked out at the end.
this could be useful http://wiki.oni2.net/Combat_moves
heavy kick \ punch are also called super kick \ punch ...