Script de animação personagem
3 participantes
Página 1 de 1
Script de animação personagem
Boa tarde ! Estou trabalhando em um game e estou com problemas na hora do personagem executar a animação WALK
Este é o script.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class controleMovimento : MonoBehaviour {
public Animator animator;
public float velocidadePlayer;
void Start () {
}
void Update() {
var x = Input.GetAxis("Horizontal") * Time.deltaTime * 100;
var z = Input.GetAxis("Vertical") * Time.deltaTime * 3;
var y = Input.GetAxis("Jump") * Time.deltaTime * 25;
transform.Translate(0, 0, z);
transform.Rotate(0, x, 0);
transform.Translate(0, y, 0);
if(z >= 0)
{
animator.SetFloat("walk", 1f);
}
}
}
Já criei os parâmetros e as condições, mas mesmo assim tem alguma coisa errada e eu não sei o que é !
Este é o script.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class controleMovimento : MonoBehaviour {
public Animator animator;
public float velocidadePlayer;
void Start () {
}
void Update() {
var x = Input.GetAxis("Horizontal") * Time.deltaTime * 100;
var z = Input.GetAxis("Vertical") * Time.deltaTime * 3;
var y = Input.GetAxis("Jump") * Time.deltaTime * 25;
transform.Translate(0, 0, z);
transform.Rotate(0, x, 0);
transform.Translate(0, y, 0);
if(z >= 0)
{
animator.SetFloat("walk", 1f);
}
}
}
Já criei os parâmetros e as condições, mas mesmo assim tem alguma coisa errada e eu não sei o que é !
ruanzikaad- Mestre
- PONTOS : 3187
REPUTAÇÃO : 47
Idade : 24
Respeito as regras :
Re: Script de animação personagem
O que deu de errado? Se especifique, por favor.ruanzikaad escreveu:Boa tarde ! Estou trabalhando em um game e estou com problemas na hora do personagem executar a animação WALK
Este é o script.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class controleMovimento : MonoBehaviour {
public Animator animator;
public float velocidadePlayer;
void Start () {
}
void Update() {
var x = Input.GetAxis("Horizontal") * Time.deltaTime * 100;
var z = Input.GetAxis("Vertical") * Time.deltaTime * 3;
var y = Input.GetAxis("Jump") * Time.deltaTime * 25;
transform.Translate(0, 0, z);
transform.Rotate(0, x, 0);
transform.Translate(0, y, 0);
if(z >= 0)
{
animator.SetFloat("walk", 1f);
}
}
}
Já criei os parâmetros e as condições, mas mesmo assim tem alguma coisa errada e eu não sei o que é !
NKKF- ProgramadorMaster
- PONTOS : 4817
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Script de animação personagem
Ele executa a animação conforme o tempo e não por apertar o w
ruanzikaad- Mestre
- PONTOS : 3187
REPUTAÇÃO : 47
Idade : 24
Respeito as regras :
Re: Script de animação personagem
https://www.schultzgames.com/t6929-animacao-esta-sendo-executado-conforme-o-tempo-e-nao-conforme-o-player-muda-de-velocidade#48495ruanzikaad escreveu:Ele executa a animação conforme o tempo e não por apertar o w
Você já postou este tópico anteriormente.
Você se certificou se sua animação está marcada como Loop, ou se a sua animação demora muito para parar?
NKKF- ProgramadorMaster
- PONTOS : 4817
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Script de animação personagem
Seguinte, fiz uma "gambiarra" no script de um jeito que a animação correr e andar funcionem.
public class controleMovimento : MonoBehaviour
{
public Animator animator;
void Start()
{
}
void Update()
{
var x = Input.GetAxis("Horizontal") * Time.deltaTime * 100;
var y = Input.GetAxis("Jump") * Time.deltaTime * 25;
transform.Translate(0, 0, z);
transform.Rotate(0, x, 0);
transform.Translate(0, y, 0);
if (Input.GetButton("Vertical"))
{
animator.SetFloat("walk", 1f);
}
if (movimentoPlayer == true)
{
animator.SetFloat("run", 1f);
}
}
}
O problema é na hora de parar.
public class controleMovimento : MonoBehaviour
{
public Animator animator;
void Start()
{
}
void Update()
{
var x = Input.GetAxis("Horizontal") * Time.deltaTime * 100;
var y = Input.GetAxis("Jump") * Time.deltaTime * 25;
transform.Translate(0, 0, z);
transform.Rotate(0, x, 0);
transform.Translate(0, y, 0);
if (Input.GetButton("Vertical"))
{
animator.SetFloat("walk", 1f);
}
if (movimentoPlayer == true)
{
animator.SetFloat("run", 1f);
}
}
}
O problema é na hora de parar.
ruanzikaad- Mestre
- PONTOS : 3187
REPUTAÇÃO : 47
Idade : 24
Respeito as regras :
Re: Script de animação personagem
Cara, já encontrei o seu problema, pelo visto, é que o Input.GetAxis + Axis é que ele demora para voltar, por exemplo:ruanzikaad escreveu:Seguinte, fiz uma "gambiarra" no script de um jeito que a animação correr e andar funcionem.
public class controleMovimento : MonoBehaviour
{
public Animator animator;
void Start()
{
}
void Update()
{
var x = Input.GetAxis("Horizontal") * Time.deltaTime * 100;
var y = Input.GetAxis("Jump") * Time.deltaTime * 25;
transform.Translate(0, 0, z);
transform.Rotate(0, x, 0);
transform.Translate(0, y, 0);
if (Input.GetButton("Vertical"))
{
animator.SetFloat("walk", 1f);
}
if (movimentoPlayer == true)
{
animator.SetFloat("run", 1f);
}
}
}
O problema é na hora de parar.
Se eu aperto o > ele aumenta de 0 para 1 em T segundos, onde T = Time.deltaTime. Então vai demorar um pouco, e para voltar também é assim.
Qualquer coisa se não conseguir eu faço um Script pronto.
NKKF- ProgramadorMaster
- PONTOS : 4817
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Script de animação personagem
use rigidbody.velocity para movimentação, é o mais adequado;
2- Seu tòpico está na area errada
3- Sempre poste os seus scripts na caixa Script do forum para maior organização
2- Seu tòpico está na area errada
3- Sempre poste os seus scripts na caixa Script do forum para maior organização
- Código:
//HERE
Phph09- Profissional
- PONTOS : 3788
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: Script de animação personagem
Me desculpe pela desorganização, irei rever isto nos próximos fóruns, mas voltando ao assunto do scritp, o que eu estou fazendo de errado para a animação não mudar para Idle quando o Vertical não for apertado ? Eu montei de novo esse script e fiz algumas adaptações, vou postá-las daqui a pouco.
ruanzikaad- Mestre
- PONTOS : 3187
REPUTAÇÃO : 47
Idade : 24
Respeito as regras :
Re: Script de animação personagem
Tenta assim:
Troque a parte do seu script por essa:
Troque a parte do seu script por essa:
- Código:
if (Input.GetButton("Vertical"))
{
animator.SetFloat("walk", 1f);
}else{
animator.SetFloat("walk",0f);
}
if (movimentoPlayer == true)
{
animator.SetFloat("run", 1f);
}else{
animator.SetFloat("run",0f);
Phph09- Profissional
- PONTOS : 3788
REPUTAÇÃO : 240
Idade : 19
Respeito as regras :
Re: Script de animação personagem
Phph09 muito obrigado ! Eu tinha esquecido do else ! Você me ajudou muito cara ! Valeu !
ruanzikaad- Mestre
- PONTOS : 3187
REPUTAÇÃO : 47
Idade : 24
Respeito as regras :
Tópicos semelhantes
» Gostaria de fazer a animação do arco seguir animação do personagem
» Animação De Personagem
» Animação de personagem com o animator
» (Ajuda) Animação personagem
» Ajuda com animação de personagem
» Animação De Personagem
» Animação de personagem com o animator
» (Ajuda) Animação personagem
» Ajuda com animação de personagem
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos