Personagem tremendo
Página 1 de 1
Personagem tremendo
Estava fazendo um controlador para meu player, mas ele está tremendo, e não entendo o porque. Já vi se n tem colisores interferindo, várias coisas relacionadas a câmera estão estranhas, tenho um script de weapon Sway e os objetos também tremem.
Se alguém puder ajudar:/
Obs, ja tentei várias versões da unity, 2018, 2019 e 2020. Todas estão assim.
Script do player:
Script do weapon sway:
Vídeos:
Se alguém puder ajudar:/
Obs, ja tentei várias versões da unity, 2018, 2019 e 2020. Todas estão assim.
Script do player:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class movementPlayer : MonoBehaviour
{
public CharacterController controller;
public Transform cam;
public float speed = 6f;
public float turnSmoorhTime = 0.1f;
float turnSmoothVelocity;
void Update()
{
float horizontal = Input.GetAxisRaw("Horizontal");
float vertical = Input.GetAxisRaw("Vertical");
Vector3 direction = new Vector3(horizontal, 0f, vertical).normalized;
if(direction.magnitude >= 0.1f)
{
float targetAngle = Mathf.Atan2(direction.x, direction.z) * Mathf.Rad2Deg + cam.eulerAngles.y;
float angle = Mathf.SmoothDampAngle(transform.eulerAngles.y, targetAngle, ref turnSmoothVelocity, turnSmoorhTime);
transform.rotation = Quaternion.Euler(0f, angle, 0f);
Vector3 moveDir = Quaternion.Euler(0f, targetAngle, 0f) * Vector3.forward;
controller.Move(moveDir.normalized * speed * Time.deltaTime);
}
}
}
Script do weapon sway:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class weaponSway : MonoBehaviour
{
float amount = 5f;
float maxamount = 5f;
float smooth = 3;
private Quaternion def;
private bool Paused = false;
void Start (){
def = transform.localRotation;
}
void Update (){
float factorX = (Input.GetAxis("Mouse Y")) * amount;
float factorY = -(Input.GetAxis("Mouse X")) * amount;
//float factorZ = -Input.GetAxis("Vertical") * amount;
float factorZ = 0 * amount;
if(!Paused){
if (factorX > maxamount)
factorX = maxamount;
if (factorX < -maxamount)
factorX = -maxamount;
if (factorY > maxamount)
factorY = maxamount;
if (factorY < -maxamount)
factorY = -maxamount;
if (factorZ > maxamount)
factorZ = maxamount;
if (factorZ < -maxamount)
factorZ = -maxamount;
Quaternion Final = Quaternion.Euler(def.x+factorX, def.y+factorY, def.z+factorZ);
transform.localRotation = Quaternion.Slerp(transform.localRotation, Final, (Time.time * smooth));
}
}
}
Vídeos:
xYcar- Iniciante
- PONTOS : 1304
REPUTAÇÃO : 0
Respeito as regras :
Tópicos semelhantes
» Meu personagem na Realidade Aumentada fica tremendo
» Meu personagem ta tremendo quando toca em alguma coisa
» [RESOLVIDO] O personagem fica tremendo no final da Coroutine
» Personagem da AS, animações do mixamo dão erro ao usar avatar do personagem.
» Player Fica Tremendo
» Meu personagem ta tremendo quando toca em alguma coisa
» [RESOLVIDO] O personagem fica tremendo no final da Coroutine
» Personagem da AS, animações do mixamo dão erro ao usar avatar do personagem.
» Player Fica Tremendo
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos