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
Lista< Vector2>?_uvList?=?new?List
Lista
_verticesList. Add(new?Vector3(-0.5f,?0,? -0.5f));
_verticesList.Add(new?Vector3(0.5f,?0,? -0.5f)); p> 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> 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; p>
//// 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);
}