[RESOLVIDO] Câmera isométrica seguindo o player
2 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Câmera isométrica seguindo o player
Pesquisei bastante e não consegui encontrar uma forma de fazer a câmera isométrica seguir o player, aqui no forum pelo menos não achei um tutorial.
Preciso de uma que seja semelhante a esta.
Se alguém souber como fazer ou um material de referência, vai me ajudar muito, desde já agradeço.
Preciso de uma que seja semelhante a esta.
Se alguém souber como fazer ou um material de referência, vai me ajudar muito, desde já agradeço.
Última edição por dstaroski em Qua Jan 30, 2019 9:12 am, editado 1 vez(es) (Motivo da edição : Resolvido)
Re: [RESOLVIDO] Câmera isométrica seguindo o player
Você pode usar o script comum de seguir:
Onde offSet é um Vector3 que deve ser ajustado de acordo com a posição da sua câmera (Mude de acordo)
E 0.1f é um float que também deve ser customizado.
#EDIT:
Deixe sua câmera assim: http://prntscr.com/mcun8g , no estilo ortográfica.
DICA: Posicione sua câmera de acordo com que você gostaria que ela olhasse ao jogador e copie sua posição e coloque no OffSet.
No caso, se a minha câmera está na posição 5, 5, -5 então o OffSet terá o mesmo valor.
- Código:
Transform camera_ = Camera.main.transform;
camera_.position = Vector3.Lerp(camera_.position, transform.position + offSet, 0.1f);
Onde offSet é um Vector3 que deve ser ajustado de acordo com a posição da sua câmera (Mude de acordo)
E 0.1f é um float que também deve ser customizado.
#EDIT:
Deixe sua câmera assim: http://prntscr.com/mcun8g , no estilo ortográfica.
DICA: Posicione sua câmera de acordo com que você gostaria que ela olhasse ao jogador e copie sua posição e coloque no OffSet.
No caso, se a minha câmera está na posição 5, 5, -5 então o OffSet terá o mesmo valor.
NKKF- ProgramadorMaster
- PONTOS : 4818
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: [RESOLVIDO] Câmera isométrica seguindo o player
Muito obrigado, consegui entender bem o funcionamento e já fiz algumas coisas que queria.
Só falta agora colocar um corretor rotacionando para a frente do carro para sempre deixar a visão maior na na frente.
O código final ficou como queria por enquanto.
Só falta agora colocar um corretor rotacionando para a frente do carro para sempre deixar a visão maior na na frente.
O código final ficou como queria por enquanto.
- Código:
public class IsoCamera : MonoBehaviour
{
[SerializeField] private Vector3 offSet = new Vector3(-10f, 15f, -10f);
private Transform isoCamera;
[SerializeField] private float speedCamera = 10f;
public GameObject[] cars = default;
private Transform carFollow = default;
[SerializeField] int carNumber = default;
private void Awake()
{
isoCamera = GetComponent<Transform>();
GameObject car = Instantiate(cars[carNumber], new Vector3(0f, 1f, 0f), Quaternion.identity) as GameObject;
carFollow = car.transform;
}
private void FixedUpdate()
{
isoCamera.position = Vector3.Lerp(isoCamera.position, carFollow.position + offSet, speedCamera * Time.fixedDeltaTime);
}
}
Re: [RESOLVIDO] Câmera isométrica seguindo o player
Você pode somar com o offset: transform.forward * amount.
Onde amount é a quantidade que ele deve ir para frente. Ou fazer um caminho onde a câmera passa.
Onde amount é a quantidade que ele deve ir para frente. Ou fazer um caminho onde a câmera passa.
NKKF- ProgramadorMaster
- PONTOS : 4818
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: [RESOLVIDO] Câmera isométrica seguindo o player
NKKF escreveu:Você pode somar com o offset: transform.forward * amount.
Onde amount é a quantidade que ele deve ir para frente. Ou fazer um caminho onde a câmera passa.
Vou fazer uns testes aqui sobre este método.
Obrigado
Re: [RESOLVIDO] Câmera isométrica seguindo o player
Ficou perfeito o código, vou deixar aqui para quem quiser pegar.
Organizei o código, deixando apenas a câmera com o que precisa dela. Ficou bem legal.
Se quiserem mudar para resolvido, tudo bem.
Organizei o código, deixando apenas a câmera com o que precisa dela. Ficou bem legal.
- Código:
public class IsoCamera : MonoBehaviour
{
[SerializeField] private Vector3 offSet = new Vector3(-10f, 15f, -10f);
[SerializeField] private Transform isoCamera = default;
[SerializeField] private float speedCamera = 10f, amount = 5f;
public GameObject race = default;
[SerializeField] private RaceController raceController = default;
[SerializeField] private Transform carFollow = default;
[SerializeField] private bool loadObjects = false;
private void Start()
{
raceController = race.GetComponent<RaceController>();
carFollow = race.GetComponent<RaceController>().carController.GetComponent<Transform>();
loadObjects = true;
}
private void FixedUpdate()
{
if (loadObjects)
{
isoCamera.position = Vector3.Lerp(isoCamera.position, carFollow.position + offSet + carFollow.forward * amount , speedCamera * Time.fixedDeltaTime);
}
}
}
Se quiserem mudar para resolvido, tudo bem.
Tópicos semelhantes
» [RESOLVIDO] Camera Seguir Player
» [RESOLVIDO] Rotacionar player no eixo Y da camera
» DUVIDA CAMERA SEGUINDO PERSONAGEM
» Segundo Player te seguindo e interagindo...
» COMO FAZER CAMERA ORBITAR O PLAYER/CAMERA LIVRE!
» [RESOLVIDO] Rotacionar player no eixo Y da camera
» DUVIDA CAMERA SEGUINDO PERSONAGEM
» Segundo Player te seguindo e interagindo...
» COMO FAZER CAMERA ORBITAR O PLAYER/CAMERA LIVRE!
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos