He podido cambiar la altura de una malla de geometría de cubo usando mesh.scale.y, sin embargo, esto no es satisfactorio, ya que solo quiero aumentarlo hacia arriba o hacia abajo, pero cuando lo escalo, cambia uniformemente en ambas direcciones hacia arriba y hacia abajo. ¿Existe una forma sencilla de hacer esto sin escala que requiera actualizar el ajuste de posición para la parte inferior o superior para que parezca que está creciendo en una sola dirección?
PD: no se pudo encontrar un foro para publicar esta pregunta, así que dejé de buscar en Google y la publiqué aquí. También me gustaría agradecer al equipo de Three.js por este marco increíble, ya que escribir WebGL directamente, lo que estaba haciendo, me tomó demasiado tiempo.
mesh.scale.y += delta;
mesh.translateY( delta / 2 );
Muchas gracias
Para cualquiera que se encuentre con esto ahora, una pequeña aclaración.
mesh.scale.y += delta
cambia la escala de la malla, por lo que si la escala es 1 y agrega 1, la malla se duplica.
mesh.translateY()
mueve la malla una distancia física. Entonces, si el valor y de la malla es de 5 píxeles, agregar 1 lo mueve a 6.
En lugar de translateY(delta/2)
, debes calcular cuánto mesh.scale.y += delta
aumenta / disminuye físicamente la malla, luego debes traducir a la mitad de esa cantidad.
Comentario más útil