我把我的相机的圆柱体内,但我无法看到它。我所看到的只是它的外部。我该怎么办?
答案 0 :(得分:1)
您不必翻转双面材料(它将渲染两次),而只需翻转网格(也称为反转法线)即可。
通过使用包含包含在renderig三角形时网格所引用的顶点索引的triangles数组来执行法线反转。
最简单的代码看起来像这样:
[RequireComponent(typeof(MeshFilter))]
public class MeshInverter : MonoBehaviour
{
void Start()
{
var meshFilter = GetComponent<MeshFilter>();
var triss = meshFilter.sharedMesh.triangles;
var normals=meshFilter.sharedMesh.normals;
for (int i=0;i<normals.Length;i++)
normals[i]=-normals[i];
for (int i = 0; i < triss.Length / 3; i++)
{
int temp = triss[i * 3 + 1];
triss[i * 3 + 1] = triss[i * 3];
triss[i * 3] = temp;
}
Mesh mesh=Instantiate(meshFilter.sharedMesh);
mesh.triangles=triss;
mesh.normals=normals;
meshFilter.mesh=mesh;
}
}
它将在播放模式下显示胶囊的内部
答案 1 :(得分:0)
我发现了!你必须的材料添加到该气缸,然后选择着色器/传统着色器/颗粒/ Alpha混合。