2#include "../Component/MeshComponent.h"
3#include "Engine/Animation/AnimationEvaluator.h"
4#include "Engine/Entity/Actor.h"
5#include "Engine/Files/AssetPath.h"
7#include <glm/gtc/quaternion.hpp>
57 void setBoneScale(
const std::string& boneName,
const glm::vec3& scale);
Skeleton definition loaded from glTF skin data.
A component which can be attached as many times to an actor as one wants. It makes it possible to ren...
Actor(const SpawnContext &context)
Creates an actor from a scene spawn context.
void setBonePosition(const std::string &boneName, const glm::vec3 &position)
Setter.
std::vector< Animation::AnimationEvaluator::JointPose > currentPoses_
std::shared_ptr< SceneNode > getSkeletalMeshNode() const
int32_t resolveBone(const std::string &boneName) const
SkeletalMeshActor(const SpawnContext &context, Asset::MeshPath meshPath)
Creates a skeletal mesh actor from a mesh asset path.
Assets::Skin * getSkinPayload() const
glm::quat getBoneRotation(const std::string &boneName) const
Getter.
void setBoneScale(const std::string &boneName, const glm::vec3 &scale)
Setter.
Components::Mesh * meshComponent_
void resetPosesToRest()
Resets all bone poses to their rest positions.
Assets::SkinHandle getSkinAsset() const
Returns the stable skin binding handle used by this actor's skeletal mesh.
void setBoneRotation(const std::string &boneName, const glm::quat &rotation)
Setter.
void setMeshLocalTransform(const glm::mat4 &transform) const
void ensurePosesInitialized()
glm::vec3 getBoneScale(const std::string &boneName) const
Getter.
void applyBoneTransforms()
Applies current poses to the mesh component.
glm::vec3 getBonePosition(const std::string &boneName) const
Getter.
std::shared_ptr< SceneNode > meshSceneNode_
AssetHandle< SkinHandleTag > SkinHandle
Handle to skin binding data.
Identifies a named mesh-like asset inside an asset file.
Scene ownership data passed to actor and component constructors during spawning.