|
TSStatic Class Reference
[Game Objects]
A static object derived from a 3D model file and placed within the game world. More...
Public Member Functions | |
void | changeMaterial (string mapTo="", Material oldMat=NULL, Material newMat=NULL) |
Change one of the materials on the shape. | |
string | getModelFile () |
Get the model filename used by this shape. | |
int | getTargetCount () |
Get the number of materials in the shape. | |
string | getTargetName (int index=0) |
Get the name of the indexed shape material. | |
Public Attributes | |
Collision | |
bool | allowPlayerStep |
Allow a Player to walk up sloping polygons in the TSStatic (based on the collisionType). | |
TSMeshType | collisionType |
The type of mesh data to use for collision queries. | |
TSMeshType | decalType |
The type of mesh data used to clip decal polygons against. | |
Debug | |
int | forceDetail |
Forces rendering to a particular detail level. | |
float | renderNormals |
Debug rendering mode shows the normals for each point in the TSStatic's mesh. | |
Rendering | |
bool | meshCulling |
Enables detailed culling of meshes within the TSStatic. Should only be used with large complex shapes like buildings which contain many submeshes. | |
bool | originSort |
Enables translucent sorting of the TSStatic by its origin instead of the bounds. | |
bool | playAmbient |
Enables automatic playing of the animation sequence named "ambient" (if it exists) when the TSStatic is loaded. | |
Media | |
filename | shapeName |
Path and filename of the model file (.DTS, .DAE) to use for this TSStatic. | |
string | skin |
The skin applied to the shape. | |
Static Public Attributes | |
static bool | isRenderable |
Disables rendering of all instances of this type. | |
static bool | isSelectable |
Disables selection of all instances of this type. |
Detailed Description
A static object derived from a 3D model file and placed within the game world.
TSStatic is the most basic 3D shape in Torque. Unlike StaticShape it doesn't make use of a datablock. It derrives directly from SceneObject. This makes TSStatic extremely light weight, which is why the Tools use this class when you want to drop in a DTS or DAE object.
While a TSStatic doesn't provide any motion -- it stays were you initally put it -- it does allow for a single ambient animation sequence to play when the object is first added to the scene.
- Example:
new TSStatic(Team1Base) { shapeName = "art/shapes/desertStructures/station01.dts"; playAmbient = "1"; receiveSunLight = "1"; receiveLMLighting = "1"; useCustomAmbientLighting = "0"; customAmbientLighting = "0 0 0 1"; collisionType = "Visible Mesh"; decalType = "Collision Mesh"; allowPlayerStep = "1"; renderNormals = "0"; forceDetail = "-1"; position = "315.18 -180.418 244.313"; rotation = "0 0 1 195.952"; scale = "1 1 1"; isRenderEnabled = "true"; canSaveDynamicFields = "1"; };
Member Function Documentation
Change one of the materials on the shape.
This method changes materials per mapTo with others. The material that is being replaced is mapped to unmapped_mat as a part of this transition.
- Note:
- Warning, right now this only sort of works. It doesn't do a live update like it should.
- Parameters:
-
mapTo the name of the material target to remap (from getTargetName) oldMat the old Material that was mapped newMat the new Material to map
- Example:
// remap the first material in the shape %mapTo = %obj.getTargetName( 0 ); %obj.changeMaterial( %mapTo, 0, MyMaterial );
string TSStatic::getModelFile | ( | ) |
Get the model filename used by this shape.
- Returns:
- the shape filename
- Example:
// Acquire the model filename used on this shape. %modelFilename = %obj.getModelFile();
int TSStatic::getTargetCount | ( | ) |
Get the number of materials in the shape.
- Returns:
- the number of materials in the shape.
- See also:
- getTargetName()
string TSStatic::getTargetName | ( | int | index = 0 |
) |
Get the name of the indexed shape material.
- Parameters:
-
index index of the material to get (valid range is 0 - getTargetCount()-1).
- Returns:
- the name of the indexed material.
- See also:
- getTargetCount()
Member Data Documentation
The type of mesh data to use for collision queries.
The type of mesh data used to clip decal polygons against.
Forces rendering to a particular detail level.
Enables detailed culling of meshes within the TSStatic. Should only be used with large complex shapes like buildings which contain many submeshes.
bool TSStatic::originSort |
Enables translucent sorting of the TSStatic by its origin instead of the bounds.
Enables automatic playing of the animation sequence named "ambient" (if it exists) when the TSStatic is loaded.
float TSStatic::renderNormals |
Debug rendering mode shows the normals for each point in the TSStatic's mesh.
filename TSStatic::shapeName |
Path and filename of the model file (.DTS, .DAE) to use for this TSStatic.
string TSStatic::skin |
The skin applied to the shape.
'Skinning' the shape effectively renames the material targets, allowing different materials to be used on different instances of the same model.
Any material targets that start with the old skin name have that part of the name replaced with the new skin name. The initial old skin name is "base". For example, if a new skin of "blue" was applied to a model that had material targets base_body and face, the new targets would be blue_body and face. Note that face was not renamed since it did not start with the old skin name of "base".
To support models that do not use the default "base" naming convention, you can also specify the part of the name to replace in the skin field itself. For example, if a model had a material target called shapemat, we could apply a new skin "shape=blue", and the material target would be renamed to bluemat (note "shape" has been replaced with "blue").
Multiple skin updates can also be applied at the same time by separating them with a semicolon. For example: "base=blue;face=happy_face".
Material targets are only renamed if an existing Material maps to that name, or if there is a diffuse texture in the model folder with the same name as the new target.