[RESOLVIDO] Camera Seguir Player
3 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Camera Seguir Player
Amigos, peço que analisem o script e testem para entender o meu problema.
esse codigo vai na camera, e a ideia é fazer ela seguir o player. ate ai tudo bem, porém, quando uso isso junto com o fauxgravity, a camera não rotaciona junto com o player.
esse codigo vai na camera, e a ideia é fazer ela seguir o player. ate ai tudo bem, porém, quando uso isso junto com o fauxgravity, a camera não rotaciona junto com o player.
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CamFollow : MonoBehaviour
{
public Transform player;
public float smoothSpeed = 0.05f;
public Vector3 offset;
void Update()
{
Vector3 desiredPosition = player.position + offset;
Vector3 smoothedPosition = Vector3.Lerp(transform.position ,desiredPosition, smoothSpeed);
transform.position = smoothedPosition;
transform.LookAt(player);
}
}
alefe c oliveira- Membro
- PONTOS : 1781
REPUTAÇÃO : 8
Respeito as regras :
alefe c oliveira- Membro
- PONTOS : 1781
REPUTAÇÃO : 8
Respeito as regras :
Re: [RESOLVIDO] Camera Seguir Player
esse seria o jeito correto, porem queria fazer isso sem ter que afiliar a camera ao player. e também pra ela na perder a suavidade do movimento.
alefe c oliveira- Membro
- PONTOS : 1781
REPUTAÇÃO : 8
Respeito as regras :
Re: [RESOLVIDO] Camera Seguir Player
URL do asset pra testar e ver oq da pra fazer
alefe c oliveira- Membro
- PONTOS : 1781
REPUTAÇÃO : 8
Respeito as regras :
Re: [RESOLVIDO] Camera Seguir Player
Difícil cara... as cameras seguem o jogador baseado na posição "Vector3" global dele, e se o jogador virar de ponta cabeça, rodar, tanto faz, os métodos ainda vão enchergar a posição global dele.
Para fazer o que você quer, o jeito mais simples mesmo é filiar a câmera ao jogador...
Tente com alguma camera do meu asset: https://assetstore.unity.com/packages/tools/camera/ms-advanced-camera-controller-81759
Se nenhuma servir, ai algo mais complexo tem que ser elaborado, pegando a direção "transform.forword" do player e a sua rotação... ou um damping baseado na posição local do player, sei lá.
Para fazer o que você quer, o jeito mais simples mesmo é filiar a câmera ao jogador...
Tente com alguma camera do meu asset: https://assetstore.unity.com/packages/tools/camera/ms-advanced-camera-controller-81759
Se nenhuma servir, ai algo mais complexo tem que ser elaborado, pegando a direção "transform.forword" do player e a sua rotação... ou um damping baseado na posição local do player, sei lá.
Re: [RESOLVIDO] Camera Seguir Player
alefe c oliveira escreveu:Amigos, peço que analisem o script e testem para entender o meu problema.
esse codigo vai na camera, e a ideia é fazer ela seguir o player. ate ai tudo bem, porém, quando uso isso junto com o fauxgravity, a camera não rotaciona junto com o player.
Bem simples jovem, você só precisa tornar desiredPosition relativo ao player, e usar o player.up como referencia para LookAt(), Dessa forma a câmera utiliza a direção "pra cima" do player e não do mundo.
O código ficaria assim:
- Código:
using UnityEngine;
public class CamFollow : MonoBehaviour
{
public Transform player;
public float smoothSpeed = 0.05f;
public Vector3 offset;
void Update()
{
Vector3 desiredPosition = player.position + (player.forward * offset.z) + (player.right * offset.x) + (player.up * offset.y);
Vector3 smoothedPosition = Vector3.Lerp(transform.position, desiredPosition, smoothSpeed);
transform.position = smoothedPosition;
transform.LookAt(player, player.up);
}
}
Fagner- Moderador
- PONTOS : 4442
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: [RESOLVIDO] Camera Seguir Player
Poha Fagner, para de humilhar a minha resposta
Última edição por MarcosSchultz em Ter Mar 17, 2020 7:21 pm, editado 1 vez(es)
Re: [RESOLVIDO] Camera Seguir Player
E o Rambo leva a culpa kkk nem tinha lido a resposta @MarcosSchultz, foi mal.
Se bem que o código faz o que você falou, usei o Transform. Forward do player, só acrescentei os outros eixos pra ter mais controle
Se bem que o código faz o que você falou, usei o Transform. Forward do player, só acrescentei os outros eixos pra ter mais controle
Fagner- Moderador
- PONTOS : 4442
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: [RESOLVIDO] Camera Seguir Player
Fagner escreveu: E o Rambo leva a culpa kkk nem tinha lido a resposta @MarcosSchultz, foi mal.
Se bem que o código faz o que você falou, usei o Transform. Forward do player, só acrescentei os outros eixos pra ter mais controle
E o Rambo leva a culpa, heueheuheuehee
Editei agora... Vi alguém verde e já sai escrevendo Rambo, eueheueheuehe
Re: [RESOLVIDO] Camera Seguir Player
vou testar aqui, por enquanto valeu galera, vocês são de mais
alefe c oliveira- Membro
- PONTOS : 1781
REPUTAÇÃO : 8
Respeito as regras :
Re: [RESOLVIDO] Camera Seguir Player
bom, testei, a pricipio funcionou bem kkkk, porem, quando eu ando para trás com o analogico esquerdo a camera vira 180º kkkk n deveria fazer isso, deveria andar junto com o player.
ja corrigi o problema, era a posição da cam. obrigado ae galera, vocês são top.
ja corrigi o problema, era a posição da cam. obrigado ae galera, vocês são top.
alefe c oliveira- Membro
- PONTOS : 1781
REPUTAÇÃO : 8
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Rotacionar player no eixo Y da camera
» Como fazer a câmera começar com uma visão do topo e seguir o player
» [RESOLVIDO] Inimigo seguir o player
» [RESOLVIDO] Unity2D - O inimigo não para de seguir o player mesmo ele escondido
» [RESOLVIDO] Câmera isométrica seguindo o player
» Como fazer a câmera começar com uma visão do topo e seguir o player
» [RESOLVIDO] Inimigo seguir o player
» [RESOLVIDO] Unity2D - O inimigo não para de seguir o player mesmo ele escondido
» [RESOLVIDO] Câmera isométrica seguindo o player
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos