首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在运行时更改材料属性

在运行时更改材料属性
EN

Stack Overflow用户
提问于 2021-10-04 09:08:25
回答 1查看 61关注 0票数 0

我试图改变我的HDRP发光材料的发射颜色和发射强度,但它没有得到反映在我的gameObjects。我甚至试过使用"_EmissionColor“,但仍然没有改变。然而,应该改变的材料显示为(实例)。我在这里做错什么了?

代码语言:javascript
复制
public GameObject[] myGOs;

private void Start () {
        for(int i = 0; i<myGOs.Length; i++){
            myGOs[i].GetComponent<Renderer>().material.SetColor("_EmissiveColor", new Vector4(0.8196f,0.783f,0,1) * 3.0f);
        }
    }
EN

回答 1

Stack Overflow用户

发布于 2021-10-04 10:17:18

首先,检查您的材料是否具有此属性- material.HasProperty("_EmissiveColor")

如果,因此,有一个技巧,通常是适用于这种情况-启用关键字: material.EnableKeyword("_EMISSION");

对于你的材料,关键字可以不同。您可以使用material.shaderKeywords在所有着色器关键字中找到它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69433501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档