unity-game-engine - Unity中看不到飞机

标签 unity-game-engine plane

我正在开发一款游戏,其中有两个不同的平面,玩家将在两个平面之间移动(第一人称视角)。

我将主摄像头放置在两个具有相等 x 和 z 值且 y 值相差 10 的不同平面之间。现在摄像头的 y 值为 5(位于两个平面之间)。

无论我将相机移动到顶部平面下方的哪个位置,我都看不到它。我想从技术上讲它是顶部平面的底部。

这就是一切的样子:

Here is an image of the scene view

最佳答案

平面仅在一个方向上渲染。因此,如果您看到底部,您将看不到它。

如果你想看到双方,你可以使用 cube primitive并将 y 比例组件缩小到非常薄,或者您可以制作两个平面,将它们背对背放置。

如果您想将它们设置为背靠背,您只需 (1) 复制平面(使用 CTRL + D),然后将这个新平面的比例设置为 1,-1,1,位置与另一个。所有其他值将与其他原始平面保持相同。
像这样:

enter image description here

您只能看到飞机的一个面,因为 normals该平面的顶点朝上,默认着色器仅渲染该表面法线(通常是该表面顶点的平均值)面向相机的表面。

大多数着色器都设置为剔除背面。要获得更高级的解决方案,您只需在着色器中设置 CULL OFF 即可渲染两侧。

另请参阅:Render both sides of a plane - Unity Answers

关于unity-game-engine - Unity中看不到飞机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56261245/

相关文章:

c# - 快速算法找到 x 最接近平面上给定点的点

unity-game-engine - Unity弹跳球,高度相同,下落速度控制

android - 团结 : (Using cardboard SDK) Can we download new images to set as skybox

c# - 为什么gameObject在Unity中获得这样的位置?

java - 将文件存储在服务器上,并在安装 Android 应用程序时自动下载它们

3D线平面相交,与简单平面

来自jpg图像的纹理贴图的three.js平面几何即将出现黑色

Java - 将计划分为几个部分

c# - 授权 header 未通过 UnityWebRequest 传递

android - OpenGL ES : Texture a plane