unity / 搅拌器 / FBX / 半透明
Posted
技术标签:
【中文标题】unity / 搅拌器 / FBX / 半透明【英文标题】:unity / blender / FBX / semi transparent 【发布时间】:2019-06-22 08:11:33 【问题描述】:我在将 .FBX 导入统一时遇到了一个奇怪的问题。看起来这不是法线的问题。我注意到统一材料被归类为“透明”并将其更改为“不透明”确实可以解决问题,但我想了解这里发生了什么。
团结:2018.3.3f1
搅拌机:2.80.0
【问题讨论】:
【参考方案1】:我刚刚遇到了类似的问题。我还没弄清楚为什么会这样,但似乎有a bug report 出来了。如果我找出原因会更新。
2020 年 2 月 13 日更新:
正如Cristopher Kawell 所提到的,这似乎确实已在 Blender 的最新(2.81 后?)版本中得到修复 - 感谢 Chris 指出这一点!
2019 年 2 月 13 日更新:
尚未找到确切的根本原因,但我有几分钟的时间来测试一些事情。如果 R 值不是 1.0 或 0,则搅拌器似乎将基色的 R 通道用作红色 和 的反 Alpha 通道值,完全忽略 Alpha 通道,并保持 G和 B 通道作为它们应该是的值。
一些例子:
以下所有内容均假设一个基本模型(例如一个立方体),并且除了应用于该模型的单一材料的 Base Color 属性之外没有任何修改。
RGBA(1,1,1,1)
在搅拌机中,不透明 RGBA(1,1,1,1)
在 Unity 中
RGBA(1,1,1,0)
在搅拌机中,不透明 RGBA(1,1,1,1)
在 Unity 中
RGBA(0.9,1,1,1)
在搅拌机中,透明 RGBA(0.9,1,1,0.1)
在 Unity 中
RGBA(0.1,1,1,1)
在搅拌机中,透明 RGBA(0.1,1,1,0.9)
在 Unity 中
RGBA(0.1,0,0.1,1)
在搅拌机中,透明 RGBA(0.1,0,0.1,0.9)
在 Unity 中
RGBA(0,1,1,1)
在搅拌机中,不透明 RGBA(0,1,1,1)
在 Unity 中
所以,重申一下:
更改 Alpha 对导入模型的透明度没有影响。 R 值 0 或 1 等于 Alpha 值 1 介于 0 和 1 之间的 R 值等于1 - R
的 Alpha 值
B 和 G 值不影响透明度
希望这会有所帮助!
【讨论】:
这篇文章很有帮助。谢谢【参考方案2】:看来这个问题已经被搅拌机解决了:https://developer.blender.org/T59850
如果仍有问题,请尝试更新到最新的 Blender 2.8。
【讨论】:
【参考方案3】:当您将纹理应用到模型时,请确保将基色设置为白色(r - 1.0、g - 1.0、b - 1.0、A - 1.0),由于某些原因,当您将纹理应用到模型时,它在搅拌机中看起来不错,但统一会采用模型的基本颜色并在其上应用纹理。
我使用 2.8 的文件扩展名进行了测试[用 2.8 beta 文件替换了搅拌机安装文件夹],并通过在我的统一项目中保存 .blend 文件,我不得不单击模型查看器来更新材料,但它们最终正确显示.
【讨论】:
以上是关于unity / 搅拌器 / FBX / 半透明的主要内容,如果未能解决你的问题,请参考以下文章
Unity Shaders and Effects Cookbook (D-1) 设置 ZTest 来实现遮挡半透效果