Jump to content

Importing character models: Difference between revisions

m
punctuation
m (some initial copy-editing)
m (punctuation)
 
(4 intermediate revisions by the same user not shown)
Line 3: Line 3:
==Modding tools==
==Modding tools==
===OniSplit===
===OniSplit===
This is the program that we use to get models into and out of Oni. It is a command line tool. There is a GUI wrapper for OniSplit that covers most of its functions called [[Vago (tool)|Vago]], but modders sometimes have to call OniSplit from the command line or use Vago's command-line input feature to take full advantage of its abilities.
[[OniSplit]] is the program that we use to get models into and out of Oni. It is a command line tool. There is a GUI wrapper for OniSplit that covers most of its functions called [[Vago (tool)|Vago]], but modders sometimes have to call OniSplit from the command line or use Vago's command-line input feature to take full advantage of its abilities.


===3D programs===
===3D programs===
Line 9: Line 9:
[[Blender]] is the community's current software of choice for 3D modeling, animating, and more.
[[Blender]] is the community's current software of choice for 3D modeling, animating, and more.


Blender rocks when it comes to [[Lightmapping levels|lightmapping levels]]. XSI is closed-source and can only lightmap one mesh at a time with one lightmap texture per mesh. Blender is more flexible because of its scripting API, and it supports radiosity, i.e., emissive materials – which is exactly how Oni's lighting was done initially (see [[OBLS]]).
Blender rocks when it comes to [[lightmapping levels]]. XSI is closed-source and can only lightmap one mesh at a time with one lightmap texture per mesh. Blender is more flexible because of its scripting API, and it supports radiosity, i.e., emissive materials – which is exactly how Oni's lighting was done before they tore out [[Pre-beta features#Lightmapping|the lightmap feature]].


====XSI====
====XSI====
Line 24: Line 24:
First, you need to find the class name for the character you want to export. You can accomplish this by going into Oni, loading the level in which the desired character appears, and then enabling the shapeshifter cheat – but you have to do this by turning on [[Developer Mode]], not by entering the "shapeshifter" cheat code, because the regular cheat code does not display the console output that you need. Once Dev Mode is on, press F8 until you reach the desired character. You should see the message "character class ''number'' '''''string'''''". The number is unimportant, but write down the string, because that is the class name which provides the basis for the names of the ONCC and TRBS.
First, you need to find the class name for the character you want to export. You can accomplish this by going into Oni, loading the level in which the desired character appears, and then enabling the shapeshifter cheat – but you have to do this by turning on [[Developer Mode]], not by entering the "shapeshifter" cheat code, because the regular cheat code does not display the console output that you need. Once Dev Mode is on, press F8 until you reach the desired character. You should see the message "character class ''number'' '''''string'''''". The number is unimportant, but write down the string, because that is the class name which provides the basis for the names of the ONCC and TRBS.


In this example, we'll export one of Konoko's models. For Konoko, we don't even need to open Oni to find the name of an ONCC because we have [[Konoko#In-game outfits|this handy table]]. Let's use Konoko in her police uniform; you can see from the table that this is ONCCk3 and that it's found in level2_Final.
In this example, we'll export one of Konoko's models. For Konoko, we don't even need to open Oni to find the name of an ONCC because we have [[Konoko's outfits|this handy table]]. Let's use Konoko in her police uniform; you can see from the table that this is ONCCk3 and that it's found in level2_Final.


Next, you need to decide on the pose in which your character will be exported. See the "Poses" section below for guidance. Without making this example more complicated, we only have two choices for pose: default (folded) and -noanim (standing at attention); we are going to use the second option, for a more visually pleasing result. Here are the steps for getting your desired character in .dae format. Substitute backward slashes for forward ones if you are in Windows.
Next, you need to decide on the pose in which your character will be exported. See the "Poses" section below for guidance. Without making this example more complicated, we only have two choices for pose: default (folded) and -noanim (standing at attention); we are going to use the second option, for a more visually pleasing result. Here are the steps for getting your desired character in .dae format. Substitute backward slashes for forward ones if you are in Windows.
Line 120: Line 120:
  "Schema validation (Error): Error: ERROR_REQUIRED_ATTRIBUTE_MISSING Element: technique, Attribute: sid"
  "Schema validation (Error): Error: ERROR_REQUIRED_ATTRIBUTE_MISSING Element: technique, Attribute: sid"


Solution: Open the .dae file in a text editor, find all instances of <tt><technique></tt> and replace with <tt><technique sid="common"></tt>
Solution: Open the .dae file in a text editor, find all instances of <tt><technique></tt> and replace with <tt><technique sid="common"></tt>.


==Poses==
==Poses==
Line 215: Line 215:


====Working example====
====Working example====
{|align=right
[[Image:Gally PSX model.png|right]]
|http://geyser.oni2.net/edition/characters/gally/GLB_shot.png
|}
For the sake of this sorta tutorial, we shall pretend three things:
For the sake of this sorta tutorial, we shall pretend three things:
*Berserker Gally from GUNNM Martian Memory (a PSX game) is, like, the coolest model ever (see picture on the right);
*Berserker Gally from GUNNM Martian Memory (a PSX game) is, like, the coolest model ever (see picture on the right);