[RESOLVIDO] Problemas com script (Movimentação em primeira pessoa)
2 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Problemas com script (Movimentação em primeira pessoa)
Boa noite, recentemente eu busquei fazer em meu projeto um método em que pudesse andar observando o corpo do personagem.. Tudo fluiu extremamente bem. Porém, em uma tentativa de adicionar um asset modificado no projeto, no qual pedia para Instalar/melhorar algumas das funções da Unity, pois se tratava de um "Novo pacote do sistema de entrada". Fez com que apenas um script desse método parasse de funcionar (estava funcionando perfeitamente). Eu não sei exatamente o que aconteceu, já que esse asset modifica algumas coisas, incluindo alguns "Inputs", pois nele também há um sistema de corpo em primeira pessoa, mas não era exatamente o que eu queria no momento.
O Método que busquei fazer, se constituía por alguns scripts, mas o erro vem desses eu creio:
FpsControllador.FixedUpdate () (at Assets/3D Objetos/Scripts/FpsControllador.cs:41)
O Método que busquei fazer, se constituía por alguns scripts, mas o erro vem desses eu creio:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FpsControllerInput : MonoBehaviour
{
// Start is called before the first frame update
public Vector2 GetMoveAxis()
{
return new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical")).normalized;
}
public Vector2 GetMouseAxis()
{
return new Vector2(Input.GetAxis("Mouse X"), Input.GetAxis("Mouse Y"));
}
public bool GetSprint()
{
return Input.GetKey(KeyCode.LeftShift);
}
}
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FpsControllador : MonoBehaviour
{
[SerializeField] float moveSpeed = 10f;
[SerializeField] float CameraSens = 5f;
[SerializeField] Transform headPos = null;
[SerializeField] Transform Cam = null;
[SerializeField] float clampRotation = 100f;
FpsControllerInput fpsControllerInput;
FpsAnimationController fpsAnimation;
Rigidbody rb;
float mousex;
private void Awake()
{
fpsControllerInput = GetComponent<FpsControllerInput>();
fpsAnimation = GetComponent<FpsAnimationController>();
rb = GetComponent<Rigidbody>();
}
void Update()
{
LookAround();
}
void FixedUpdate()
{
if (fpsControllerInput.GetMoveAxis().magnitude > 0)
{
rb.velocity = transform.forward * fpsControllerInput.GetMoveAxis().y * (fpsControllerInput.GetSprint() ? moveSpeed + 3f : moveSpeed) + transform.right * fpsControllerInput.GetMoveAxis().x * moveSpeed;
}
else if (rb.velocity.z != 0 || rb.velocity.x != 0)
{
rb.velocity = Vector3.up * rb.velocity.y;
}
fpsAnimation.PlayerAnimation(fpsControllerInput.GetMoveAxis());
}
void LookAround()
{
Cam.position = headPos.position;
mousex -= fpsControllerInput.GetMouseAxis().y;
Cam.localRotation = Quaternion.Euler(Mathf.Clamp(mousex * CameraSens,-clampRotation, clampRotation), 0, 0);
transform.Rotate(transform.up, fpsControllerInput.GetMouseAxis().x * CameraSens);
}
}
FpsControllador.FixedUpdate () (at Assets/3D Objetos/Scripts/FpsControllador.cs:41)
Última edição por BlesseD em Qua maio 18, 2022 1:47 am, editado 2 vez(es)
Re: [RESOLVIDO] Problemas com script (Movimentação em primeira pessoa)
Boa noite!
Parece que ele não está encontrando o FpsAnimationController, e atribuindo ao fpsAnimation, por isso está nula a referência. Tem certeza de que esse script está no mesmo objeto que está o script FpsControllador?
Abraço!
Parece que ele não está encontrando o FpsAnimationController, e atribuindo ao fpsAnimation, por isso está nula a referência. Tem certeza de que esse script está no mesmo objeto que está o script FpsControllador?
Abraço!
Re: [RESOLVIDO] Problemas com script (Movimentação em primeira pessoa)
Rapaz, era exatamente isso, fui ver e realmente estava fora haha.. Brigadão mano!dstaroski escreveu:Boa noite!
Parece que ele não está encontrando o FpsAnimationController, e atribuindo ao fpsAnimation, por isso está nula a referência. Tem certeza de que esse script está no mesmo objeto que está o script FpsControllador?
Abraço!
Re: [RESOLVIDO] Problemas com script (Movimentação em primeira pessoa)
Que bom que deu certo, show! abraço!BlesseD escreveu:Rapaz, era exatamente isso, fui ver e realmente estava fora haha.. Brigadão mano!dstaroski escreveu:Boa noite!
Parece que ele não está encontrando o FpsAnimationController, e atribuindo ao fpsAnimation, por isso está nula a referência. Tem certeza de que esse script está no mesmo objeto que está o script FpsControllador?
Abraço!
Tópicos semelhantes
» [Package] - Movimentação de Primeira Pessoa Completo em Um único Script
» [RESOLVIDO] Movimentação personagem 3 pessoa unity 3D Mobile
» [RESOLVIDO] Qual a melhor forma de fazer a movimentação em terceira pessoa?
» [RESOLVIDO]Script de movimentação, problema para trocar de animação
» Movimentação em primeira pessoa
» [RESOLVIDO] Movimentação personagem 3 pessoa unity 3D Mobile
» [RESOLVIDO] Qual a melhor forma de fazer a movimentação em terceira pessoa?
» [RESOLVIDO]Script de movimentação, problema para trocar de animação
» Movimentação em primeira pessoa
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos