Objects - GRAnimated/SMO-Modding GitHub Wiki
Information
Anything in ObjectData can be added to a level as an object. Some of these are loaded as actors by the game and others are loaded as stage models and collision.
All Objects has several files inside to define specific things about the object.
Not all of them are required and most won't affect you.
Files
-
InitClipping.byml:
- NearClipDistance: Haven't seen it used, presumably for clipping if the camera is X close to the object.
- Radius: A sphere around the bounding box? to cull the object if the camera is outside of it.
-
InitPose.byml: Unknown purpose
- Pose: Possible values: TRSV, TRMSV, TRGMSV, TFSV, TFUSV, TFGSV, TQSV, TQGSV, TQGMSV
- TRSV is used for static objects (decoration, ground, etc)
-
InitMaterialLight.byml: Unknown, presumably used to change how the object reacts to light.
-
InitSensor.byml: Changes how Mario interacts with the collision of the object.
- Name: Stage objects use 'Collision'.
- Type: Stage objects use 'CollisionParts'.
-
InitCollision.byml: Used in conjunction with InitSensor.byml.
- Sensor: Stage objects use 'Collision'.
-
(File name).bfres: Model/animations/materials/textures of the object.
-
(File name).kcl: Collision of the object.
-
(File name)Attribute.byml: Contains material codes for the collision.
-
InitExecutor.byml: Required, unknown purpose.
-
InitDebug.byml: Unused, has a 'Node Name' for debug purposes.
Adding new objects
To add a new object, take a reference object and change the file name of the szs, bfres, kcl, and attribute byml.
Reference Objects
- Stage objects: SkyWorldCloudBonusExStep000.szs