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 来实现遮挡半透效果

为啥我的搅拌机 .fbx 文件没有导出到 Unity?

Libgdx 加载搅拌机模型,透明度不正确

如何在搅拌机中导入 FBX?

htmlcss和js原生写一个模态弹出框,顺便解决父元素半透明子元素不透明效果

为啥我无法从搅拌机导出 fbx 文件中的动画?