private void BuildDecal(CausticDecal decal)
    {
        MeshFilter filter = decal.GetComponent <MeshFilter>();

        if (filter == null)
        {
            filter = decal.gameObject.AddComponent <MeshFilter>();
        }
        if (decal.GetComponent <Renderer>() == null)
        {
            decal.gameObject.AddComponent <MeshRenderer>();
        }
        affectedObjects = GetAffectedObjects(decal.GetBounds(), decal.affectedLayers);
        foreach (GameObject go in affectedObjects)
        {
            CausticDecalBuilder.BuildDecalForObject(decal, go);
        }
        CausticDecalBuilder.Push(decal.pushDistance);

        Mesh mesh = CausticDecalBuilder.CreateMesh();

        if (mesh != null)
        {
            mesh.name   = "CausticMesh";
            filter.mesh = mesh;
        }
    }
Ejemplo n.º 2
0
    private void BuildDecal(CausticDecal decal)
    {
        MeshFilter filter = decal.GetComponent<MeshFilter>();
        if(filter == null) filter = decal.gameObject.AddComponent<MeshFilter>();
        if(decal.GetComponent<Renderer>() == null) decal.gameObject.AddComponent<MeshRenderer>();
        affectedObjects = GetAffectedObjects(decal.GetBounds(), decal.affectedLayers);
        foreach(GameObject go in affectedObjects) {
            CausticDecalBuilder.BuildDecalForObject( decal, go );
        }
        CausticDecalBuilder.Push( decal.pushDistance );

        Mesh mesh = CausticDecalBuilder.CreateMesh();
        if(mesh != null) {
            mesh.name = "CausticMesh";
            filter.mesh = mesh;
        }
    }