DÚVIDA COM SCRIPT
3 participantes
Página 1 de 1
DÚVIDA COM SCRIPT
Opa e aí pessoal, blz? eu to usando um script de uma especie de efeito delay na camera do meu player e queria adicionar uma coisa nele so que não to conseguindo, eu queria que quando a posição da camera do player estiver sendo 75 e -75 (que é o maximo que ela vai no eixo X) a variavel "maxAmountY" do seguinte script seja 0, senão, volta a ser o numero que estava antes (), no momento o script esta da seguinte forma:
se alguém souber responder fico grato :D
- Código:
using UnityEngine;
public class CameraAmount : MonoBehaviour
{
public Camera m_Camera;
public float amountX = 6;
public float amountY = 6;
[Space(10)]
public float maxAmountX = 8;
public float maxAmountY = 8;
[Space(10)]
public float smooth = 4;
public bool enabled = true;
private void Update()
{
/*if (Cursor.lockState == CursorLockMode.None)
{
return;
}*/
if (enabled)
{
float inputX = -Input.GetAxis("Mouse X") * amountX;
float inputY = Input.GetAxis("Mouse Y") * amountY;
inputX = Mathf.Clamp(inputX, -maxAmountX, maxAmountX);
inputY = Mathf.Clamp(inputY, -maxAmountY, maxAmountY);
Quaternion newRotation = Quaternion.Euler(inputY, inputX, inputX);
transform.localRotation = Quaternion.Slerp(transform.localRotation, newRotation, Time.deltaTime * smooth);
if (m_Camera.transform.rotation.eulerAngles.x > 75)
{
maxAmountY = 0;
}
else
{
maxAmountY = maxAmountX;
}
}
}
}
se alguém souber responder fico grato :D
MeverPlays- Mestre
- PONTOS : 3867
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: DÚVIDA COM SCRIPT
- Código:
using UnityEngine;
public class CameraAmount : MonoBehaviour{
public Camera m_Camera;
public float amountX = 6;
public float amountY = 6;
[Space(10)]
public float maxAmountX = 8;
public float maxAmountY = 8;
[Space(10)]
public float smooth = 4;
public bool enabled = true;
private void Update(){
if (enabled){
float inputX = -Input.GetAxis("Mouse X") * amountX;
float inputY = Input.GetAxis("Mouse Y") * amountY;
inputX = Mathf.Clamp(inputX, -maxAmountX, maxAmountX);
inputY = Mathf.Clamp(inputY, -maxAmountY, maxAmountY);
Quaternion newRotation = Quaternion.Euler(inputY, inputX, inputX);
transform.localRotation = Quaternion.Slerp(transform.localRotation, newRotation, Time.deltaTime * smooth);
if (Mathf.Abs(m_Camera.transform.rotation.eulerAngles.x) > 74.5f){
maxAmountY = 0;
}
else{
maxAmountY = maxAmountX;
}
}
}
}
Re: DÚVIDA COM SCRIPT
MarcosSchultz escreveu:
- Código:
using UnityEngine;
public class CameraAmount : MonoBehaviour{
public Camera m_Camera;
public float amountX = 6;
public float amountY = 6;
[Space(10)]
public float maxAmountX = 8;
public float maxAmountY = 8;
[Space(10)]
public float smooth = 4;
public bool enabled = true;
private void Update(){
if (enabled){
float inputX = -Input.GetAxis("Mouse X") * amountX;
float inputY = Input.GetAxis("Mouse Y") * amountY;
inputX = Mathf.Clamp(inputX, -maxAmountX, maxAmountX);
inputY = Mathf.Clamp(inputY, -maxAmountY, maxAmountY);
Quaternion newRotation = Quaternion.Euler(inputY, inputX, inputX);
transform.localRotation = Quaternion.Slerp(transform.localRotation, newRotation, Time.deltaTime * smooth);
if (Mathf.Abs(m_Camera.transform.rotation.eulerAngles.x) > 74.5f){
maxAmountY = 0;
}
else{
maxAmountY = maxAmountX;
}
}
}
}
Puts man ate q funcionou, so que com o movimento da câmera de 0 pra cima o maxAmountY já fica em 0.. em vez de ser so acima de 75 (no caso ali 74.5f). pra baixo não acontece esse erro :/
MeverPlays- Mestre
- PONTOS : 3867
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: DÚVIDA COM SCRIPT
Alguma rotação está errada... não pode.
Isto só vai acontecer se o valor passar em X de 74.5
Estou usando o Mathf.Abs justamente para fazer o jogo de sinal, para pegar só o valor positivo.
Talvez o angulo esteja passando para 360 em vez de ficar negativo... então você teria que colocar um > 74.5 && < 270
só assim para evitar este tipo de erro.
Isto só vai acontecer se o valor passar em X de 74.5
Estou usando o Mathf.Abs justamente para fazer o jogo de sinal, para pegar só o valor positivo.
Talvez o angulo esteja passando para 360 em vez de ficar negativo... então você teria que colocar um > 74.5 && < 270
só assim para evitar este tipo de erro.
Re: DÚVIDA COM SCRIPT
Tentei usar isso > 74.5 && < 270 mas deu erro, tem alguma outra forma de fazer isso?
MeverPlays- Mestre
- PONTOS : 3867
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: DÚVIDA COM SCRIPT
Qual seria o erro?
Phph09- Profissional
- PONTOS : 3788
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: DÚVIDA COM SCRIPT
error CS1525: Unexpected symbol `<'
Mas o problema não é esse de o angulo passar para 360, ele ta normal. de 0 vai pra 75 (quando move a camera pra cima) e de 0 move pra -75 (quando move a camera pra baixo).
O script do Marcos funcionou, mas so do 0 até o -75 (pra baixo). Mas do 0 pra 75 (pra cima) antes de passar do 74.5 ele ja fica 0 kk :/
Mas o problema não é esse de o angulo passar para 360, ele ta normal. de 0 vai pra 75 (quando move a camera pra cima) e de 0 move pra -75 (quando move a camera pra baixo).
O script do Marcos funcionou, mas so do 0 até o -75 (pra baixo). Mas do 0 pra 75 (pra cima) antes de passar do 74.5 ele ja fica 0 kk :/
MeverPlays- Mestre
- PONTOS : 3867
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Re: DÚVIDA COM SCRIPT
MarcosSchultz escreveu:está usando rotação local ou global no objeto?
Eu mudo sempre, dependendo do que eu estou fazendo. Isso interfere nesse script?
MeverPlays- Mestre
- PONTOS : 3867
REPUTAÇÃO : 48
Áreas de atuação : SketchUp, Unity.
Respeito as regras :
Tópicos semelhantes
» Duvida de chamar Script de outro script , sem ser pelo inspector
» [Duvida] Duvida Com script de mover em direção ao mouse.
» [DÚVIDA] Dúvida sobre script e rigidbody
» DUVIDA EM SCRIPT
» Duvida com script
» [Duvida] Duvida Com script de mover em direção ao mouse.
» [DÚVIDA] Dúvida sobre script e rigidbody
» DUVIDA EM SCRIPT
» Duvida com script
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos