Personagem não se move
2 participantes
Página 1 de 1
Personagem não se move
Personagem não se move
Eu criei um script para meu personagem se mover, mas no "Play" ele acaba não se movendo. Eu tenho uma VAR de velocidade atual para não ficar bugando o movimento(Não ficar estranho). No jogo, dentro do inspector a VelocidadeAtual fica mudando conforme tento ficar apertando.
Acompanhe ABAIXO:
#pragma strict
var velocidade : float;
var velocidadeLat: float;
var velocidadeGirar: float;
var velocidadeAtual: Vector3;
var rB: Rigidbody;
function Start () {
velocidade = 3;
velocidadeLat = 6;
velocidadeGirar = 10*Time.deltaTime;
rB = GetComponent(Rigidbody);
}
function Update () {
velocidadeAtual = velocidadeAtual*0;
if(Input.GetKey("w"))
{
velocidadeAtual = velocidadeAtual + velocidade*transform.forward;
}
else
{
if(Input.GetKey("s"))
{
velocidadeAtual = velocidadeAtual + -velocidade*transform.forward;
}
}
if(Input.GetKey("a"))
{
velocidadeAtual = velocidadeAtual + (-velocidadeLat*transform.right);
}
else
{
if(Input.GetKey("d"))
{
velocidadeAtual = velocidadeAtual + velocidadeLat*transform.forward;
}
}
}
Quem puder Ajudar, eu agradeço! Abraços!
Eu criei um script para meu personagem se mover, mas no "Play" ele acaba não se movendo. Eu tenho uma VAR de velocidade atual para não ficar bugando o movimento(Não ficar estranho). No jogo, dentro do inspector a VelocidadeAtual fica mudando conforme tento ficar apertando.
Acompanhe ABAIXO:
#pragma strict
var velocidade : float;
var velocidadeLat: float;
var velocidadeGirar: float;
var velocidadeAtual: Vector3;
var rB: Rigidbody;
function Start () {
velocidade = 3;
velocidadeLat = 6;
velocidadeGirar = 10*Time.deltaTime;
rB = GetComponent(Rigidbody);
}
function Update () {
velocidadeAtual = velocidadeAtual*0;
if(Input.GetKey("w"))
{
velocidadeAtual = velocidadeAtual + velocidade*transform.forward;
}
else
{
if(Input.GetKey("s"))
{
velocidadeAtual = velocidadeAtual + -velocidade*transform.forward;
}
}
if(Input.GetKey("a"))
{
velocidadeAtual = velocidadeAtual + (-velocidadeLat*transform.right);
}
else
{
if(Input.GetKey("d"))
{
velocidadeAtual = velocidadeAtual + velocidadeLat*transform.forward;
}
}
}
Quem puder Ajudar, eu agradeço! Abraços!
Mash1879- Membro
- PONTOS : 3401
REPUTAÇÃO : 3
Idade : 21
Respeito as regras :
Re: Personagem não se move
Cara, vou te dizer... este script está muito estranho, pois você não está aplicando a velocidade em nada... nem um comando de translate, nem AddForce... nada O.o
Está tentando fazer um script para movimentar um corpo rigido( forças ) ou com translate, para mover constantemente?
Está tentando fazer um script para movimentar um corpo rigido( forças ) ou com translate, para mover constantemente?
Re: Personagem não se move
O meu personagem tem o corpo rígido, mas mesmo assim não anda. Eu não manjo muito nos Scripts, se você puder me ajudar nessa, eu Agradeçu.
Mash1879- Membro
- PONTOS : 3401
REPUTAÇÃO : 3
Idade : 21
Respeito as regras :
Re: Personagem não se move
Tenta isto...
Crie um script em C# com o nome "Mover" e use este código:
Crie um script em C# com o nome "Mover" e use este código:
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Rigidbody))]
public class Mover : MonoBehaviour {
private Vector3 direcao;
private Rigidbody corpoRigido;
public float velocidade = 10;
public float velocidadeGiro = 5;
void Start () {
corpoRigido = GetComponent<Rigidbody> ();
}
void Update (){
if(Input.GetKey("w")){
corpoRigido.AddForce(Vector3.forward*velocidade);
}
else if(Input.GetKey("s")){
corpoRigido.AddForce(-Vector3.forward*velocidade);
}
if(Input.GetKey("a")){
corpoRigido.AddTorque(Vector3.down*velocidade);
}
else if(Input.GetKey("d")){
corpoRigido.AddTorque(Vector3.up*velocidade);
}
}
}
Re: Personagem não se move
Marcos, eu fiz como você mandou, mas mesmo assim não funciona.
Mash1879- Membro
- PONTOS : 3401
REPUTAÇÃO : 3
Idade : 21
Respeito as regras :
Re: Personagem não se move
Ai não é erro no script... é na sua cena, pois aqui funcionou.
Mande prints do seu personagem com o rigidbody a mostra
Mande prints do seu personagem com o rigidbody a mostra
Re: Personagem não se move
Olha meu personagem, é uma Capsule, com 2 Mãos com Rig que eu eu baixei e uma Glock, para visão eu coloquei uma Camêra e queria que ele se movesse então coloquei o script e deu no que deu, Meu RB ta assim :
Mass : 1
Drag : 0
Angular Drag : 0.05
Use Gravity : Ok
Is Kinematic : Off
Interpolate : None
Collision Detection : Discrete
e eu coloque Freeze Rotation em todos os eixos.
Mass : 1
Drag : 0
Angular Drag : 0.05
Use Gravity : Ok
Is Kinematic : Off
Interpolate : None
Collision Detection : Discrete
e eu coloque Freeze Rotation em todos os eixos.
Mash1879- Membro
- PONTOS : 3401
REPUTAÇÃO : 3
Idade : 21
Respeito as regras :
Tópicos semelhantes
» Objeto se move move na aba scene,mas na game não
» Personagem da AS, animações do mixamo dão erro ao usar avatar do personagem.
» Skill não se move com o Jogador!!
» JOSTICK NAO SE MOVE
» 'Smooth Move'!?
» Personagem da AS, animações do mixamo dão erro ao usar avatar do personagem.
» Skill não se move com o Jogador!!
» JOSTICK NAO SE MOVE
» 'Smooth Move'!?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos