Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

241
Vistas
Cómo hacer Lerp entre 2 puntos del eje Z en Unity y escalar un componente en consecuencia

Estoy trabajando con Unity 3 y el tamaño total de mi nivel será solo un área de cuadrilátero con una pared a cada lado. Dentro de esto habrá dos paredes adicionales que crean un recinto que restringe al jugador a una parte del nivel que se expande gradualmente.

Llamo a estos dos muros ZBoundary y XBoundary, y hasta ahora para un prototipo he mapeado su movimiento a algunas teclas del teclado. Lo que quiero hacer es cuando uno se mueve, el otro crece en longitud para que siempre estén unidos en un ángulo perpendicular, por lo que quiero poder interpolar linealmente entre, por ejemplo, la coordenada Z de ZBoundary y la coordenada Z de Xboundary para que siempre se encuentren y creen una unión. Esto también crea un problema, porque no sé cómo cambiar el tamaño de un componente de juego mediante programación y sigo recibiendo errores.

Sé que Vector3.lerp puede ayudar, pero me estoy ahogando en transformaciones y diferentes escalas, por lo que agradecería la ayuda.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Estoy a mitad de camino ahora haciendo que el XBoundary ajuste su posición para bloquear siempre el ZBoundary a 90 grados

 ZBoundaryRef.transform.Translate((-1 * distancePerZMovement), 0, 0, Space.World); // using Space.World so transforms are using the global coordinate system! // what I've done here is say, move the XBoundary Z-CoOrd so that it aligns with the ZBoundary Z-CoOrd. // the origin of an object is at it's centre point so we need to take this in to account to ensure they join at the corners, not in a Tshape! float difference = (ZBoundaryRef.transform.position.x - XBoundaryRef.transform.position.x); float adjustment = difference + (ZBoundaryRef.transform.localScale.x/2); XBoundaryRef.transform.Translate(adjustment,0,0,Space.World);
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda