UE4 微笔记 之 调整网格材质参数

69 篇文章 6 订阅

简单记录一下调整网格(Mesh)材质参数的方法

修改网格材质参数一般有以下几个步骤:

  • 首先创建材质参数(这里有较详细的说明)
  • 创建动态材质实例(UMaterialInstanceDynamic)
  • 设置动态材质参数(通过 SetVectorParameterValue 等方法)

以下是一段简单的代码示例:

void SetMeshMaterial(UMeshComponent* MeshComponent, int MaterialIndex)
{
	if (MeshComponent)
	{
		auto Material = MeshComponent->GetMaterial(MaterialIndex);
		if (!Material)
		{
		    // create material if needed
		    Material = LoadObject(nullptr, TEXT("/Game/TemplateMaterial"));
		}
		
		if (Material)
		{
		    // check if material is already dynamic
			auto MaterialInstance = Cast<UMaterialInstanceDynamic>(Material);
			if (!MaterialInstance)
			{
				// create dynamic material if needed
				MaterialInstance = UMaterialInstanceDynamic::Create(Material, nullptr);
				// set mesh material
				MeshComponent->SetMaterial(MaterialIndex, MaterialInstance);
			}
			
			// now we can set material params by SetVectorParameterValue etc.
	        //MaterialInstance->SetVectorParameterValue(TEXT("BaseColor"), FLinearColor::White);
		}
	}
}
更多资料
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值