Returns the shared mesh of the mesh filter.
It is recommended to use this function only for reading mesh data and not for writing, since you might modify imported assets and all objects that use this mesh will be affected. Also, be aware that is not possible to undo the changes done to this mesh.
// Scales PERMANENTLY the size of the mesh by a factor. var scaleFactor : float = 2; function Start () { var mesh : Mesh = GetComponent(MeshFilter).sharedMesh; var vertices : Vector3[] = mesh.vertices; for (var p : int = 0; p < vertices.Length; p++) { vertices[p] *= scaleFactor; } mesh.vertices = vertices; mesh.RecalculateNormals(); }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public float scaleFactor = 2; void Start() { Mesh mesh = GetComponent<MeshFilter>().sharedMesh; Vector3[] vertices = mesh.vertices; int p = 0; while (p < vertices.Length) { vertices[p] *= scaleFactor; p++; } mesh.vertices = vertices; mesh.RecalculateNormals(); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): public scaleFactor as float = 2 def Start() as void: mesh as Mesh = GetComponent[of MeshFilter]().sharedMesh vertices as (Vector3) = mesh.vertices p as int = 0 while p < vertices.Length: vertices[p] *= scaleFactor p++ mesh.vertices = vertices mesh.RecalculateNormals()