• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

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

武飞扬头像
tkokof1
帮助1

简单记录一下调整网格(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);
		}
	}
}
学新通

更多资料

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgakihh
系列文章
更多 icon
同类精品
更多 icon
继续加载