8,452
edits
Paradox-01 (talk | contribs) mNo edit summary |
Paradox-01 (talk | contribs) m (exchange of meshes in hierarchies) |
||
Line 10: | Line 10: | ||
There's also the possibility to get files that extent Mod Tool's range of functions. | There's also the possibility to get files that extent Mod Tool's range of functions. | ||
: Those are scripts ( | : Those are scripts (.vbs, .js), toolbars (.xsitb) and addons (.xsiaddon). | ||
: They can be create on one's own and also shared with other users. | : They can be create on one's own and also shared with other users. | ||
Line 72: | Line 72: | ||
* 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 one of them, goto Model>Modify>Poly.Mesh>Boolean>Union, select second object | * '''merging two objects''': select one of them, goto Model>Modify>Poly.Mesh>Boolean>Union, select second object | ||
: (this makes a copy of the second object and attaches it to the first one, the merged objects must be | : (this makes a copy of the second object and attaches it to the first one, the '''merged objects must be freezed''' before the original second object 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] | |||
* hiding some polygons: select polygons and hit [H], use [Control]+[H] to unhide all | * hiding some polygons: select polygons 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) | ||
Line 84: | Line 85: | ||
** 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 | ||
====exchange of 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. | |||
To destroy the hierarchy you must be sure the model is not animated. If there are keyframes the model will be one big mess after breaking the hierarchical links. | |||
So, save the model with the settings "Selection Only [X]" and "Animation [ ]". Then reload the model. | |||
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 move and rotate meshes and their centers without creating new keyframes, and finally rebuild the hierarchy. | |||
Line 166: | Line 179: | ||
* The commands are not case-sensitive, e.g. you can write "LogMessage" or "logmessage". | * The commands are not case-sensitive, e.g. you can write "LogMessage" or "logmessage". | ||
* | * Vbs functions can be found [http://www.w3schools.com/vbscript/vbscript_ref_functions.asp HERE.] | ||
' while it is possible to use + in strings, | ' while it is possible to use + in strings, | ||
Line 196: | Line 209: | ||
| Logs the material name. | | Logs the material name. | ||
|- | |- | ||
|valign=top| logmessage selection(0).Material.CurrentImageClip. | |valign=top| logmessage selection(0).Material.CurrentImageClip.source.filename.value | ||
| Logs the texture | | Logs absolute path of the texture. Output example: | ||
: | : ''C:\Users\RRM\Desktop\TV_tex.png'' | ||
|- | |- | ||
| logmessage selection(0). | |valign=top| logmessage selection(0).Material.CurrentImageClip.source.Parameters("XRes").Value<br>logmessage selection(0).Material.CurrentImageClip.source.Parameters("YRes").Value | ||
| Logs | | Logs the horizontal (X) and vertical (Y) pixel length of the texture. Output example: | ||
: ''512'' | |||
|- | |- | ||
| logmessage selection(0). | | logmessage selection(0).sclx.value<br>logmessage selection(0).scly.value<br>logmessage selection(0).sclz.value | ||
| Logs object's X | |valign=top| Logs object's scaling (X, Y, Z). | ||
|- | |- | ||
| logmessage selection(0). | | logmessage selection(0).rotx.value<br>logmessage selection(0).roty.value<br>logmessage selection(0).rotz.value | ||
| Logs object's Y | |valign=top| Logs object's rotation (X, Y, Z). | ||
|- | |- | ||
| logmessage selection(0).posz.value | | logmessage selection(0).posx.value<br>logmessage selection(0).posy.value<br>logmessage selection(0).posz.value | ||
| Logs object's Z | |valign=top| Logs object's position (X, Y, Z). | ||
|- | |- | ||
|valign=top| logmessage selection(0).rotorder.value | |valign=top| logmessage selection(0).rotorder.value | ||
Line 752: | Line 751: | ||
' '''[26] getting the rotation and position of selected objects''' | ' '''[26] getting the scaling, rotation and position of selected objects''' | ||
logmessage "mesh name: " & selection(0) | logmessage "mesh name: " & selection(0) | ||
logmessage selection(0).sclx.value | |||
logmessage selection(0).scly.value | |||
logmessage selection(0).sclz.value | |||
logmessage selection(0).rotx.value | logmessage selection(0).rotx.value | ||
logmessage selection(0).roty.value | logmessage selection(0).roty.value | ||
Line 763: | Line 765: | ||
' '''[27] getting the rotation and position of not selected objects''' | ' '''[27] getting the scaling, rotation, and position of not selected objects''' | ||
' GetValue("NAME.kine.global.rotx") | ' GetValue("NAME.kine.global.rotx") | ||
' NAME must be the exact mesh name | ' NAME must be the exact mesh name | ||
' let's say you want the data of one chracter's pelvis | ' let's say you want the data of one chracter's pelvis | ||
logmessage GetValue("pelvis.kine.global.sclx") | |||
logmessage GetValue("pelvis.kine.global.scly") | |||
logmessage GetValue("pelvis.kine.global.sclz") | |||
logmessage GetValue("pelvis.kine.global.rotx") | logmessage GetValue("pelvis.kine.global.rotx") | ||
logmessage GetValue("pelvis.kine.global.roty") | logmessage GetValue("pelvis.kine.global.roty") |
edits