#include <AttachmentSkin.h>
Inherits EMotionFX::Attachment.
Classes | |
struct | JointMapping |
struct | MorphMapping |
Public Types | |
enum | { TYPE_ID = 0x00000002 } |
Public Member Functions | |
uint32 | GetType () const override |
const char * | GetTypeString () const override |
bool | GetIsInfluencedByMultipleJoints () const override final |
virtual void | UpdateJointTransforms (Pose &outPose) override |
virtual void | Update () override |
MCORE_INLINE JointMapping & | GetJointMapping (size_t nodeIndex) |
MCORE_INLINE const JointMapping & | GetJointMapping (size_t nodeIndex) const |
Public Member Functions inherited from EMotionFX::Attachment | |
virtual uint32 | GetType () const =0 |
virtual const char * | GetTypeString () const =0 |
virtual bool | GetIsInfluencedByMultipleJoints () const =0 |
virtual void | Update () |
virtual void | UpdateJointTransforms (Pose &outPose) |
ActorInstance * | GetAttachmentActorInstance () const |
ActorInstance * | GetAttachToActorInstance () const |
Public Member Functions inherited from EMotionFX::BaseObject | |
BaseObject () | |
virtual | ~BaseObject () |
Public Member Functions inherited from MCore::MemoryObject | |
MemoryObject () | |
virtual | ~MemoryObject () |
void | IncreaseReferenceCount () |
void | DecreaseReferenceCount () |
void | Destroy () |
uint32 | GetReferenceCount () const |
Static Public Member Functions | |
static AttachmentSkin * | Create (ActorInstance *attachToActorInstance, ActorInstance *attachment) |
Protected Member Functions | |
AttachmentSkin (ActorInstance *attachToActorInstance, ActorInstance *attachment) | |
virtual | ~AttachmentSkin () |
void | InitJointMap () |
void | InitMorphMap () |
Protected Member Functions inherited from EMotionFX::Attachment | |
Attachment (ActorInstance *attachToActorInstance, ActorInstance *attachment) | |
virtual | ~Attachment () |
Protected Member Functions inherited from EMotionFX::BaseObject | |
void | Delete () override |
virtual void | Delete () |
Protected Attributes | |
AZStd::vector< JointMapping > | m_jointMap |
AZStd::vector< MorphMapping > | m_morphMap |
Protected Attributes inherited from EMotionFX::Attachment | |
ActorInstance * | m_attachment |
ActorInstance * | m_actorInstance |
The skin attachment class. This represents an attachment that is influenced by multiple joints, skinned to the main skeleton of the actor it gets attached to. An example could be if you want to put on some pair of pants on the character. This can be used to customize your characters. So this attachment will basically copy the tranformations of the main character to the joints inside the actor instance that represents this attachment.
|
protected |
The constructor for a skin attachment.
attachToActorInstance | The actor instance to attach to (for example a cowboy). |
attachment | The actor instance that you want to attach to this joint (for example a gun). |
|
protectedvirtual |
The destructor. This does NOT delete the actor instance used by the attachment.
|
static |
Create the attachment that is influenced by multiple joints.
attachToActorInstance | The actor instance to attach to, for example your main character. |
attachment | The actor instance that you want to attach to this actor instance, for example an actor instance that represents some new pants. |
|
inlinefinaloverridevirtual |
Check if this attachment is being influenced by multiple joints or not. This is the case for attachments such as clothing items which get influenced by multiple joints inside the actor instance they are attached to.
Implements EMotionFX::Attachment.
|
inline |
Get the mapping for a given joint.
nodeIndex | The joint index inside the actor instance that represents the attachment. |
|
inline |
Get the mapping for a given joint.
nodeIndex | The joint index inside the actor instance that represents the attachment. |
|
inlineoverridevirtual |
Get the attachment type ID. Every class inherited from this base class should have some TYPE ID.
Implements EMotionFX::Attachment.
|
inlineoverridevirtual |
Get the attachment type string. Every class inherited from this base class should have some type ID string, which should be equal to the class name really.
Implements EMotionFX::Attachment.
|
protected |
Initialize the joint map, which links the joints inside the attachment with the actor where we attach to. It is used to copy over the transformations from the main parent actor, to the actor instance representing the attachment object.
|
overridevirtual |
Update the attachment. This can update the parent world space transform stored inside the actor instance.
Reimplemented from EMotionFX::Attachment.
|
overridevirtual |
Update the joint transforms of the attachment. This can be implemented for say skin attachments, which copy over joint transforms from the actor instance they are attached to.
outPose | The pose that will be modified. |
Reimplemented from EMotionFX::Attachment.
|
protected |
Specifies which joints we need to copy transforms from and to.
|
protected |
Maps morph targets of the actor instance we attach to with morphs in the attachment actor instance.