Pleas, Lumberyard team. Can you add next features

//////////////////////////////////////////
/// EMotionFX - ActorComponent ///

EMotionFX - add implementation SetMesh(), on this moment function is empty;

dev\Gems\EMotionFX\Code\Source\Integration\Components\ActorComponent.h | line 108 - edit
void SetMeshAsset(const AZ::Data::AssetId& id) override;

dev\Gems\EMotionFX\Code\Source\Integration\Components\ActorComponent.cpp | line 677 - add

void ActorComponent::SetMeshAsset(const AZ::Data::AssetId& id)
{
	m_actorInstance.reset();
	AZ::Data::AssetBus::Handler::BusDisconnect();
	auto& cfg = m_configuration;
	AZ::Data::AssetBus::Handler::BusConnect(id);
	cfg.m_actorAsset.Create(id, true);
}

////////////////////////
/// MeshComponent ///

Code bellow add implementation set properties to renderNode in Mesh Component.

dev\Gems\LmbrCentral\Code\include\LmbrCentral\Rendering\MeshComponentBus.h | line 64 - add

virtual void SetOpacity(float Opacity) {}
virtual void SetCastShadows(bool castShadows) {}
virtual void SetUseVisAreas(bool useVisAreas) {}
virtual void SetReciveWind(bool reciveWind) {}
virtual void SetAcceptDecals(bool acceptDecals) {}
virtual void SetDeformableMesh(bool deformableMesh) {}

dev\Gems\LmbrCentral\Code\Source\Rendering\MeshComponent.h | line 146 add

void SetOpacity(float opacity);
void SetCastShadows(bool castShadows);
void SetUseVisAreas(bool useVisAreas);
void SetReciveWind(bool reciveWind);
void SetAcceptDecals(bool acceptDecals);
void SetDeformableMesh(bool deformableMesh);

dev\Gems\LmbrCentral\Code\Source\Rendering\MeshComponent.h | line 332 add

void SetOpacity(float Opacity) override;
void SetCastShadows(bool castShadows) override;
void SetUseVisAreas(bool useVisAreas) override;
void SetReciveWind(bool reciveWind) override;
void SetAcceptDecals(bool acceptDecals) override;
void SetDeformableMesh(bool deformableMesh) override;

dev\Gems\LmbrCentral\Code\Source\Rendering\MeshComponent.cpp | line 577 add

void MeshComponentRenderNode::SetOpacity(float opacity)
{
	m_renderOptions.m_opacity = opacity;
}

void MeshComponentRenderNode::SetCastShadows(bool castShadows)
{
	m_renderOptions.m_castShadows = castShadows;
}

void MeshComponentRenderNode::SetUseVisAreas(bool useVisAreas)
{
	m_renderOptions.m_useVisAreas = useVisAreas;
}

void MeshComponentRenderNode::SetReciveWind(bool reciveWind)
{
	m_renderOptions.m_receiveWind = reciveWind;
}

void MeshComponentRenderNode::SetAcceptDecals(bool acceptDecals)
{
	m_renderOptions.m_acceptDecals = acceptDecals;
}

void MeshComponentRenderNode::SetDeformableMesh(bool deformableMesh)
{
	m_renderOptions.m_dynamicMesh = deformableMesh;
}

dev\Gems\LmbrCentral\Code\Source\Rendering\MeshComponent.cpp | line 1144 add

void MeshComponent::SetOpacity(float Opacity)
{
	m_meshRenderNode.SetOpacity(Opacity);
}

void MeshComponent::SetCastShadows(bool castShadows)
{
	m_meshRenderNode.SetCastShadows(castShadows);
}

void MeshComponent::SetUseVisAreas(bool useVisAreas)
{
	m_meshRenderNode.SetUseVisAreas(useVisAreas);
}

void MeshComponent::SetReciveWind(bool reciveWind)
{
	m_meshRenderNode.SetReciveWind(reciveWind);
}

void MeshComponent::SetAcceptDecals(bool acceptDecals)
{
	m_meshRenderNode.SetAcceptDecals(acceptDecals);
}

void MeshComponent::SetDeformableMesh(bool deformableMesh)
{
	m_meshRenderNode.SetDeformableMesh(deformableMesh);
}
1 Like