Mesh.bounds
var bounds: Bounds;
Bounds bounds;
bounds as Bounds
Description

The bounding volume of the mesh.

This is the axis-aligned bounding box of the mesh in its local space (that is, not affected by the transform). See also Renderer.bounds property that returns bounds in world space.

See Also: Bounds class, Renderer.bounds property.
	// Generates planar UV coordinates independent of mesh size
	// by scaling vertices by the bounding box size

function Start () { var mesh : Mesh = GetComponent(MeshFilter).mesh; var vertices : Vector3[] = mesh.vertices; var uvs : Vector2[] = new Vector2[vertices.Length]; var bounds : Bounds = mesh.bounds;

for (var i = 0; i < uvs.Length; i++) uvs[i] = Vector2 (vertices[i].x / bounds.size.x ,vertices[i].z / bounds.size.x);

mesh.uv = uvs; }
using UnityEngine;
using System.Collections;

public class Example : MonoBehaviour {
    void Start() {
        Mesh mesh = GetComponent<MeshFilter>().mesh;
        Vector3[] vertices = mesh.vertices;
        Vector2[] uvs = new Vector2[vertices.Length];
        Bounds bounds = mesh.bounds;
        int i = 0;
        while (i < uvs.Length) {
            uvs[i] = new Vector2(vertices[i].x / bounds.size.x, vertices[i].z / bounds.size.x);
            i++;
        }
        mesh.uv = uvs;
    }
}
import UnityEngine
import System.Collections

public class Example(MonoBehaviour):

	def Start() as void:
		mesh as Mesh = GetComponent[of MeshFilter]().mesh
		vertices as (Vector3) = mesh.vertices
		uvs as (Vector2) = array[of Vector2](vertices.Length)
		bounds as Bounds = mesh.bounds
		i as int = 0
		while i < uvs.Length:
			uvs[i] = Vector2((vertices[i].x / bounds.size.x), (vertices[i].z / bounds.size.x))
			i++
		mesh.uv = uvs