Unity 3D方块面

时间:2019-12-21 17:02:10

标签: unity3d

您好,我刚接触统一,并想制作一个简单的3D游戏。现在我有了生成多维数据集的脚本,我想知道是因为如何制作一个脚本来检查一个块的一侧是否接触另一侧,从而不会渲染人脸,因此希望创建一个脚本,希望您能对我有所帮助。这是我的生成块的脚本。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Block_render : MonoBehaviour
{

    void Start()
    {
        int suma=0;
        for (int i = 0; i < 16; i++)
        {
            for (int j = 0; j < 16; j++)
            {
                for (int k = 0; k < 16; k++)
                {
                    GameObject chonk = GameObject.CreatePrimitive(PrimitiveType.Cube);
                    chonk.transform.position = new Vector3(0 + j, 0 + i, 0 + k);
                    chonk.AddComponent<MeshFaces>();
                    suma ++;
                    print(suma);
                }
            }
        }
    }


    void Update()
    {

    }
}

1 个答案:

答案 0 :(得分:1)

如果您担心渲染性能,可能为时过早,应该在编辑器中使用profiler和覆盖视图。

Occlusion Culling和Backface Culling(默认情况下处于启用状态)上查看这些内容,以按照您描述的方式提高性能。

如果要确定立方体的哪些面在触摸,则首先必须确定它们是否在触摸,这意味着您可以根据对撞机设置使用OnCollisionEnterOnTriggerEnter。然后,您应该能够分别使用传入的CollisionCollider对象来确定人脸。