Ejemplo n.º 1
0
    private static void GenerateCutterGameobject(GameObject originalGameObject, GeneratedMesh mesh, bool addRigidbody, Vector3 direction)
    {
        if (mesh.Vertices.Count > 3)
        {
            GameObject gameObject = new GameObject(originalGameObject.name, typeof(MeshFilter), typeof(MeshRenderer));
            gameObject.transform.localRotation = originalGameObject.transform.localRotation;
            gameObject.transform.localScale    = originalGameObject.transform.localScale;
            gameObject.transform.position      = originalGameObject.transform.position;

            gameObject.GetComponent <MeshFilter>().mesh = mesh.GenerateMesh();

            gameObject.GetComponent <MeshRenderer>().material = originalGameObject.GetComponent <MeshRenderer>().material;

            if (addRigidbody)
            {
                gameObject.AddComponent <Rigidbody>();
                gameObject.GetComponent <Rigidbody>().AddTorque(direction * 200f);
            }

            gameObject.AddComponent <MeshCollider>();
            gameObject.GetComponent <MeshCollider>().convex = true;
        }
    }