(Ajuda) animação por distância
3 participantes
Página 1 de 1
(Ajuda) animação por distância
olá pessoal me desculpem por estar amolando mais uma vez... Mas eu queria saber como eu chamo uma animação (no componente animator) por distância entre o jogador e o inimigo.... qual tipo de condição (Float, Int, Bool ou Trigger) eu tenho que usar para chamar a animação usando o vector3.Distance??
Última edição por John Rambo em Ter Jun 07, 2016 6:42 pm, editado 1 vez(es)
JohnRambo- Moderador
- PONTOS : 5175
REPUTAÇÃO : 661
Idade : 24
Áreas de atuação : Unity;
Programação;
Música e Sonorização;
Graduado em Análise e Desenvolvimento de Sistemas;
Respeito as regras :
Re: (Ajuda) animação por distância
ué, pode utilizar uma bool...
se o vector3.Distance for maior que 10 por exemplo, faça ela ficar true, se for menor, faça ficar false O.o
se o vector3.Distance for maior que 10 por exemplo, faça ela ficar true, se for menor, faça ficar false O.o
Re: (Ajuda) animação por distância
- Código:
using UnityEngine;
using System.Collections;
public class AnimZombie : MonoBehaviour {
private Animator controlGato;
private Animator controlZumbi;
private Animator zumbiAndar;
public bool velocidade;
public bool ataque;
public bool andar;
public int gatilho;
void Start () {
controlGato = GetComponent<Animator> ();
velocidade = false;
controlZumbi = GetComponent<Animator> ();
ataque = false;
}
void Update () {
controlGato.SetBool ("velocidade", velocidade);
controlZumbi.SetBool ("ataque", ataque);
zumbiAndar.SetBool ("andar", andar);
gatilho = Vector3.Distance(GameObject.Find("Jogador").transform.position, transform.position);
Debug.Log (gatilho);
}
void OnCollisionEnter (Collision collision){
if (collision.gameObject.tag == "Bala") {
velocidade = true;
}
if (collision.gameObject.tag == "Player") {
ataque = true;
}
}
if(gatilho <=2){
andar = true;
}
}
qual o problema desse script?
JohnRambo- Moderador
- PONTOS : 5175
REPUTAÇÃO : 661
Idade : 24
Áreas de atuação : Unity;
Programação;
Música e Sonorização;
Graduado em Análise e Desenvolvimento de Sistemas;
Respeito as regras :
Re: (Ajuda) animação por distância
Não sei se era isso, que você queria mas dei uma editada no script, explique mais o que você quer fazer, tipo um IA?
- Código:
using UnityEngine;
using System.Collections;
public class AnimZombie : MonoBehaviour {
private Animator controlGato;
private Animator controlZumbi;
private Animator zumbiAndar;
public bool velocidade;
public bool ataque;
public bool andar;
public int gatilho;
void Start () {
controlGato = GetComponent<Animator> ();
velocidade = false;
controlZumbi = GetComponent<Animator> ();
ataque = false;
}
void Update () {
controlGato.SetBool ("velocidade", velocidade);
gatilho = Vector3.Distance(GameObject.Find("Jogador").transform.position, transform.position);
Debug.Log (gatilho);
if(gatilho > 2){
zumbiAndar.SetBool ("andar", andar);
}else{
controlZumbi.SetBool ("ataque", ataque);
}
}
void OnCollisionEnter (Collision collision){
if (collision.gameObject.tag == "Bala") {
velocidade = true;
}
if (collision.gameObject.tag == "Player") {
ataque = true;
}
}
}
Stipp- Avançado
- PONTOS : 3643
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 por distância
é o seguinte: o meu inimigo faz a animação de atacar quando colide com o jogador, mas quando o jogador sai de perto dele a animação de atacar continua.... eu queria que ele voltasse a fazer a animação de andar quando passar de uma certa distancia do jogador.......(a condição que controla a animação de atacar é a private animator controlZumbi, e a public bool ataque )
atualização do script:
atualização do script:
- Código:
using UnityEngine;
using System.Collections;
public class AnimZombie : MonoBehaviour {
private Animator controlGato;
private Animator controlZumbi;
private Animator zumbiAndar;
public bool velocidade;
public bool ataque;
public bool andar;
public int gatilho;
void Start () {
controlGato = GetComponent<Animator> ();
velocidade = false;
controlZumbi = GetComponent<Animator> ();
ataque = false;
zumbiAndar = GetComponent<Animator> ();
andar = false;
}
void Update () {
controlGato.SetBool ("velocidade", velocidade);
controlZumbi.SetBool ("ataque", ataque);
zumbiAndar.SetBool ("andar", andar);
gatilho = Vector3.Distance(GameObject.Find("Jogador").transform.position, transform.position);
Debug.Log (gatilho);
}
void OnCollisionEnter (Collision collision){
if (collision.gameObject.tag == "Bala") {
velocidade = true;
}
if (collision.gameObject.tag == "Player") {
ataque = true;
}
}
if(gatilho >=2){
andar = true;
}
}
JohnRambo- Moderador
- PONTOS : 5175
REPUTAÇÃO : 661
Idade : 24
Áreas de atuação : Unity;
Programação;
Música e Sonorização;
Graduado em Análise e Desenvolvimento de Sistemas;
Respeito as regras :
Re: (Ajuda) animação por distância
- Código:
using UnityEngine;
using System.Collections;
public class AnimZombie : MonoBehaviour {
private Animator controlGato;
private Animator controlZumbi;
private Animator zumbiAndar;
public bool velocidade;
public bool ataque;
public bool andar;
public int gatilho;
void Start () {
controlGato = GetComponent<Animator> ();
velocidade = false;
controlZumbi = GetComponent<Animator> ();
ataque = false;
}
void Update () {
controlGato.SetBool ("velocidade", velocidade);
controlZumbi.SetBool ("ataque", ataque);
zumbiAndar.SetBool ("andar", andar);
gatilho = Vector3.Distance(GameObject.Find("Jogador").transform.position, transform.position);
Debug.Log (gatilho);
if(gatilho > 2){
andar = true;
ataque = false;
}
}
void OnCollisionEnter (Collision collision){
if (collision.gameObject.tag == "Bala") {
velocidade = true;
}
if (collision.gameObject.tag == "Player") {
ataque = true;
}
}
}
Stipp- Avançado
- PONTOS : 3643
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 por distância
obrigado amigo, deu certo!
JohnRambo- Moderador
- PONTOS : 5175
REPUTAÇÃO : 661
Idade : 24
Áreas de atuação : Unity;
Programação;
Música e Sonorização;
Graduado em Análise e Desenvolvimento de Sistemas;
Respeito as regras :
Tópicos semelhantes
» Ajuda Urgente como chamo a animação no script alguém poderia dar uma ajuda???
» Ajuda na Animação
» (Ajuda) Animação
» Ajuda em animação mira
» Ajuda animação
» Ajuda na Animação
» (Ajuda) Animação
» Ajuda em animação mira
» Ajuda animação
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos