当照相机相距一定距离时,统一材料消失

问题描述 投票:0回答:1

我有一个脚本,该脚本生成生成体素地形并将随机材质应用于每个立方体。

材质似乎应用得很好,但是当任何摄像机(游戏机和场景摄像机)移动到一定距离时,对象似乎没有设置任何材质。这仅会显示在其他任何已移动到引起位置的摄像机上的摄像机上。

我不知道这是统一性还是脚本错误。

// create a unit cube and store the mesh from it
GameObject blockMesh = Instantiate(blockPrefab, Vector3.zero, Quaternion.identity);

MeshFilter blockMeshMesh = blockMesh.GetComponent<MeshFilter>();

// add mesh renderer component
MeshRenderer mr = blockMesh.GetComponent<MeshRenderer>();

// move the unit cube to the intended position
blockMesh.transform.position = new Vector3(x, y, z);

chooseMesh = Random.Range(0f, 1000f);

// Randomly decide a material for the cube 
// testing for different items with different rarities
if (chooseMesh >= 0f && chooseMesh < 500f)
{
    //set material to avoid evil pinkness of missing texture
    mr.material = material_1;
}
else if (chooseMesh >= 500f && chooseMesh < 750f)
{
    mr.material = material_2;
}
else if (chooseMesh >= 750f && chooseMesh < 875f)
{
    mr.material = material_3;
}
else if (chooseMesh >= 875f && chooseMesh < 937.5f)
{
    mr.material = material_4;
}
else if (chooseMesh >= 937.5f && chooseMesh < 1000)
{
    mr.material = material_5;
}

编辑:我检查了我的相机裁剪平面,并将它们设置为0.01和1000。

此外,材料会以多个规则的间隔消失,而不仅仅是在一定距离之内和之外。

unity3d camera textures
1个回答
0
投票

检查相机的裁剪平面

enter image description here

来自Camera

剪切平面从照相机开始和停止渲染的距离。

  • Near相对于将要绘制的相机的最近点。
  • Far
  • 相对于相机进行绘制的最远点。

因此,如果您的对象距离Camera较远,则其Far剪切平面或更接近其Near剪切平面,则根本不会渲染。

© www.soinside.com 2019 - 2024. All rights reserved.