[package] name = "Transform" description = "Entity transform state (including translation, rotation and scale), as well as other transformations for this entity." content = { type = "Asset", schema = true } version = "0.3.1" ambient_version = "0.3.1" [components.cylindrical_billboard_z] type = "Empty" name = "Cylindrical billboard Z" description = """ If attached, this ensures this entity is always aligned with the camera, except on the Z-axis. This is useful for decorations that the player will be looking at from roughly the same altitude.""" attributes = ["Debuggable", "Networked", "Store"] [components.euler_rotation] type = "Vec3" name = "Euler rotation" description = "The Euler rotation of this entity in ZYX order." attributes = ["Debuggable", "Networked", "Store"] [components.inv_local_to_world] type = "Mat4" name = "Inverse Local to World" description = """ Converts a world position to a local position. This is automatically updated.""" attributes = ["Debuggable", "Networked", "Store"] [components.local_to_parent] type = "Mat4" name = "Local to Parent" description = "Transformation from the entity's local space to the parent's space." attributes = ["Debuggable", "Networked", "Store", "MaybeResource"] [components.local_to_world] type = "Mat4" name = "Local to World" description = "Transformation from the entity's local space to worldspace." attributes = ["Debuggable", "Networked", "Store"] [components.lookat_target] type = "Vec3" name = "Look-at target" description = "The position that this entity should be looking at." attributes = ["Debuggable", "Networked", "Store"] [components.lookat_up] type = "Vec3" name = "Look-at up" description = "When combined with `lookat_target`, the up vector for this entity." attributes = ["Debuggable", "Networked", "Store"] [components.mesh_to_local] type = "Mat4" name = "Mesh to Local" description = "Transformation from mesh-space to the entity's local space." attributes = ["Debuggable", "Networked", "Store"] [components.mesh_to_world] type = "Mat4" name = "Mesh to World" description = """ Transformation from mesh-space to world space. This is automatically updated when `mesh_to_local` and `local_to_world` change.""" attributes = ["Debuggable", "Networked", "Store"] [components.reset_scale] type = "Empty" name = "Reset scale" description = "If attached to a transform hierarchy, the scale will be reset at that point, with only rotation/translation considered." attributes = ["Debuggable", "Networked", "Store"] [components.rotation] type = "Quat" name = "Rotation" description = "The rotation of this entity." attributes = ["Debuggable", "Networked", "Store"] [components.scale] type = "Vec3" name = "Scale" description = "The scale of this entity." attributes = ["Debuggable", "Networked", "Store"] [components.spherical_billboard] type = "Empty" name = "Spherical billboard" description = "If attached, this ensures that this entity is always aligned with the camera." attributes = ["Debuggable", "Networked", "Store"] [components.translation] type = "Vec3" name = "Translation" description = "The translation/position of this entity." attributes = ["Debuggable", "Networked", "Store"] # Concepts [concepts.Transformable] name = "Transformable" description = "Can be translated, rotated and scaled." [concepts.Transformable.components.required] local_to_world = { suggested = "Identity" } [concepts.Transformable.components.optional] translation = { suggested = [0.0, 0.0, 0.0] } rotation = { suggested = [0.0, 0.0, 0.0, 1.0] } scale = { suggested = [1.0, 1.0, 1.0] }