(Ajuda) Animação personagem
4 participantes
Página 1 de 1
(Ajuda) Animação personagem
Olá, ja faz algum tempo que estou tentando fazer uma animação para o personagem, mais sempre tem um conflito, que não consigo resolver, já assisti a aula do animator do marcos, Então queria um exemplo de como fazer para, normalmente aperta W e ele andar e quando nenhuma tecla for pressionada ele fica parado estou fazendo com a condição em SetInteger.
rafaelllsd- ProgramadorMaster
- PONTOS : 5241
REPUTAÇÃO : 507
Idade : 24
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: (Ajuda) Animação personagem
Manda print do animator e do script
Tutorial oficial da unity http://m.youtube.com/watch?v=s7EIp-OqVyk
Tutorial oficial da unity http://m.youtube.com/watch?v=s7EIp-OqVyk
Stipp- Avançado
- PONTOS : 3639
REPUTAÇÃO : 102
Idade : 25
Áreas de atuação : Programação: C#, VB.NET, PHP e outras.
Modelagem: Blender.
Respeito as regras :
Re: (Ajuda) Animação personagem
Desculpa pela demora, eu estava sem internet, print e script abaixo:
- Código:
using UnityEngine;
using System.Collections;
public class PersonAnim : MonoBehaviour {
public Animator player;
void Start () {
player = GetComponent<Animator> ();
}
void Update () {
if(Input.GetKeyDown(KeyCode.W)) {
player.SetInteger("Condicao", 1);
}
else {
player.SetInteger("Condicao", 0);
}
}
}
rafaelllsd- ProgramadorMaster
- PONTOS : 5241
REPUTAÇÃO : 507
Idade : 24
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: (Ajuda) Animação personagem
Clica em cima da seta que liga o parado ao andando e manda print
Stipp- Avançado
- PONTOS : 3639
REPUTAÇÃO : 102
Idade : 25
Áreas de atuação : Programação: C#, VB.NET, PHP e outras.
Modelagem: Blender.
Respeito as regras :
Re: (Ajuda) Animação personagem
Ta Ai:
Ou:
Agora me diga o script ta certo?
Ou:
Agora me diga o script ta certo?
rafaelllsd- ProgramadorMaster
- PONTOS : 5241
REPUTAÇÃO : 507
Idade : 24
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: (Ajuda) Animação personagem
Remova aquilo da void start e testa, pelo que deu pra ver o animator esta correto, e linke o animator do player
Stipp- Avançado
- PONTOS : 3639
REPUTAÇÃO : 102
Idade : 25
Áreas de atuação : Programação: C#, VB.NET, PHP e outras.
Modelagem: Blender.
Respeito as regras :
Re: (Ajuda) Animação personagem
Já fiz oque pediu mesmo assim faz apenas 1 vez.
rafaelllsd- ProgramadorMaster
- PONTOS : 5241
REPUTAÇÃO : 507
Idade : 24
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: (Ajuda) Animação personagem
Tem certeza que a animação está em loop?
E se você manter pressionado, o que acontece depois que a animação acaba? o que acontece com a variavel?
E se você manter pressionado, o que acontece depois que a animação acaba? o que acontece com a variavel?
Re: (Ajuda) Animação personagem
Deixei o Animator aberto e dei play e vi que quando eu seguro para andar ele faz 1 vez e a "Condicao" fica 0 em vez de ir para 1. e se vou no animator e coloco 1 e do enter ele volta a 0, como se nenhuma animação tivesse em Loop. fiz as animações no blender!
rafaelllsd- ProgramadorMaster
- PONTOS : 5241
REPUTAÇÃO : 507
Idade : 24
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: (Ajuda) Animação personagem
Tenta isso e vê se muda algo:
- Código:
using UnityEngine;
using System.Collections;
public class PersonAnim : MonoBehaviour {
public Animator player;
void Start () {
}
void Update () {
if(Input.GetKey(KeyCode.W)) {
player.SetInteger("Condicao", 1);
}
else {
player.SetInteger("Condicao", 0);
}
}
}
Stipp- Avançado
- PONTOS : 3639
REPUTAÇÃO : 102
Idade : 25
Áreas de atuação : Programação: C#, VB.NET, PHP e outras.
Modelagem: Blender.
Respeito as regras :
Re: (Ajuda) Animação personagem
Funcionou, muito obrigado pelo suporte!
rafaelllsd- ProgramadorMaster
- PONTOS : 5241
REPUTAÇÃO : 507
Idade : 24
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: (Ajuda) Animação personagem
Stipp escreveu:Tenta isso e vê se muda algo:
- Código:
using UnityEngine;
using System.Collections;
public class PersonAnim : MonoBehaviour {
public Animator player;
void Start () {
}
void Update () {
if(Input.GetKey(KeyCode.W)) {
player.SetInteger("Condicao", 1);
}
else {
player.SetInteger("Condicao", 0);
}
}
}
My father, como eu não vi o Down antes? Devo estar ficando velho
Re: (Ajuda) Animação personagem
Occoreu um problema a eu tentar fazer outra animaçao, tipo ele faz a de pulo, mais quando aperto W ele nao faz a de anda, mais se inverto, e ponho de pulo em cima e de anda embaixo, começa a anda, mais nao pula -.-.
- Código:
public Animator Player;
void Start () {
}
// Update is called once per frame
void Update () {
if(Input.GetKey(KeyCode.W)) {
Player.SetInteger("Condicao", 1);
}
else {
Player.SetInteger("Condicao", 0);
}
if(Input.GetKey(KeyCode.Space)) {
Player.SetInteger("Condicao", 2);
}
else {
Player.SetInteger("Condicao", 0);
}
}
}
rafaelllsd- ProgramadorMaster
- PONTOS : 5241
REPUTAÇÃO : 507
Idade : 24
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: (Ajuda) Animação personagem
Cara, crie outra condição....
Você está trabalhando a lógica de maneira errada, veja bem:
Você está seguindo o script sequencialmente, más aplicando os if's para a mesma condição, então suponha que o primeiro if passou, então isto aconteceu:
Más veja bem, logo depois tem isso:
E se você não estiver apertando space, isto abaixo irá acontecer:
Então independente de você apertar W, o segundo if e o segundo else estão predominando, por que você está errando na lógica...
Tente fazer if's excludentes, como isto:
Desta maneira, uma situação exclui a outra, e não da problemas
Você está trabalhando a lógica de maneira errada, veja bem:
- Código:
public Animator Player;
void Update () {
if(Input.GetKey(KeyCode.W)) {
Player.SetInteger("Condicao", 1);
}
else {
Player.SetInteger("Condicao", 0);
}
if(Input.GetKey(KeyCode.Space)) {
Player.SetInteger("Condicao", 2);
}
else {
Player.SetInteger("Condicao", 0);
}
}
Você está seguindo o script sequencialmente, más aplicando os if's para a mesma condição, então suponha que o primeiro if passou, então isto aconteceu:
- Código:
Player.SetInteger("Condicao", 1);
Más veja bem, logo depois tem isso:
- Código:
if(Input.GetKey(KeyCode.Space)) {
Player.SetInteger("Condicao", 2);
}
else {
Player.SetInteger("Condicao", 0);
}
E se você não estiver apertando space, isto abaixo irá acontecer:
- Código:
Player.SetInteger("Condicao", 0);
Então independente de você apertar W, o segundo if e o segundo else estão predominando, por que você está errando na lógica...
Tente fazer if's excludentes, como isto:
- Código:
public Animator Player;
void Update () {
if(Input.GetKey(KeyCode.W)) {
Player.SetInteger("Condicao", 1);
}
else if(Input.GetKey(KeyCode.Space)) {
Player.SetInteger("Condicao", 2);
}
else {
Player.SetInteger("Condicao", 0);
}
}
Desta maneira, uma situação exclui a outra, e não da problemas
Re: (Ajuda) Animação personagem
Valeu marcos.
rafaelllsd- ProgramadorMaster
- PONTOS : 5241
REPUTAÇÃO : 507
Idade : 24
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: (Ajuda) Animação personagem
CARA, MUMCA ENCONTREI UM LOCAL FEITO ESSE NA INTERNETE MUUUUITO. SO DE OLHAR JA AJUDA E MUITO.
felipe91- Iniciante
- PONTOS : 3229
REPUTAÇÃO : 0
Respeito as regras :
Re: (Ajuda) Animação personagem
Nao vejo problema neste script, mais quando Esta True na Armab e seguro W ele faz animaçao, da pistola '---'
- Código:
public Animator Player;
// Variaveis de animações com arma.
public GameObject Pistola;
public bool pistola;
public GameObject Arma;
public bool Armab;
void Start () {
pistola = false;
Armab = true;
}
void Update () {
if(Input.GetKeyDown("2")) {
Pistola.SetActive(true);
Arma.SetActive(false);
pistola = true;
Armab = false;
}
if(Input.GetKeyDown("1")) {
Arma.SetActive(true);
Pistola.SetActive(false);
Armab = true;
pistola = false;
}
if(Input.GetKey(KeyCode.W) && pistola == true) {
Player.SetInteger("Condicao", 2);
}
else if(Input.GetKey(KeyCode.W) && Armab == true) {
Player.SetInteger("Condicao", 1);
}
else {
Player.SetInteger("Condicao", 0);
}
}
}
rafaelllsd- ProgramadorMaster
- PONTOS : 5241
REPUTAÇÃO : 507
Idade : 24
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Tópicos semelhantes
» Ajuda com animação de personagem
» Gostaria de fazer a animação do arco seguir animação do personagem
» Ajuda Urgente como chamo a animação no script alguém poderia dar uma ajuda???
» Animação De Personagem
» Nao consigo fazer criar um coliso com o meu personagem com animaçao
» Gostaria de fazer a animação do arco seguir animação do personagem
» Ajuda Urgente como chamo a animação no script alguém poderia dar uma ajuda???
» Animação De Personagem
» Nao consigo fazer criar um coliso com o meu personagem com animaçao
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos