Usar trigger para executar animação 1 vez (RESOLVIDO)
3 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Usar trigger para executar animação 1 vez (RESOLVIDO)
Ola amigos! Espero que esteja tudo na paz :D
Mais uma vez o noob aqui em programação perguntando coisa simples.
Tem algum tutorial aqui que sempre quando o jogador entrar em um trigger, então executa a animação 1 vez se pressionar uma tecla?
Achei alguns tópico sobre OnTriggerEnter, mas não me ajudou.
Tentei usar o seguinte código mas não funcionou:
Mais uma vez o noob aqui em programação perguntando coisa simples.
Tem algum tutorial aqui que sempre quando o jogador entrar em um trigger, então executa a animação 1 vez se pressionar uma tecla?
Achei alguns tópico sobre OnTriggerEnter, mas não me ajudou.
Tentei usar o seguinte código mas não funcionou:
- Código:
using UnityEngine;
using System.Collections;
public class AnimacaoPorta001 : MonoBehaviour {
void OnTriggerEnter(Collider other) {
if (Input.GetMouseButtonDown (0) && other.gameObject.tag == "Player"){
GetComponent<Animator>().SetBool("boleana",true);
}
}
}
Última edição por joabr em Qui Dez 22, 2016 10:51 pm, editado 1 vez(es)
joabr- Mestre
- PONTOS : 3506
REPUTAÇÃO : 178
Idade : 33
Áreas de atuação : Modelagem, textura, animação, partícula e otimização.
Respeito as regras :
Re: Usar trigger para executar animação 1 vez (RESOLVIDO)
Boa noite brow! Cara, você precisa usar o trigger nesse caso? para que seria? porque pelo que eu entendo, não daria para detectar colisão e pressionar o botão, pois a colisão do OnTrigger é muito rápido, funciona tipo, para ativar a animação ou setar um bool, exemplo colidiu, executa a animação. Acredito não funcionar mesmo, tipo, colidiu e pressionou o botão, não dá o mesmo time, não sei se consegui explicar, acredito que tenha outras maneiras, dependo o que você precisa exatamente.
Abraço!
Abraço!
Re: Usar trigger para executar animação 1 vez (RESOLVIDO)
é porque eu nao soube explicar, eu quero que quando eu abrir uma porta a maçaneta execute a animação de se mover, uso animator.
joabr- Mestre
- PONTOS : 3506
REPUTAÇÃO : 178
Idade : 33
Áreas de atuação : Modelagem, textura, animação, partícula e otimização.
Respeito as regras :
Re: Usar trigger para executar animação 1 vez (RESOLVIDO)
Que eu entendi seria isto?:
- Código:
private bool EstaColidindo;
void Start () {
}
// Update is called once per frame
void Update () {
if (Input.GetMouseButtonDown(0) && EstaColidindo == true) {
transform.GetComponent<Animator> ().SetBool ("Booleana", true);
}
}
void OnTriggerEnter (Collider Other) {
if (Other.gameObject.tag == "Player") {
EstaColidindo = true;
}
}
void OnTriggerExit (Collider Other) {
if (Other.gameObject.tag == "Player") {
EstaColidindo = false;
}
}
}
rafaelllsd- ProgramadorMaster
- PONTOS : 5241
REPUTAÇÃO : 507
Idade : 24
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: Usar trigger para executar animação 1 vez (RESOLVIDO)
Desculpem a demora para reponder, minha net caiu, dstaroski e Rafaell muito obrigado pela ajuda mas a animação nao funciona, quando eu pressiono mouse 0 diz: parametro Booleana não existe.
a porta s movimenta mas a maçaneta não executa a animação (animator)
a porta s movimenta mas a maçaneta não executa a animação (animator)
joabr- Mestre
- PONTOS : 3506
REPUTAÇÃO : 178
Idade : 33
Áreas de atuação : Modelagem, textura, animação, partícula e otimização.
Respeito as regras :
Re: Usar trigger para executar animação 1 vez (RESOLVIDO)
O objeto que tem o script tem um animator com um parametro Booleano com o nome "Booleana"? sugiro que assista:
rafaelllsd- ProgramadorMaster
- PONTOS : 5241
REPUTAÇÃO : 507
Idade : 24
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: Usar trigger para executar animação 1 vez (RESOLVIDO)
vou assistir agora, valeu! Deus abençoe voces mais uma vez!
joabr- Mestre
- PONTOS : 3506
REPUTAÇÃO : 178
Idade : 33
Áreas de atuação : Modelagem, textura, animação, partícula e otimização.
Respeito as regras :
Re: Usar trigger para executar animação 1 vez (RESOLVIDO)
Amigo, muito obrigado, agora ta funcionando, quando eu pressiono o botao "0" a animação executa mas como eu faço p ela ser executada apenas uma vez? Tentei pelo seu script mas deu vario erros, usei int
joabr- Mestre
- PONTOS : 3506
REPUTAÇÃO : 178
Idade : 33
Áreas de atuação : Modelagem, textura, animação, partícula e otimização.
Respeito as regras :
rafaelllsd- ProgramadorMaster
- PONTOS : 5241
REPUTAÇÃO : 507
Idade : 24
Áreas de atuação : Unity, Audacity, Blender, Gimp, C#, JS, MySQL.
Respeito as regras :
Re: Usar trigger para executar animação 1 vez (RESOLVIDO)
sim, modifiquei
- Código:
using UnityEngine;
using System.Collections;
public class Animacoes : MonoBehaviour {
private Animator controladorPorta;
void Start () {
controladorPorta = GetComponent<Animator> ();
}
void Update () {
if (Input.GetMouseButtonDown (0)) {
controladorPorta.SetInteger ("condicao", 1);
//}
//if (Input.GetMouseButtonDown (0)) {
//controladorPorta.SetInteger ("condicao", 2);
}
}
}
joabr- Mestre
- PONTOS : 3506
REPUTAÇÃO : 178
Idade : 33
Áreas de atuação : Modelagem, textura, animação, partícula e otimização.
Respeito as regras :
Re: Usar trigger para executar animação 1 vez (RESOLVIDO)
quando eu pressiono o botao 0 sai da condicao 0 para 1 mas nao volta de 1 para 0,
precisa apertar outro botao para a condicao voltar p 0 e eu queria que voltasse p 0 assim que a animação terminar
precisa apertar outro botao para a condicao voltar p 0 e eu queria que voltasse p 0 assim que a animação terminar
joabr- Mestre
- PONTOS : 3506
REPUTAÇÃO : 178
Idade : 33
Áreas de atuação : Modelagem, textura, animação, partícula e otimização.
Respeito as regras :
Re: Usar trigger para executar animação 1 vez (RESOLVIDO)
Para isso você pode usar uma boleana:
- Código:
using UnityEngine;
using System.Collections;
public class Animacoes : MonoBehaviour {
private Animator controladorPorta;
private bool Estado;
void Start () {
controladorPorta = GetComponent<Animator> ();
}
void Update () {
if (Input.GetMouseButtonDown (0)) {
Estado = !Estado;
}
if(Estado == true) {
controladorPorta.SetInteger ("condicao", 1);
} else {
controladorPorta.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: Usar trigger para executar animação 1 vez (RESOLVIDO)
ta certo amigo, agora eu aperto 0 executa em loop infinito, quando aperto 0 novamente termina...
eu queria apertar 0 e a animação executar apenas 1 vez sempre que pressionar 0, vc explica bem, sou eu que sou burrinho mesmo :D
eu queria apertar 0 e a animação executar apenas 1 vez sempre que pressionar 0, vc explica bem, sou eu que sou burrinho mesmo :D
joabr- Mestre
- PONTOS : 3506
REPUTAÇÃO : 178
Idade : 33
Áreas de atuação : Modelagem, textura, animação, partícula e otimização.
Respeito as regras :
Re: Usar trigger para executar animação 1 vez (RESOLVIDO)
cara, foi erro meu, a opção do animator estava marcada em loop time, era p desativar, ta tudo ok agora, tudo funcionando sua dica e seu script, então fiz apenas adc o trigger que vc me ensinou, muito obrigado e Deus abençoe!
joabr- Mestre
- PONTOS : 3506
REPUTAÇÃO : 178
Idade : 33
Áreas de atuação : Modelagem, textura, animação, partícula e otimização.
Respeito as regras :
Re: Usar trigger para executar animação 1 vez (RESOLVIDO)
ficou assim p quem precisar
- Código:
using UnityEngine;
using System.Collections;
public class Animacoes : MonoBehaviour {
private Animator controladorPorta;
private bool Estado;
private bool EstaColidindo;
void Start () {
controladorPorta = GetComponent<Animator> ();
}
void Update () {
if (Input.GetMouseButtonDown (0) && EstaColidindo == true) {
Estado = !Estado;
}
if (Estado == true) {
controladorPorta.SetInteger ("condicao", 1);
} else {
controladorPorta.SetInteger ("condicao", 2);
}
}
void OnTriggerEnter (Collider Other) {
if (Other.gameObject.tag == "Player") {
EstaColidindo = true;
}
}
void OnTriggerExit (Collider Other) {
if (Other.gameObject.tag == "Player") {
EstaColidindo = false;
}
}
}
joabr- Mestre
- PONTOS : 3506
REPUTAÇÃO : 178
Idade : 33
Áreas de atuação : Modelagem, textura, animação, partícula e otimização.
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Como fazer a animação executar so uma vez
» [RESOLVIDO] Executar animação após um X segundos
» [RESOLVIDO] Como executar uma animação atraves de um botão?
» [RESOLVIDO] Como Adicionar Is Trigger = True para Um Objeto e False Para Outros
» [Resolvido] Como usar o Multi Touch para movimentar um personagem ?
» [RESOLVIDO] Executar animação após um X segundos
» [RESOLVIDO] Como executar uma animação atraves de um botão?
» [RESOLVIDO] Como Adicionar Is Trigger = True para Um Objeto e False Para Outros
» [Resolvido] Como usar o Multi Touch para movimentar um personagem ?
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos