Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo cambiar el tamaño del cubo en Unity

Cómo cambiar el tamaño del cubo en Unity

Sí, solo se puede cambiar la escala, pero podemos poner el origen de transferencia del cubo en la parte inferior central anulando la malla.

El siguiente es el código fuente que escribí para centrarlo en la parte inferior. Normalmente deberíamos escribir 24 vértices y 24 uv correspondientes, pero en este caso, solo queremos implementar una escala muy simple, así que lo hago. Solo escribí 8 vértices y uv.

_verticesList son vértices, _uvList es uv, _triList son triángulos

private?void?finalmesh()

{

GameObject?orgcube ?=?new?GameObject();

MeshFilter?meshf?=?orgcube.AddComponent ();

orgcube.AddComponent();

Malla?m?=?new?Mesh();

Lista?_verticesList?=?new?List();

Lista< Vector2>?_uvList?=?new?List();

Lista?_triList?=?new?List();

_verticesList. Add(new?Vector3(-0.5f,?0,? -0.5f));

_verticesList.Add(new?Vector3(0.5f,?0,? -0.5f)); p>

_verticesList.Add(new?Vector3(0.5f,?1,?

_verticesList.Add(new?Vector3(-0.5f,?1,? -0.5f)) ;

_verticesList.Add(new?Vector3(-0.5f,?0,?0.5f));

_verticesList.Add(new?Vector3(0.5f,?0, ?0.5 f));

_ verticesList.Add(new?Vector3(-0.5f,?0,?0.5f));

_verticesList.Add(new?Vector3( -0.5 f,?1,?

_verticesList.Add(new?Vector3(0.5f,?1,?0.5f));

_verticesList.Add(new?Vector3( -0.5 f,?1,?0.5f));

_uvList.Add(new?Vector2( 0,?0));

_uvList.Add(new?Vector2( 1, ?0));

_uvList.Add(new?Vector2(1,?1));

_uvList.Add(new?Vector2(1,?1)) ;

_ uvList.Add(new?Vector2(1,?0));

_uvList.Add(new?Vector2(1,?0));

_uvList.Add(new?Vector2(1,?1));

_uvList.Add(new?Vector2(1,?1));

//? Anterior

_triList.Add(0);

_triList.Add(1);

_triList.Add(2);

_triList(0);

_triList.Add(2);

_ triList.Add(3);

/?Después

_ triList.Add(4);

/?Agregar (

4);

_ triList.Add(7);

_ triList.Add(5);

_ triList.Add(6);

//? Izquierda

_ triList.Add(1);

_ triList.Add(5);

_ triList .Add(6);

_ triList.Add(7);

_ triList.Add(4);

/? Arriba

_ triList.Add(2);

_ triList.Add(6);

_ triList.Add(3);

_ triList .triList.Add(7);

/?Abajo

_ triList.Add(1);

_ triList.Add(4); p>

_ triList.Add(5);

_ triList.Add(0);

_ triList.Add(4);

_ triList.Add(1);

m.vertices?=?_verticesList.ToArray();

m.uv?=?_uvList.ToArray(); p>

m.triangles?=?_triList.ToArray();

//?m.RecalculateNormals();

meshf.mesh?=?m;

//// Establezca la barra de escala aquí. Tenga en cuenta que en este caso no hay una posición del cubo, colóquelo usted mismo

orgcube .transform.localScale?=?new?Vector3(0.01). f,?1,?0.01f);

}