SceneKit 以编程方式更改材质的颜色
Posted
技术标签:
【中文标题】SceneKit 以编程方式更改材质的颜色【英文标题】:SceneKit change color of materials programmatically 【发布时间】:2021-11-26 03:27:09 【问题描述】:我的谷歌搜索技能在这方面失败了,所以如果这是一个明显的问题,请原谅我。
我正在尝试创建一个典型的 rpg 角色创建屏幕。我有一个模型,我有基础漫反射贴图,假设我想更改模型的头发颜色。我可以将漫反射设置为不同的颜色(而不是漫反射纹理),它可以工作,但它会丢失所有这些小细节。例如,如果我要改变眼睛,它们只会是纯色。
是否有正确的方法来编辑这些颜色?我的漫反射贴图中有我特别需要的东西吗?另一种质地?等等?
【问题讨论】:
我不明白你的问题。请提交有关您的问题的更多详细信息和描述。你能展示一些你已经拥有的代码吗? 【参考方案1】:在研究了一般纹理的工作原理后,我解决了我的问题,也许这会对其他人有所帮助:
在 SceneKit 中,您可以为纹理选择漫反射、自发光、法线等。如果您为漫反射选择特定颜色,您将丢失该纹理的任何类型的纹理/材质/细节,因为它是纯色。例如,如果你正在制作一个硬币模型,而硬币的头部在你的漫反射中;将漫反射更改为纯色将为您提供没有细节的纯色硬币。我解决这个问题的方法是添加带有细节的法线贴图。
使用法线贴图可以将漫反射改为纯色,模型的细节通过法线贴图展现;产生任何颜色的硬币。
【讨论】:
以上是关于SceneKit 以编程方式更改材质的颜色的主要内容,如果未能解决你的问题,请参考以下文章
Unity 2018.3 HDRP - 以编程方式更改材质颜色?