Movimentação automatica do objeto com acompanhamento da câmera
2 participantes
Página 1 de 1
Movimentação automatica do objeto com acompanhamento da câmera
Olá! Preciso fazer que esse objeto se mova automaticamente no eixo "y" e que a câmera acompanhe ele, como estou fazendo pra mobile, qual o melhor jeito de fazer isso?
Codigo do objeto:
Codigo do objeto:
- Código:
public class balao : MonoBehaviour
{
Rigidbody rb;
float dirx;
float velocidade = 10f;
void Start()
{
rb = GetComponent<Rigidbody>();
}
void Update()
{
dirx = Input.acceleration.x * velocidade;
transform.position = new Vector3(Mathf.Clamp(transform.position.x, -7.5f, 7.5f), transform.position.y);
}
void FixedUpdate()
{
rb.velocity = new Vector3(dirx, 0f);
}
void OnCollisionEnter(Collision coll)
{
if (coll.gameObject.tag == "obstaculo")
{
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
}
}
}
- Código:
public class Camera : MonoBehaviour
{
public float vel = 1;
void Update()
{
transform.Translate(Vector3.down * vel * Time.deltaTime);
}
}
Maria Costa- Iniciante
- PONTOS : 1674
REPUTAÇÃO : 0
Idade : 26
Áreas de atuação : Modelagem, texturização, composição de cenário, render e pixel art *u*
Respeito as regras :
Re: Movimentação automatica do objeto com acompanhamento da câmera
Se entendi bem, você está fazendo um jogo similar a aquele que você controla o balão e desvia de obstáculos, nesse caso seria mais correto mover os obstáculos ao invés de mover o balão, pois caso o balão fique muito longe da origem do mundo (0,0,0), você pode encontrar problemas relacionados a imprecisão dos números floats (floating point).
Respondendo a pergunta, você cria um Vector3 que recebe a posição do balão, soma a ele um outro Vector3 pra poder definir onde exatamente a câmera vai ficar, depois é só dar um Vector3.Lerp entre a posição atual da câmera, para esse Vector3 que você criou.
O código fica assim:
Sobre a movimentação do balão, não me parece legal misturar movimentação via Transform com o velocity do Rigidbody, dê uma olhada no MovePosition, é a função própria pra se mover um rigidBody (Tem mesmo necessidade de ser um RigidBody?)
https://docs.unity3d.com/ScriptReference/Rigidbody.MovePosition.html
Nesse caso, seu rigidbody precisa ter o "Is Kinematic" ligado.
Respondendo a pergunta, você cria um Vector3 que recebe a posição do balão, soma a ele um outro Vector3 pra poder definir onde exatamente a câmera vai ficar, depois é só dar um Vector3.Lerp entre a posição atual da câmera, para esse Vector3 que você criou.
O código fica assim:
- Código:
using UnityEngine;
public class CameraBalao : MonoBehaviour
{
public Vector3 offsetCamera = new Vector3(0, 0, -5f);
public Transform balao;
public float suavidadeCamera = 5;
private void LateUpdate()
{
Vector3 posicaoIdeal = balao.position + offsetCamera;
transform.position = Vector3.Lerp(transform.position, posicaoIdeal, suavidadeCamera * Time.deltaTime);
transform.LookAt(balao, Vector3.up);
}
}
Sobre a movimentação do balão, não me parece legal misturar movimentação via Transform com o velocity do Rigidbody, dê uma olhada no MovePosition, é a função própria pra se mover um rigidBody (Tem mesmo necessidade de ser um RigidBody?)
https://docs.unity3d.com/ScriptReference/Rigidbody.MovePosition.html
- Código:
using UnityEngine;
public class MoverObjetoRB : MonoBehaviour
{
private Rigidbody rb;
private void Start()
{
rb = GetComponent<Rigidbody>();
}
private void Update()
{
rb.MovePosition(transform.position + transform.up * 1 * Time.deltaTime);
}
}
Nesse caso, seu rigidbody precisa ter o "Is Kinematic" ligado.
Fagner- Moderador
- PONTOS : 4443
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: Movimentação automatica do objeto com acompanhamento da câmera
Oi Fagner, então, eu pensei em fazer a movimentação do objeto porque como tenho que utilizar um acelerômetro pra controlar ele, ai me complica um pouquinho kk. Mas agradeço pelas dúvidas esclarecidas!!
Maria Costa- Iniciante
- PONTOS : 1674
REPUTAÇÃO : 0
Idade : 26
Áreas de atuação : Modelagem, texturização, composição de cenário, render e pixel art *u*
Respeito as regras :
Tópicos semelhantes
» movimentação e camera?
» SCRIPT DE MOVIMENTAÇÃO E CÂMERA
» Câmera Primeira pessoa / Movimentação
» Script de movimentação e câmera não executa corretamente
» Duvida de movimentação de câmera 2D (Sem personagem)
» SCRIPT DE MOVIMENTAÇÃO E CÂMERA
» Câmera Primeira pessoa / Movimentação
» Script de movimentação e câmera não executa corretamente
» Duvida de movimentação de câmera 2D (Sem personagem)
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos