统一背面剔除使用搅拌机对象移除我的墙外

Posted

技术标签:

【中文标题】统一背面剔除使用搅拌机对象移除我的墙外【英文标题】:unity backface culling removes outside of my walls with blender object 【发布时间】:2017-12-16 18:54:37 【问题描述】:

我在将 .dae 文件从搅拌机导入 unity 时遇到问题。

起初,由于背面剔除,我的模型的某些部分无法从我的房子内部看到。我试图翻转那些法线。这行得通,但是现在从房子外面看不到墙壁。

我尝试的下一件事是挤压墙并仅翻转法线的一侧,但这会导致外墙不可见而内墙统一可见。

有什么方法可以正确解决这个问题或在我的模型的某些部分统一禁用背面剔除?

Camera inside the house (picture)

Link to the blender file (zip)

【问题讨论】:

你能在 Blender 中张贴一张人脸显示他们的脸法线的图片吗? @user1767754 我已经在描述中包含了搅拌机项目,问题是墙壁需要从两侧可见,因为它们有一定的厚度。如果我在搅拌机中启用背面剔除,我会遇到同样的问题。 【参考方案1】:

所以我看了你的网格,它的制作不好!你有很多重叠的边缘,我把它清理了一下。您还打开了背面剔除。禁用它,翻转一些法线并且它可以工作。

我尝试的下一件事是挤压墙并仅翻转法线的一侧,但这会导致外墙不可见而内墙统一可见。

法线没有正确翻转。不过,您将需要重新应用纹理。 背面剔除,如果在源代码中正确完成将不必在以后统一执行! 您还需要学习如何正确创建没有重复顶点或面的网格。至于How to disable backface culling in unity。 From this thread 它会产生错误的光照,并且必须使用脚本复制所有三角形,所以只要坚持在搅拌机中做所有事情会更容易。

Dropbox Link to the .blend file

【讨论】:

非常感谢,原来是这个问题!【参考方案2】:

如果问题尚未解决,我建议您在模型中添加固化修改器并将厚度设置为非常低的值。这样墙壁就会有体积,您不必担心法线的方向。

【讨论】:

【参考方案3】:

您要么需要使用支持双面渲染的着色器,要么必须将所有多边形制作两次并翻转法线。最简单的方法就是在搅拌机中复制网格并翻转其所有法线。

【讨论】:

是否可以仅针对特定游戏对象统一禁用背面剔除?当玩家走进房子时,我有一个触发器,我正在为那里的某些游戏对象禁用渲染器,但我希望启用渲染器的房子部分禁用背面剔除。 用布尔值控制背面制作自己的着色器,或使用单独的模型

以上是关于统一背面剔除使用搅拌机对象移除我的墙外的主要内容,如果未能解决你的问题,请参考以下文章

将搅拌机顶点组动画导出为统一

如何将搅拌机文件导出到 fbx 并将其导入统一,使其外观和工作方式相同?

从搅拌机导入模型到统一时,我得到奇怪的材料结果

搅拌机统一问题

搅拌机中的汽车装备并导入 Unity

导出到统一时,搅拌机模型不导出材料。请帮忙?