a rotacao do player esta errada!
2 participantes
Página 1 de 1
a rotacao do player esta errada!
eu fiz um sistema para quando o player andar para os lados e para trás ele girar, mas quando eu tento usar ele gira de forma errada
- Código:
void Update()
{
if (Input.GetKey(KeyCode.W))
{
transform.Translate(transform.forward * (Time.deltaTime * speed));
transform.eulerAngles = new Vector3(0f, 0f, 0f);
}
if (Input.GetKey(KeyCode.S))
{
transform.Translate(-transform.forward * (Time.deltaTime * speed));
transform.eulerAngles = new Vector3(0f, 180f, 0f);
}
if (Input.GetKey(KeyCode.D))
{
transform.Translate(transform.right * (Time.deltaTime * speed));
transform.eulerAngles = new Vector3(0f, -90f, 0f);
}
if (Input.GetKey(KeyCode.A))
{
transform.Translate(-transform.right * (Time.deltaTime * speed));
transform.eulerAngles = new Vector3(0f, 90f, 0f);
Sasuke rei- Membro
- PONTOS : 1451
REPUTAÇÃO : 10
Respeito as regras :
Re: a rotacao do player esta errada!
Seu player é filho de algum objeto? se for tente assim:
- Código:
void Update()
{
if (Input.GetKey(KeyCode.W))
{
transform.Translate(transform.forward * (Time.deltaTime * speed));
transform.localEulerAngles = new Vector3(0f, 0f, 0f);
}
if (Input.GetKey(KeyCode.S))
{
transform.Translate(-transform.forward * (Time.deltaTime * speed));
transform.localEulerAngles = new Vector3(0f, 180f, 0f);
}
if (Input.GetKey(KeyCode.D))
{
transform.Translate(transform.right * (Time.deltaTime * speed));
transform.localEulerAngles = new Vector3(0f, -90f, 0f);
}
if (Input.GetKey(KeyCode.A))
{
transform.Translate(-transform.right * (Time.deltaTime * speed));
transform.localEulerAngles = new Vector3(0f, 90f, 0f);
Pokedlg- ProgramadorMaster
- PONTOS : 2337
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: a rotacao do player esta errada!
agora eu tentei assim mas tambem nao foi, quando eu aperto para ir para a direita ele vira para a direita mas vai para a esquerda e vice versa
Sasuke rei- Membro
- PONTOS : 1451
REPUTAÇÃO : 10
Respeito as regras :
Re: a rotacao do player esta errada!
- Código:
void Update()
{
if (Input.GetKey(KeyCode.W))
{
transform.Translate(transform.forward * (Time.deltaTime * speed));
transform.localEulerAngles = new Vector3(0f, 0f, 0f);
}
if (Input.GetKey(KeyCode.S))
{
transform.Translate(-transform.forward * (Time.deltaTime * speed));
transform.localEulerAngles = new Vector3(0f, 180f, 0f);
}
if (Input.GetKey(KeyCode.D))
{
transform.Translate(-transform.right * (Time.deltaTime * speed));
transform.localEulerAngles = new Vector3(0f, -90f, 0f);
}
if (Input.GetKey(KeyCode.A))
{
transform.Translate(transform.right * (Time.deltaTime * speed));
transform.localEulerAngles = new Vector3(0f, 90f, 0f);
Entao tente assim
Pokedlg- ProgramadorMaster
- PONTOS : 2337
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: a rotacao do player esta errada!
ele continua fazendo a mesma coisa
Sasuke rei- Membro
- PONTOS : 1451
REPUTAÇÃO : 10
Respeito as regras :
Re: a rotacao do player esta errada!
mas ele começa a andar para o lado oposto? Mas quem é responsavel por fazer o player andar é o transform.Translate
Pokedlg- ProgramadorMaster
- PONTOS : 2337
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: a rotacao do player esta errada!
do ultimo jeito que voce falou ele esta indo para a direcao certa, mas ele vira para o lado errado, desculpe, eu nao tinha reparado que ele tinha mudadoPokedlg escreveu:mas ele começa a andar para o lado oposto? Mas quem é responsavel por fazer o player andar é o transform.Translate
Sasuke rei- Membro
- PONTOS : 1451
REPUTAÇÃO : 10
Respeito as regras :
Re: a rotacao do player esta errada!
O que está acontecendo é que as direções estão invertidas, a direita e a esquerda, entao teria que trocar, tente assim:
- Código:
void Update()
{
if (Input.GetKey(KeyCode.W))
{
transform.Translate(transform.forward * (Time.deltaTime * speed));
transform.localEulerAngles = new Vector3(0f, 0f, 0f);
}
if (Input.GetKey(KeyCode.S))
{
transform.Translate(-transform.forward * (Time.deltaTime * speed));
transform.localEulerAngles = new Vector3(0f, 180f, 0f);
}
if (Input.GetKey(KeyCode.D))
{
transform.Translate(-transform.right * (Time.deltaTime * speed));
transform.localEulerAngles = new Vector3(0f, 90f, 0f);
}
if (Input.GetKey(KeyCode.A))
{
transform.Translate(transform.right * (Time.deltaTime * speed));
transform.localEulerAngles = new Vector3(0f, -90f, 0f);
Última edição por Pokedlg em Seg Jan 25, 2021 9:56 am, editado 1 vez(es)
Pokedlg- ProgramadorMaster
- PONTOS : 2337
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Sasuke rei- Membro
- PONTOS : 1451
REPUTAÇÃO : 10
Respeito as regras :
Pokedlg- ProgramadorMaster
- PONTOS : 2337
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Tópicos semelhantes
» Rotacionar player conforme rotação do celular
» Por que a rotação do Box Collider não está certa?
» Checar se tal objeto está em tal rotação
» Rotação Player
» Alterar rotação do player via MOUSE;
» Por que a rotação do Box Collider não está certa?
» Checar se tal objeto está em tal rotação
» Rotação Player
» Alterar rotação do player via MOUSE;
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos