Fixing cloth working with Actors by reading directly from ModelAsset instead from EMFX Mesh. (#235)
- Fixing cloth working with Actors by reading directly from ModelAsset instead from EMFX Mesh. - Actor caches map from joint indices in skin metadata to skeleton indices so they can be query later. - Actor cloth skinning reads indices and weights from Model Asset instead from EMFX Mesh. - Actor cloth skinning with unlimited skinning bones. - Sort out cloth unit tests by disabling them until there is a way to create an Atom mesh - Addressing feedback.
This commit is contained in:
@@ -253,7 +253,7 @@ namespace UnitTest
|
||||
auto actor = AZStd::make_unique<ActorHelper>("actor_test");
|
||||
actor->AddJoint(JointRootName);
|
||||
auto meshNodeIndex = actor->AddJoint(MeshNodeName, AZ::Transform::CreateIdentity(), JointRootName);
|
||||
actor->SetMesh(LodLevel, meshNodeIndex, CreateEMotionFXMesh(MeshVertices, MeshIndices, {}, MeshUVs, MeshClothData));
|
||||
actor->SetMesh(LodLevel, meshNodeIndex, CreateEMotionFXMesh(MeshVertices, MeshIndices, {}, MeshUVs/*, MeshClothData*/));
|
||||
actor->FinishSetup();
|
||||
|
||||
editorActorComponent->SetActorAsset(CreateAssetFromActor(AZStd::move(actor)));
|
||||
@@ -284,7 +284,7 @@ namespace UnitTest
|
||||
auto actor = AZStd::make_unique<ActorHelper>("actor_test");
|
||||
actor->AddJoint(JointRootName);
|
||||
auto meshNodeIndex = actor->AddJoint(MeshNodeName, AZ::Transform::CreateIdentity(), JointRootName);
|
||||
actor->SetMesh(LodLevel, meshNodeIndex, CreateEMotionFXMesh(MeshVertices, MeshIndices, {}, MeshUVs, meshClothDataNoBackstop));
|
||||
actor->SetMesh(LodLevel, meshNodeIndex, CreateEMotionFXMesh(MeshVertices, MeshIndices, {}, MeshUVs/*, meshClothDataNoBackstop*/));
|
||||
actor->FinishSetup();
|
||||
|
||||
editorActorComponent->SetActorAsset(CreateAssetFromActor(AZStd::move(actor)));
|
||||
@@ -310,7 +310,7 @@ namespace UnitTest
|
||||
auto actor = AZStd::make_unique<ActorHelper>("actor_test");
|
||||
actor->AddJoint(JointRootName);
|
||||
auto meshNodeIndex = actor->AddJoint(MeshNodeName, AZ::Transform::CreateIdentity(), JointRootName);
|
||||
actor->SetMesh(LodLevel, meshNodeIndex, CreateEMotionFXMesh(MeshVertices, MeshIndices, {}, MeshUVs, MeshClothData));
|
||||
actor->SetMesh(LodLevel, meshNodeIndex, CreateEMotionFXMesh(MeshVertices, MeshIndices, {}, MeshUVs/*, MeshClothData*/));
|
||||
actor->FinishSetup();
|
||||
|
||||
editorActorComponent->SetActorAsset(CreateAssetFromActor(AZStd::move(actor)));
|
||||
@@ -337,7 +337,7 @@ namespace UnitTest
|
||||
auto actor = AZStd::make_unique<ActorHelper>("actor_test");
|
||||
actor->AddJoint(JointRootName);
|
||||
auto meshNodeIndex = actor->AddJoint(MeshNodeName, AZ::Transform::CreateIdentity(), JointRootName);
|
||||
actor->SetMesh(LodLevel, meshNodeIndex, CreateEMotionFXMesh(MeshVertices, MeshIndices, {}, MeshUVs, MeshClothData));
|
||||
actor->SetMesh(LodLevel, meshNodeIndex, CreateEMotionFXMesh(MeshVertices, MeshIndices, {}, MeshUVs/*, MeshClothData*/));
|
||||
actor->FinishSetup();
|
||||
|
||||
editorActorComponent->SetActorAsset(CreateAssetFromActor(AZStd::move(actor)));
|
||||
|
||||
Reference in New Issue
Block a user