I'm still not sure what exactly you want to do, but here's a script i've just written which splits a mesh into seperate triangles. The script created two triangles per triangle, one front and one back face. The back face has it's normals flipped (since it uses the same vertices) so it appears black.
I've written it in "my" language C#, but also converted it to UnityScript.
// C#
// SplitMeshIntoTriangles.cs
using UnityEngine;
using System.Collections;
public class SplitMeshIntoTriangles : MonoBehaviour
{
IEnumerator SplitMesh ()
{
MeshFilter MF = GetComponent();
MeshRenderer MR = GetComponent();
Mesh M = MF.mesh;
Vector3[] verts = M.vertices;
Vector3[] normals = M.normals;
Vector2[] uvs = M.uv;
for (int submesh = 0; submesh ().material = MR.materials[submesh];
GO.AddComponent().mesh = mesh;
GO.AddComponent();
GO.AddComponent().AddExplosionForce(100, transform.position, 30);
Destroy(GO, 5 + Random.Range(0.0f, 5.0f));
}
}
MR.enabled = false;
Time.timeScale = 0.2f;
yield return new WaitForSeconds(0.8f);
Time.timeScale = 1.0f;
Destroy(gameObject);
}
void OnMouseDown()
{
StartCoroutine(SplitMesh());
}
}
Here's the UnityScript version:
// UnityScript
// SplitMeshIntoTriangles.js
function SplitMesh ()
{
var MF = GetComponent();
var MR = GetComponent();
var M = MF.mesh;
var verts = M.vertices;
var normals = M.normals;
var uvs = M.uv;
for (var submesh = 0; submesh
Trending Articles
More Pages to Explore .....