Mod Tool: Difference between revisions

335 bytes added ,  20 September 2012
m
no edit summary
mNo edit summary
mNo edit summary
Line 1: Line 1:
==general information==
==General information==
Various modders of the community use "Autodesk Softimage Mod Tool". Usually we just call it "Mod Tool" or "XSI" (old name of the program).
Various modders of the community use "Autodesk Softimage Mod Tool". Usually we just call it "Mod Tool" or "XSI" (old name of the program).


Line 14: Line 14:




==extensions==
'''Wanted knowledge:'''
* How to setup particle in Mod Tool? We still need an Oni particle editor!
* How to add new points/edges/polys in symmetry mode?
* How to rig models and then extract the animation data?
 
 
==Extensions==
'''links'''
'''links'''
* [http://www.si-community.com/community/viewtopic.php?f=35&t=796 "Roadkill" UV Tool]
* [http://www.si-community.com/community/viewtopic.php?f=35&t=796 "Roadkill" UV Tool]
Line 60: Line 66:




==selected wisdom==
==Selected wisdom==
We've also a [http://oni.bungie.org/community/forum/viewtopic.php?id=1229 tutorial thread on OCF.]
We've also a [http://oni.bungie.org/community/forum/viewtopic.php?id=1229 tutorial thread on OCF.]




===camera navigation===
===Camera navigation===
* reset view: [R]
* reset view: [R]
* zoom camera: [Scrolling]
* zoom camera: [Scrolling]
Line 76: Line 82:




===mesh===
===Mesh===
* display polygon normals: ckick the eye symbole, select "Polygon Normals" (now you know the polygons ''up and down'')
* scale mode: [X]
* rotate mode: [C]
* translate mode [V]
* manipulate tool: [B] (a gray box appears with gray balls at the corners)
** drag inside the object to move it
** drag an edge to rotate it
** drag a ball to scale it
* object selection mode: [Space]
* display polygon normals: click the eye symbol, select "Polygon Normals" (now you know the polygons ''up and down'')
* extracting a polygon from an object: select polygon, right-click, "Extract Polygons (Delete)"
* extracting a polygon from an object: select polygon, right-click, "Extract Polygons (Delete)"
* copying an polygon from an object: select polygon, right-click, "Extract Polygons (Keep)"
* copying an polygon from an object: select polygon, right-click, "Extract Polygons (Keep)"
* '''merging two objects''': select object A, then goto Model > Modify > Poly.Mesh > Boolean > Union, select object B
* '''merging two objects''': select object A, then goto Model > Modify > Poly. Mesh > Boolean > Union, select object B
: (this makes a copy of object B and attaches it to A, the '''merged objects (A) must be freezed''' before the original object B can be removed)
: (this makes a copy of object B and attaches it to A, the '''merged objects (A) must be freezed''' before the original object B can be removed)
* filling a hole: select all edges surrounding the hole and choose one of the following methods
* filling a hole: select all edges surrounding the hole and choose one of the following methods
** A) goto Model > Modify > Poly.Mesh > Weld Boundary Points/Edges
** A) goto Model > Modify > Poly. Mesh > Weld Boundary Points/Edges
** B) goto Model > Modify > Poly.Mesh > Bridge Boundary Points/Edges (if blue lines appear try to disable the checkbox "Angle > 90")
** B) goto Model > Modify > Poly. Mesh > Bridge Boundary Points/Edges (if blue lines appear try to disable the checkbox "Angle > 90")
* merging two objects at blue lines: merge the objects at first, then proceed with the point above "filling a hole"
* merging two objects at blue lines: merge the objects at first, then proceed with the point above "filling a hole"
* '''merging two objects with UVs''': Create > Poly. Mesh > [http://cryrid.com/images/temp/XSI/merge_materials.jpg Merge]
* '''merging two objects with UVs''': Create > Poly. Mesh > [http://cryrid.com/images/temp/XSI/merge_materials.jpg Merge]
* hiding some polygons: select polygons and hit [H], use [Control]+[H] to unhide all
* hiding some objects/polygons: select object/polygon and hit [H], use [Control] + [H] to unhide all
* mirroring an object: select object, Edit > Duplicate/Instantiate > Duplicate Symmetry (center rotation might need to be changed afterwards)
* mirroring an object: select object, Edit > Duplicate/Instantiate > Duplicate Symmetry (center rotation might need to be changed afterwards)
* working with symmetry mode
* working with symmetry mode
Line 93: Line 107:
** click on Sym buttom (in Transform area) to enable/disable symmetry mode
** click on Sym buttom (in Transform area) to enable/disable symmetry mode
** changing the Symmetry plane: Explorer [8] > unfold object > Polygon Mesh > Cluster > delete SymmetryMapCls; then add a new symmetry plane
** changing the Symmetry plane: Explorer [8] > unfold object > Polygon Mesh > Cluster > delete SymmetryMapCls; then add a new symmetry plane
* manipulate tool: [B] (a gray box appears with gray balls at the corners)
** drag inside the object to move it
** drag an edge to rotate it
** drag a ball to scale it




====low poly modeling====
====Low poly modeling====
* edge loop: while being in selection mode point/object/polygon, press [Alt] + [MClick]
* edge loop: while being in selection mode point/object/polygon, press [Alt] + [MClick]
* modify point/edge/polygon: [M]
* modify point/edge/polygon: [M]
Line 115: Line 125:




====exchange meshes in hierarchies====
====Exchange meshes in hierarchies====
Let's say you loaded an Oni character with his 19 body parts into the scene, something is wrong and you want to fix it.
Let's say you loaded an Oni character with his 19 body parts into the scene, something is wrong and you want to fix it.


Line 124: Line 134:
Next, disable the red "Auto" button under "Animation" (if enabled). Keyframes affects also the creation of hierarchies, that's why we don't want new keyframes.
Next, disable the red "Auto" button under "Animation" (if enabled). Keyframes affects also the creation of hierarchies, that's why we don't want new keyframes.


Now you can safely move and rotate meshes and their centers, and eventually rebuild the hierarchy.
Now you can safely exchange, move and rotate meshes and their centers, and eventually rebuild the hierarchy.




===material and texture===
===Material and texture===
* objects use the scene material by default, objects need their own material if they should have individual textures
* objects use the scene material by default, objects need their own material if they should have individual textures
* selecting a material and surface: Model>Material>Phong (simply close the windows that pops up)
* selecting a material and surface: Model > Material > Phong (simply close the windows that pops up)
* connecting the texture with the material:
* connecting the texture with the material:
** [7] to open Render Tree
** [7] to open Render Tree
Line 139: Line 149:




===projection and UV===
===Projection and UV===
'''getting started'''
'''getting started'''
* in section "Texture Projection" click on "New", choose a projection similar to the mesh shape (planar / cylindrical / cubic / spherical)
* in section "Texture Projection" click on "New", choose a projection similar to the mesh shape (planar / cylindrical / cubic / spherical)
Line 161: Line 171:




===animating===
===Animating===
* preparing ModTool to save animations Oni can use: File > Preferences... > Preferences > Tools > Output Format > Frame Step: 1; Frame Format: Custom framerate; Frame Rate: 60
* preparing ModTool to save animations Oni can use: File > Preferences... > Preferences > Tools > Output Format > Frame Step: 1; Frame Format: Custom framerate; Frame Rate: 60
* opening the Animation Editor : [0]
* opening the Animation Editor : [0]
Line 168: Line 178:




===scripting===
===Scripting===
* open the Script Editor: [Alt] + [4]
* open the Script Editor: [Alt] + [4]
* run the current code in the Script Editor window: [F5]
* run the current code in the Script Editor window: [F5]
Line 182: Line 192:




'''links'''
'''Links'''
* [http://softimage.wiki.softimage.com/index.php?title=Scripting_Tips_and_Tricks_%28XSISDK%29 xsi wiki page about scripting]
* [http://softimage.wiki.softimage.com/index.php?title=Scripting_Tips_and_Tricks_%28XSISDK%29 xsi wiki page about scripting]
* '''[http://softimage.wiki.softimage.com/sdkdocs/scriptsdb/scriptsdb/scrdb_vbscript.htm many vbscript examples]'''
* '''[http://softimage.wiki.softimage.com/sdkdocs/scriptsdb/scriptsdb/scrdb_vbscript.htm many vbscript examples]'''
Line 192: Line 202:




'''notes about polygon extraction'''
'''Notes about polygon extraction'''
* a grid of 9 polygons (ID 0 to 8)  
* a grid of 9 polygons (ID 0 to 8)  
* you extract the middle polygon (ID 4)
* you extract the middle polygon (ID 4)
Line 203: Line 213:




'''some basics of VBScript'''
'''Some basics of VBScript'''
* In VBS you declare variables only as a variant e.g. "dim PolygonCount". Mod Tool decides what type it becomes when it uses the variable the first time.
* In VBS you declare variables only as a variant e.g. "dim PolygonCount". Mod Tool decides what type it becomes when it uses the variable the first time.
* You can put "option explicit" at the start of your script. Then you will be forced to declare all variables with "dim". That looks quite unnecessary but help to find mistakes for example if you mistyped a variable somewhere in a long script.
* You can put "option explicit" at the start of your script. Then you will be forced to declare all variables with "dim". That looks quite unnecessary but help to find mistakes for example if you mistyped a variable somewhere in a long script.
Line 223: Line 233:




'''some ModTool commands in vbs language that might be interesting for Oni related stuff'''
'''Some ModTool commands in vbs language that might be interesting for Oni related stuff'''


Everywhere "logmessage" stands you can replace it with a variable (in that case don't forget the = sign.)
Everywhere "logmessage" stands you can replace it with a variable (in that case don't forget the = sign.)
Line 298: Line 308:




====code pieces (VB Script)====
====Code pieces (VB Script)====
Remember that you can use the search function of your web browser.
Remember that you can use the search function of your web browser.


Line 897: Line 907:




====script ideas====
====Script ideas====
* import/export of flag collection
* import/export of flag collection
* import/export of patrol path collection
* import/export of patrol path collection
Line 911: Line 921:




=====trigger volumes export/import=====
=====Trigger volumes export/import=====
{| border=0 cellpadding=0 align=right
{| border=0 cellpadding=0 align=right
| exported warehouse TVs<br>[http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/3D_modding/TRGV_Oni_to_ModTool.png http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/3D_modding/TRGV_Oni_to_ModTool_tn.png]
| exported warehouse TVs<br>[http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/3D_modding/TRGV_Oni_to_ModTool.png http://i305.photobucket.com/albums/nn207/unknownfuture/Oni_Galore_Images/3D_modding/TRGV_Oni_to_ModTool_tn.png]
Line 921: Line 931:




=====selection tracking camera=====
=====Selection tracking camera=====
The camera could move to selected object and become reset to last known position when user deselect the object.
The camera could move to selected object and become reset to last known position when user deselect the object.
  ' save current cam pos to new scene properties
  ' save current cam pos to new scene properties
Line 934: Line 944:




=====new door animations=====
=====New door animations=====
After a few experiments onisplit v0.9.54.0 seems to output XYZ-W instead of XYZW.
After a few experiments onisplit v0.9.54.0 seems to output XYZ-W instead of XYZW.


Line 955: Line 965:




=====hierarchy builder for characters=====
=====Hierarchy builder for characters=====
Based on old knowledge. See [[Mod_Tool#exchange_of_meshes_in_hierarchies|HERE]] for an easy manual way to change the meshes in hierarchies.
Based on old knowledge. See [[Mod_Tool#exchange_of_meshes_in_hierarchies|HERE]] for an easy manual way to change the meshes in hierarchies.


Line 983: Line 993:




'''keyframe affects hierarchy building'''
'''Keyframe affects hierarchy building'''


situation: "cube" and "cube1" were created
situation: "cube" and "cube1" were created
8,452

edits