Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

246
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda