统一 / 搅拌机 / FBX / 半透明

unity / blender / FBX / semi transparent

我在将 .FBX 导入 unity 时遇到了一个奇怪的问题。看起来这不是法线的问题。我注意到统一 material 被归类为 'transparent' 并将其更改为 'opaque' 确实解决了这个问题,但我想找出这里发生了什么。

统一:2018.3.3f1

搅拌机:2.80.0

我刚刚 运行 遇到了类似的问题。我还没弄明白为什么会这样,但似乎 a bug report 出来了。如果我发现是什么原因造成的,将会更新。

2020-02-13 更新:

正如 提到的,这似乎确实在最新的 (post-2.81?) 版本的 Blender 中得到了修复 - 感谢 Chris 指出这一点!

2019-02-13 更新:

尚未找到确切的根本原因,但我有几分钟时间来测试一些事情。如果 R 值不是 1.0 或 0,则混合器似乎正在使用基色的 R 通道作为红色 的逆 Alpha 通道值,完全忽略 Alpha 通道,并保持 G 和 B 通道为它们应有的值。

一些例子:

以下所有内容都假设一个基本模型(比如一个立方体),除了应用于该模型的奇异 material 的基本颜色 属性 之外,没有任何修改。

  • 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) 在搅拌机中,在 Unity 中透明 RGBA(0.9,1,1,0.1)
  • RGBA(0.1,1,1,1) 在搅拌机中,在 Unity 中透明 RGBA(0.1,1,1,0.9)
  • RGBA(0.1,0,0.1,1) 在搅拌机中,在 Unity 中透明 RGBA(0.1,0,0.1,0.9)
  • RGBA(0,1,1,1) 在搅拌机中,不透明 RGBA(0,1,1,1) 在 Unity

所以,重申一下:

  • 更改 Alpha 对导入模型的透明度没有影响。
  • 0 或 1 的 R 值等于 1 的 Alpha 值
  • 0 到 1 之间的 R 值等于 1 - R
  • 的 Alpha 值
  • B和G值不影响透明度

希望对您有所帮助!

当您将纹理应用于模型时,请确保将底色设置为白色(r - 1.0、g - 1.0、b - 1.0、A - 1.0),出于某种原因,当您将纹理应用于模型时, 它在 blender 中看起来不错,但 unity 会采用模型的基本颜色并在其上应用纹理。

我用 2.8 的文件扩展名 [用 2.8 beta 文件替换了 blender 安装文件夹] 并通过在我的 unity 项目中保存 .blend 文件进行了测试,我不得不单击模型查看器来更新材料,但它们正确地出现在结束.

blender 似乎已经解决了这个问题:https://developer.blender.org/T59850

如果仍有问题,请尝试更新到最新的 Blender 2.8。