Como fazer a câmera parar de seguir a altura do pulo do jogador no script SmoothFollow dos Assets Standards da Unity ?
4 participantes
Página 1 de 1
Como fazer a câmera parar de seguir a altura do pulo do jogador no script SmoothFollow dos Assets Standards da Unity ?
Olá pessoal, estou tentando fazer uma camera do estilo de donkey kong country, para um jogo de plataforma side scroller que estou fazendo em 3D que segue lentamente o jogador e o offset dela sempre é maior para o lado em que o player está olhando, e onde a altura da camera só começa a aumentar dependendo que o player alcança no cenário, porém não consigo fazer a camera parar de seguir o player na hora do pulo no Script que vem com a unity de smooth follow, já mexi em todos os parâmetros mas nada adiantou, alguém poderia me ajudar ?
Sei que é um sistema de camera meio complexo que quero fazer, mas se vocês me ajudarem a fazer a camera parar de seguir o personagem na hora do pulo já vai ajudar demais !
Muito Obrigado !
Sei que é um sistema de camera meio complexo que quero fazer, mas se vocês me ajudarem a fazer a camera parar de seguir o personagem na hora do pulo já vai ajudar demais !
Muito Obrigado !
leandro.ferrete- Iniciante
- PONTOS : 2991
REPUTAÇÃO : 0
Respeito as regras :
Re: Como fazer a câmera parar de seguir a altura do pulo do jogador no script SmoothFollow dos Assets Standards da Unity ?
o que você tem que fazer e passar a posição do player somente em x
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: Como fazer a câmera parar de seguir a altura do pulo do jogador no script SmoothFollow dos Assets Standards da Unity ?
- Código:
public Transform target;
public Vector2 offset;
void LateUpdate() //LateUpdate Evita que bugue algumas coisas. E só mova camera apos tudo ter sido executado.
{
transform.position = new Vector2(target.position.x + offset.x, offset.y);
}
Goustkor- Avançado
- PONTOS : 3073
REPUTAÇÃO : 18
Respeito as regras :
Re: Como fazer a câmera parar de seguir a altura do pulo do jogador no script SmoothFollow dos Assets Standards da Unity ?
é que no Script está bastante complexo, não da pra entender como ele funciona.
using UnityEngine;
using System.Collections;
public class SmoothFollowCam : MonoBehaviour {
// The target we are following
public Transform target;
// The distance in the x-z plane to the target
public float distance = 9;
// the height we want the camera to be above the target
public float height = 1f;
// How much we
public float heightDamping = 2.0f;
public float rotationDamping = 3.0f;
// Place the script in the Camera-Control group in the component menu
[AddComponentMenu("Camera-Control/Smooth Follow")]
void LateUpdate()
{
// Early out if we don't have a target
if (!target) return;
// Calculate the current rotation angles
float wantedRotationAngle = target.eulerAngles.y;
float wantedHeight = target.position.y + height;
float currentRotationAngle = transform.eulerAngles.y;
float currentHeight = transform.position.y;
// Damp the rotation around the y-axis
currentRotationAngle = Mathf.LerpAngle(currentRotationAngle, wantedRotationAngle, rotationDamping * Time.deltaTime);
// Damp the height
currentHeight = Mathf.Lerp(currentHeight, wantedHeight, heightDamping * Time.deltaTime);
// Convert the angle into a rotation
var currentRotation = Quaternion.Euler(0, currentRotationAngle, 0);
// Set the position of the camera on the x-z plane to:
// distance meters behind the target
transform.position = target.position;
transform.position -= currentRotation * Vector3.forward * distance;
// Set the height of the camera
transform.position = new Vector3(transform.position.x, currentHeight, transform.position.z);
// Always look at the target
transform.LookAt(target);
}
}
using UnityEngine;
using System.Collections;
public class SmoothFollowCam : MonoBehaviour {
// The target we are following
public Transform target;
// The distance in the x-z plane to the target
public float distance = 9;
// the height we want the camera to be above the target
public float height = 1f;
// How much we
public float heightDamping = 2.0f;
public float rotationDamping = 3.0f;
// Place the script in the Camera-Control group in the component menu
[AddComponentMenu("Camera-Control/Smooth Follow")]
void LateUpdate()
{
// Early out if we don't have a target
if (!target) return;
// Calculate the current rotation angles
float wantedRotationAngle = target.eulerAngles.y;
float wantedHeight = target.position.y + height;
float currentRotationAngle = transform.eulerAngles.y;
float currentHeight = transform.position.y;
// Damp the rotation around the y-axis
currentRotationAngle = Mathf.LerpAngle(currentRotationAngle, wantedRotationAngle, rotationDamping * Time.deltaTime);
// Damp the height
currentHeight = Mathf.Lerp(currentHeight, wantedHeight, heightDamping * Time.deltaTime);
// Convert the angle into a rotation
var currentRotation = Quaternion.Euler(0, currentRotationAngle, 0);
// Set the position of the camera on the x-z plane to:
// distance meters behind the target
transform.position = target.position;
transform.position -= currentRotation * Vector3.forward * distance;
// Set the height of the camera
transform.position = new Vector3(transform.position.x, currentHeight, transform.position.z);
// Always look at the target
transform.LookAt(target);
}
}
leandro.ferrete- Iniciante
- PONTOS : 2991
REPUTAÇÃO : 0
Respeito as regras :
Re: Como fazer a câmera parar de seguir a altura do pulo do jogador no script SmoothFollow dos Assets Standards da Unity ?
Cara, o script é bastante simples, ele só faz um lerp na posição, só que ter um problema... você não quer que a camera acompanhe o jogador no pulo, mas então me diga, se o jogador pular de um lugar mais baixo para um lugar mais alto, o que deve acontecer? a camera vai subir não vai? ou quer que ela permaneça na altura aonde está?
Se você quer que ela não se mova em Y, enquanto o jogador pula, você vai precisar nos dizer qual é o script que move o seu personagem, pois precisaremos "travar" o movimento da camera no eixo Y enquanto o jogador ainda está no ar, após o pulo.
Se você quer que ela não se mova em Y, enquanto o jogador pula, você vai precisar nos dizer qual é o script que move o seu personagem, pois precisaremos "travar" o movimento da camera no eixo Y enquanto o jogador ainda está no ar, após o pulo.
Tópicos semelhantes
» Como faz a câmera seguir e gira em torno do jogador
» Como posso fazer para camera seguir o personagem no eixo x e z?
» Como fazer um analogico para rotaciona a camera do jogador? android
» Como consigo acessar a condição de um clipe dentro de um script pra fazer ele parar?
» como fazer o braço do personagem seguir a camera
» Como posso fazer para camera seguir o personagem no eixo x e z?
» Como fazer um analogico para rotaciona a camera do jogador? android
» Como consigo acessar a condição de um clipe dentro de um script pra fazer ele parar?
» como fazer o braço do personagem seguir a camera
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos