Search Results for

    Show / Hide Table of Contents

    Class StaticModel

    Renders model on the screen.

    Inheritance
    Object
    ScriptingObject
    SceneObject
    Actor
    ModelInstanceActor
    StaticModel
    Inherited Members
    Actor::_box
    Actor::_drawCategory
    Actor::_drawNoCulling
    ScriptingObject::_gcHandle
    ScriptingObject::_id
    Actor::_isActive
    Actor::_isActiveInHierarchy
    Actor::_isEnabled
    Actor::_isHierarchyDirty
    Actor::_isPrefabRoot
    Actor::_layer
    Actor::_localTransform
    Actor::_name
    SceneObject::_parent
    Actor::_physicsScene
    SceneObject::_prefabID
    SceneObject::_prefabObjectID
    Actor::_scene
    ModelInstanceActor::_sceneRenderingKey
    Actor::_sphere
    Actor::_staticFlags
    Actor::_transform
    ScriptingObject::_type
    Actor::AddMovement(const Vector3& translation)
    Actor::AddMovement(const Vector3& translation, const Quaternion& rotation)
    Actor::AddScript()
    Actor::AddStaticFlags(StaticFlags flags)
    Actor::AddTag(const Tag& tag)
    Actor::AddTagRecursive(const Tag& tag)
    StaticModel
    Actor::BeginPlay(SceneBeginData* data)
    Actor::BreakPrefabLink()
    ScriptingObject::CanCast(const ScriptingTypeHandle& from, const ScriptingTypeHandle& to)
    ScriptingObject::CanCast(const MClass* from, const MClass* to)
    ScriptingObject::Cast(ScriptingObject* obj)
    ScriptingObject::ChangeID(const Guid& newId)
    Actor::ChangeScriptOrder(Script* script, int32 newIndex)
    Actor::Children
    Actor::Clone()
    ModelInstanceActor::CreateAndSetVirtualMaterialInstance(int32 entryIndex)
    ScriptingObject::CreateManaged()
    ScriptingObject::CreateManagedInternal()
    ScriptingObject::Deleted
    Object::DeleteObject(float timeToLive = 0.0f, bool useGameTime=false)
    Object::DeleteObjectNow()
    Actor::DEPRECATED("Use HasTag instead") const String& GetTag()
    Actor::DEPRECATED("Use AddTag instead") void SetTag(const StringView& value)
    ISerializable::DeserializeIfExists(DeserializeStream& stream, const char* memberName, ISerializeModifier* modifier)
    StaticModel
    Actor::DestroyChildren(float timeLeft = 0.0f)
    ScriptingObject::DestroyManaged()
    Actor::EndPlay()
    ModelInstanceActor::Entries
    Actor::FindActor(const StringView& name)
    Actor::FindActor(const MClass* type, bool activeOnly=false)
    Actor::FindActor(const MClass* type, const StringView& name)
    Actor::FindActor(const MClass* type, const Tag& tag, bool activeOnly=false)
    Actor::FindActor()
    Actor::FindActor(const Tag& tag)
    Actor::FindScript(const MClass* type)
    Actor::FindScript()
    Object::Flags
    Actor::FromBytes(const Span<byte>& data, Array<Actor* >& output, ISerializeModifier* modifier)
    Actor::FromBytes(const Span<byte>& data)
    Actor::FromBytes(const Span<byte>& data, const Dictionary<Guid, Guid, HeapAllocation>& idsMapping)
    ScriptingObject::FromInterface(void* interfaceObj, const ScriptingTypeHandle& interfaceType)
    ScriptingObject::FromInterface(T* interfaceObj)
    Actor::FromJson(const StringAnsiView& json)
    Actor::GetBox()
    Actor::GetBoxWithChildren()
    Actor::GetChild(int32 index)
    Actor::GetChild(const StringView& name)
    Actor::GetChild(const MClass* type)
    Actor::GetChild()
    Actor::GetChildren(const MClass* type)
    Actor::GetChildren()
    Actor::GetChildrenCount()
    ScriptingObject::GetClass()
    Actor::GetDirection()
    Actor::GetEditorBox()
    Actor::GetEditorBoxChildren()
    ModelInstanceActor::GetEntries()
    ScriptingObject::GetID()
    Actor::GetIsActive()
    Actor::GetLayer()
    Actor::GetLayerMask()
    Actor::GetLayerName()
    Actor::GetLocalOrientation()
    Actor::GetLocalPosition()
    Actor::GetLocalScale()
    Actor::GetLocalToWorldMatrix(Matrix& localToWorld)
    Actor::GetLocalToWorldMatrix(Double4x4& localToWorld)
    Actor::GetLocalTransform()
    ScriptingObject::GetManagedInstance()
    Actor::GetName()
    SceneObject::GetNamePath(Char separatorChar='/')
    Actor::GetOrAddChild()
    ScriptingObject::GetOrCreateManagedInstance()
    Actor::GetOrderInParent()
    Actor::GetOrientation()
    SceneObject::GetParent()
    Actor::GetPerInstanceRandom()
    Actor::GetPhysicsScene()
    Actor::GetPosition()
    SceneObject::GetPrefabID()
    SceneObject::GetPrefabObjectID()
    Actor::GetPrefabRoot()
    Actor::GetRotation()
    Actor::GetScale()
    Actor::GetScene()
    Actor::GetSceneObjectId()
    Actor::GetSceneRendering()
    Actor::GetScript(int32 index)
    Actor::GetScript(const MClass* type)
    Actor::GetScript()
    Actor::GetScriptByID(const Guid& id)
    Actor::GetScripts(const MClass* type)
    Actor::GetScripts()
    Actor::GetScriptsCount()
    Actor::GetSphere()
    Actor::GetStaticFlags()
    Actor::GetTransform()
    ScriptingObject::GetType()
    ScriptingObject::GetTypeHandle()
    Actor::GetWorldToLocalMatrix(Matrix& worldToLocal)
    Actor::GetWorldToLocalMatrix(Double4x4& worldToLocal)
    Actor::HasActorInChildren(Actor* a)
    Actor::HasActorInHierarchy(Actor* a)
    ScriptingObject::HasManagedInstance()
    SceneObject::HasParent()
    SceneObject::HasPrefabLink()
    Actor::HasScene()
    Actor::HasStaticFlag(StaticFlags flag)
    Actor::HasTag()
    Actor::HasTag(const Tag& tag)
    Actor::HasTag(const StringView& tag)
    Actor::HideFlags
    Actor::Initialize()
    Actor::InitializeHierarchy()
    Actor::Intersects(const Ray& ray, Real& distance, Vector3& normal)
    ScriptingObject::Is(const ScriptingTypeHandle& type)
    ScriptingObject::Is(const MClass* type)
    ScriptingObject::Is()
    Actor::IsActiveInHierarchy()
    SceneObject::IsDuringPlay()
    Actor::IsPrefabRoot()
    ScriptingObject::IsRegistered()
    Actor::IsStatic()
    Actor::IsTransformStatic()
    Actor::LinkPrefab(const Guid& prefabId, const Guid& prefabObjectId)
    Actor::LookAt(const Vector3& worldPos)
    Actor::LookAt(const Vector3& worldPos, const Vector3& worldUp)
    Actor::LookingAt(const Vector3& worldPos)
    Actor::LookingAt(const Vector3& worldPos, const Vector3& worldUp)
    ScriptingObject::NewObject(const ScriptingTypeHandle& typeHandle)
    ScriptingObject::NewObject()
    Actor::OnActiveChanged()
    Actor::OnActiveInTreeChanged()
    Actor::OnBeginPlay()
    Actor::OnDebugDraw()
    Actor::OnDebugDrawSelected()
    Actor::OnDeleteObject()
    Actor::OnEndPlay()
    ModelInstanceActor::OnLayerChanged()
    ScriptingObject::OnManagedInstanceDeleted()
    Actor::OnOrderInParentChanged()
    Actor::OnParentChanged()
    Actor::OnPhysicsSceneChanged(PhysicsScene* previous)
    ScriptingObject::OnScriptingDispose()
    ModelInstanceActor::OnStaticFlagsChanged()
    ModelInstanceActor::OnTransformChanged()
    ScriptingObject::RegisterObject()
    Actor::RemoveStaticFlags(StaticFlags flags)
    Actor::RemoveTag(const Tag& tag)
    Actor::ResetLocalTransform()
    SceneObject::SceneObject(const SpawnParams& params)
    ScriptingObject::ScriptingObject(const SpawnParams& params)
    Actor::Scripts
    StaticModel
    StaticModel
    Actor::SetDirection(const Float3& value)
    ModelInstanceActor::SetEntries(const Array<ModelInstanceEntry>& value)
    Actor::SetIsActive(bool value)
    Actor::SetLayer(int32 layerIndex)
    Actor::SetLayerName(const StringView& value)
    Actor::SetLayerNameRecursive(const StringView& value)
    Actor::SetLayerRecursive(int32 layerIndex)
    Actor::SetLocalOrientation(const Quaternion& value)
    Actor::SetLocalPosition(const Vector3& value)
    Actor::SetLocalScale(const Float3& value)
    Actor::SetLocalTransform(const Transform& value)
    ScriptingObject::SetManagedInstance(MObject* instance)
    ModelInstanceActor::SetMaterial(int32 entryIndex, MaterialBase* material)
    Actor::SetName(String&& value)
    Actor::SetName(const StringView& value)
    Actor::SetOrderInParent(int32 index)
    Actor::SetOrientation(const Quaternion& value)
    Actor::SetParent(Actor* value, bool worldPositionsStays, bool canBreakPrefabLink)
    Actor::SetParent(Actor* value, bool canBreakPrefabLink=true)
    SceneObject::SetParent(Actor* value)
    Actor::SetPhysicsScene(PhysicsScene* scene)
    Actor::SetPosition(const Vector3& value)
    Actor::SetRotation(const Matrix& value)
    Actor::SetScale(const Float3& value)
    Actor::SetStaticFlag(StaticFlags flag, bool value)
    Actor::SetStaticFlags(StaticFlags value)
    Actor::SetTransform(const Transform& value)
    StaticModel
    Actor::Tags
    Actor::ToBytes(const Array<Actor* >& actors, MemoryWriteStream& output)
    Actor::ToBytes(const Array<Actor* >& actors)
    ScriptingObject::ToInterface(ScriptingObject* obj, const ScriptingTypeHandle& interfaceType)
    ScriptingObject::ToInterface(ScriptingObject* obj)
    Actor::ToJson()
    ScriptingObject::ToManaged(const ScriptingObject* obj)
    ScriptingObject::ToNative(MObject* obj)
    Actor::ToString()
    Actor::TreeExecute(Function<bool(Actor* , Params ...)>& action, Params ... args)
    Actor::TreeExecuteChildren(Function<bool(Actor* , Params ...)>& action, Params ... args)
    Actor::TryGetSerializedObjectsIds(const Span<byte>& data)
    ScriptingObject::UnregisterObject()
    Actor::UnregisterObjectHierarchy()
    ISerializable::~ISerializable()
    Object::~Object()
    SceneObject::~SceneObject()
    ScriptingObject::~ScriptingObject()
    Assembly: FlaxEngine.dll
    File: Engine/Level/Actors/StaticModel.h
    Syntax
    public class StaticModel : public ModelInstanceActor

    Constructors

    ~StaticModel()

    Finalizes an instance of the StaticModel class.

    Declaration
    public ~StaticModel()

    Fields

    DrawModes

    The draw passes to use for rendering this object.

    Declaration
    public DrawPass DrawModes = DrawPass::Default
    Field Value
    DrawPass

    Lightmap

    The baked lightmap entry.

    Declaration
    public LightmapEntry Lightmap
    Field Value
    LightmapEntry

    Model

    The model asset to draw.

    Declaration
    public AssetReference<Model> Model
    Field Value
    AssetReference<Model>

    Methods

    Deserialize(DeserializeStream& stream, ISerializeModifier* modifier)

    Deserializes object from the input stream.

    Declaration
    public virtual void Deserialize(DeserializeStream& stream, ISerializeModifier* modifier) override
    Parameters
    DeserializeStream stream

    The input stream.

    ISerializeModifier modifier

    The deserialization modifier object. Always valid.

    Overrides
    Actor::Deserialize(DeserializeStream& stream, ISerializeModifier* modifier)

    Draw(RenderContext& renderContext)

    Draws this actor. Called by Scene Rendering service. This call is more optimized than generic Draw (eg. geometry is rendered during all pass types but other actors are drawn only during GBufferFill pass).

    Declaration
    public virtual void Draw(RenderContext& renderContext) override
    Parameters
    RenderContext renderContext

    The rendering context.

    Overrides
    Actor::Draw(RenderContext& renderContext)

    Draw(RenderContextBatch& renderContextBatch)

    Draws this actor. Called by Scene Rendering service. This call is more optimized than generic Draw (eg. geometry is rendered during all pass types but other actors are drawn only during GBufferFill pass).

    Declaration
    public virtual void Draw(RenderContextBatch& renderContextBatch) override
    Parameters
    RenderContextBatch renderContextBatch

    The rendering context batch (eg, main view and shadow projections).

    Overrides
    Actor::Draw(RenderContextBatch& renderContextBatch)

    GetBoundsScale()

    Gets the model bounds scale. It is useful when using Position Offset to animate the vertices of the object outside of its bounds. Increasing the bounds of an object will reduce performance.

    Declaration
    public float GetBoundsScale() const
    Returns
    float

    GetForcedLOD()

    Gets the model forced Level Of Detail index. Allows to bind the given model LOD to show. Value -1 disables this feature.

    Declaration
    public int32 GetForcedLOD() const
    Returns
    int32

    GetLODBias()

    Gets the model Level Of Detail bias value. Allows to increase or decrease rendered model quality.

    Declaration
    public int32 GetLODBias() const
    Returns
    int32

    GetMaterial(int32 entryIndex)

    Gets the material used to draw the meshes which are assigned to that slot (set in Entries or model's default).

    Declaration
    public virtual MaterialBase* GetMaterial(int32 entryIndex) override
    Parameters
    int32 entryIndex

    The material slot entry index.

    Returns
    MaterialBase

    Overrides
    ModelInstanceActor::GetMaterial(int32 entryIndex)

    GetMaterial(int32 meshIndex, int32 lodIndex)

    Gets the material used to render mesh at given index (overriden by model instance buffer or model default).

    Declaration
    public MaterialBase* GetMaterial(int32 meshIndex, int32 lodIndex) const
    Parameters
    int32 meshIndex

    The zero-based mesh index.

    int32 lodIndex

    The LOD index.

    Returns
    MaterialBase

    Material or null if not assigned.

    GetMaterialSlots()

    Gets the material slots array set on the asset (eg. model or skinned model asset).

    Declaration
    public virtual Span<MaterialSlot> GetMaterialSlots() const override
    Returns
    Span<MaterialSlot>

    Overrides
    ModelInstanceActor::GetMaterialSlots()

    GetMeshData(const MeshReference& ref, MeshBufferType type, BytesContainer& result, int32& count, GPUVertexLayout* *layout)

    Extracts mesh buffer data from CPU. Might be cached internally (eg. by Model/SkinnedModel).

    Declaration
    public virtual bool GetMeshData(const MeshReference& ref, MeshBufferType type, BytesContainer& result, int32& count, GPUVertexLayout* *layout) const override
    Parameters
    MeshReference ref

    Mesh reference.

    MeshBufferType type

    Buffer type

    BytesContainer result

    The result data

    int32 count

    The amount of items inside the result buffer.

    GPUVertexLayout layout

    The result layout of the result buffer (for vertex buffers). Optional, pass null to ignore it.

    Returns
    bool

    True if failed, otherwise false.

    Overrides
    ModelInstanceActor::GetMeshData(const MeshReference& ref, MeshBufferType type, BytesContainer& result, int32& count, GPUVertexLayout* *layout=nullptr)

    GetMeshDeformation()

    Gets the mesh deformation utility for this model instance (optional).

    Declaration
    public virtual MeshDeformation* GetMeshDeformation() const override
    Returns
    MeshDeformation

    Model deformation utility or null if not supported.

    Overrides
    ModelInstanceActor::GetMeshDeformation()

    GetScaleInLightmap()

    Gets the model scale in lightmap (applied to all the meshes).

    Declaration
    public float GetScaleInLightmap() const
    Returns
    float

    GetSortOrder()

    Gets the model sort order key used when sorting drawable objects during rendering. Use lower values to draw object before others, higher values are rendered later (on top). Can be used to control transparency drawing.

    Declaration
    public int32 GetSortOrder() const
    Returns
    int32

    GetVertexColor(int32 lodIndex, int32 meshIndex, int32 vertexIndex)

    Gets the color of the painter vertex (this model instance).

    Declaration
    public Color32 GetVertexColor(int32 lodIndex, int32 meshIndex, int32 vertexIndex) const
    Parameters
    int32 lodIndex

    The model LOD index.

    int32 meshIndex

    The mesh index.

    int32 vertexIndex

    The vertex index.

    Returns
    Color32

    The color of the vertex.

    HasContentLoaded()

    Returns true if actor has loaded content.

    Declaration
    public virtual bool HasContentLoaded() const override
    Returns
    bool

    Overrides
    Actor::HasContentLoaded()

    HasLightmap()

    Determines whether this model has valid lightmap data.

    Declaration
    public bool HasLightmap() const
    Returns
    bool

    HasVertexColors()

    Returns true if model instance is using custom painted vertex colors buffer, otherwise it will use vertex colors from the original asset.

    Declaration
    public bool HasVertexColors() const
    Returns
    bool

    IntersectsEntry(const Ray& ray, Real& distance, Vector3& normal, int32& entryIndex)

    Determines if there is an intersection between the model actor mesh entry and a ray. If mesh data is available on the CPU performs exact intersection check with the geometry. Otherwise performs simple BoundingBox vs Ray test. For more efficient collisions detection and ray casting use physics.

    Declaration
    public virtual bool IntersectsEntry(const Ray& ray, Real& distance, Vector3& normal, int32& entryIndex) override
    Parameters
    Ray ray

    The ray to test.

    Real distance

    When the method completes and returns true, contains the distance of the intersection (if any valid).

    Vector3 normal

    When the method completes, contains the intersection surface normal vector (if any valid).

    int32 entryIndex

    When the method completes, contains the intersection entry index (if any valid).

    Returns
    bool

    True if the actor is intersected by the ray, otherwise false.

    Overrides
    ModelInstanceActor::IntersectsEntry(const Ray& ray, Real& distance, Vector3& normal, int32& entryIndex)

    IntersectsEntry(int32 entryIndex, const Ray& ray, Real& distance, Vector3& normal)

    Determines if there is an intersection between the model actor mesh entry and a ray. If mesh data is available on the CPU performs exact intersection check with the geometry. Otherwise performs simple BoundingBox vs Ray test. For more efficient collisions detection and ray casting use physics.

    Declaration
    public virtual bool IntersectsEntry(int32 entryIndex, const Ray& ray, Real& distance, Vector3& normal) override
    Parameters
    int32 entryIndex

    The material slot entry index to test.

    Ray ray

    The ray to test.

    Real distance

    When the method completes and returns true, contains the distance of the intersection (if any valid).

    Vector3 normal

    When the method completes, contains the intersection surface normal vector (if any valid).

    Returns
    bool

    True if the actor is intersected by the ray, otherwise false.

    Overrides
    ModelInstanceActor::IntersectsEntry(int32 entryIndex, const Ray& ray, Real& distance, Vector3& normal)

    IntersectsItself(const Ray& ray, Real& distance, Vector3& normal)

    Determines if there is an intersection between the current object and a ray.

    Declaration
    public virtual bool IntersectsItself(const Ray& ray, Real& distance, Vector3& normal) override
    Parameters
    Ray ray

    The ray to test.

    Real distance

    When the method completes, contains the distance of the intersection (if any valid).

    Vector3 normal

    When the method completes, contains the intersection surface normal vector (if any valid).

    Returns
    bool

    True whether the two objects intersected, otherwise false.

    Overrides
    Actor::IntersectsItself(const Ray& ray, Real& distance, Vector3& normal)

    OnDisable()

    Called when actor gets removed from game systems. Occurs on EndPlay event or when actor gets inactivated in hierarchy. Use this event to unregister object from other game system (eg. audio).

    Declaration
    protected virtual void OnDisable() override
    Overrides
    ModelInstanceActor::OnDisable()

    OnEnable()

    Called when actor gets added to game systems. Occurs on BeginPlay event or when actor gets activated in hierarchy. Use this event to register object to other game system (eg. audio).

    Declaration
    protected virtual void OnEnable() override
    Overrides
    ModelInstanceActor::OnEnable()

    RemoveLightmap()

    Removes the lightmap data from the model.

    Declaration
    public void RemoveLightmap()

    RemoveVertexColors()

    Removes the vertex colors buffer from this instance.

    Declaration
    public void RemoveVertexColors()

    Serialize(SerializeStream& stream, const void* otherObj)

    Serializes object to the output stream compared to the values of the other object instance (eg. default class object). If other object is null then serialize all properties.

    Declaration
    public virtual void Serialize(SerializeStream& stream, const void* otherObj) override
    Parameters
    SerializeStream stream

    The output stream.

    void otherObj

    The instance of the object to compare with and serialize only the modified properties. If null, then serialize all properties.

    Overrides
    Actor::Serialize(SerializeStream& stream, const void* otherObj)

    SetBoundsScale(float value)

    Sets the model bounds scale. It is useful when using Position Offset to animate the vertices of the object outside of its bounds.

    Declaration
    public void SetBoundsScale(float value)
    Parameters
    float value

    SetForcedLOD(int32 value)

    Sets the model forced Level Of Detail index. Allows to bind the given model LOD to show. Value -1 disables this feature.

    Declaration
    public void SetForcedLOD(int32 value)
    Parameters
    int32 value

    SetLODBias(int32 value)

    Sets the model Level Of Detail bias value. Allows to increase or decrease rendered model quality.

    Declaration
    public void SetLODBias(int32 value)
    Parameters
    int32 value

    SetScaleInLightmap(float value)

    Sets the model scale in lightmap (applied to all the meshes).

    Declaration
    public void SetScaleInLightmap(float value)
    Parameters
    float value

    SetSortOrder(int32 value)

    Sets the model sort order key used when sorting drawable objects during rendering. Use lower values to draw object before others, higher values are rendered later (on top). Can be used to control transparency drawing.

    Declaration
    public void SetSortOrder(int32 value)
    Parameters
    int32 value

    SetVertexColor(int32 lodIndex, int32 meshIndex, int32 vertexIndex, const Color32& color)

    Sets the color of the painter vertex (this model instance).

    Declaration
    public void SetVertexColor(int32 lodIndex, int32 meshIndex, int32 vertexIndex, const Color32& color)
    Parameters
    int32 lodIndex

    The model LOD index.

    int32 meshIndex

    The mesh index.

    int32 vertexIndex

    The vertex index.

    Color32 color

    The color to set.

    UpdateBounds()

    Updates the model bounds (eg. when mesh has applied significant deformation).

    Declaration
    public virtual void UpdateBounds() override
    Overrides
    ModelInstanceActor::UpdateBounds()

    WaitForModelLoad()

    Declaration
    protected virtual void WaitForModelLoad() override
    Overrides
    ModelInstanceActor::WaitForModelLoad()
    • Improve this Doc
    • View Source
    In This Article
    Back to top Copyright © 2012-2024 Wojciech Figat