Acão Acontece quando Obj Colide com Outro
4 participantes
Página 1 de 1
Acão Acontece quando Obj Colide com Outro
Aee Galera,
Bom , to Fazendo umas Paradas aqui, e pintou uma Dúvida ao Fazer um Script!
Como Faço pra uma Ação Acontecer somente quando Obj Colidir com Outro Determinado??
Ex: to Fazendo um Sistema de Furar Pneus (Começando a Fazer) no meu Carro,mas quero q Ele Fure só Quando Colidir Com EX: Pregos!
Tentei Usar o OnTriggerEnter mas não dá Certo, ele até Funciona, mas tipo Vai Furar quando eu Colidir com Qualquer Obj com Trigger!
Como Posso FAZER??
Ex Script:
Bom , to Fazendo umas Paradas aqui, e pintou uma Dúvida ao Fazer um Script!
Como Faço pra uma Ação Acontecer somente quando Obj Colidir com Outro Determinado??
Ex: to Fazendo um Sistema de Furar Pneus (Começando a Fazer) no meu Carro,mas quero q Ele Fure só Quando Colidir Com EX: Pregos!
Tentei Usar o OnTriggerEnter mas não dá Certo, ele até Funciona, mas tipo Vai Furar quando eu Colidir com Qualquer Obj com Trigger!
Como Posso FAZER??
Ex Script:
- Código:
using UnityEngine;
using System.Collections;
public class FurarPneus : MonoBehaviour {
public WheelCollider Pneu;
public AudioClip SomFurarPneu;
void OnTriggerEnter () {
Pneu.radius = 0.27f;
GetComponent<AudioSource> ().PlayOneShot (SomFurarPneu);
}
}
Última edição por AndyShow em Sex Jun 03, 2016 3:25 pm, editado 2 vez(es)
Re: Acão Acontece quando Obj Colide com Outro
use OnCollisionEnter:
é só vc por uma tag específica para o prego aí só vai acontecer uma ação quando colidir com o objeto que tera esta tag
- Código:
void OnCollisionEnter (Collision col){
if (col.gameObject.tag == TagPrego){
Pneu.radius = 0.27f;
GetComponent<AudioSource> ().PlayOneShot (SomFurarPneu);
}
}
é só vc por uma tag específica para o prego aí só vai acontecer uma ação quando colidir com o objeto que tera esta tag
JohnRambo- Moderador
- PONTOS : 5174
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: Acão Acontece quando Obj Colide com Outro
Opaaa...Valeu AmigoJohn Rambo escreveu:use OnCollisionEnter:
- Código:
void OnCollisionEnter (Collision col){
if (col.gameObject.tag == TagPrego){
Pneu.radius = 0.27f;
GetComponent<AudioSource> ().PlayOneShot (SomFurarPneu);
}
}
é só vc por uma tag específica para o prego aí só vai acontecer uma ação quando colidir com o objeto que tera esta tag
Ajudou Muito, ja tava Pensando em Usar Tag, só tava com Dúvidas de Como Fazer!
Obrigado Grande Abraço!
Re: Acão Acontece quando Obj Colide com Outro
AndyShow escreveu:Opaaa...Valeu AmigoJohn Rambo escreveu:use OnCollisionEnter:
- Código:
void OnCollisionEnter (Collision col){
if (col.gameObject.tag == TagPrego){
Pneu.radius = 0.27f;
GetComponent<AudioSource> ().PlayOneShot (SomFurarPneu);
}
}
é só vc por uma tag específica para o prego aí só vai acontecer uma ação quando colidir com o objeto que tera esta tag
Ajudou Muito, ja tava Pensando em Usar Tag, só tava com Dúvidas de Como Fazer!
Obrigado Grande Abraço!
Sem problema manow, precisando tamo ae!!! :D :D
JohnRambo- Moderador
- PONTOS : 5174
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: Acão Acontece quando Obj Colide com Outro
Bom, Funcionou mas Fura mesmo se o Obj não Tiver Tag! o.O
Re: Acão Acontece quando Obj Colide com Outro
AndyShow escreveu:Bom, Funcionou mas Fura mesmo se o Obj não Tiver Tag! o.O
Mas vc criou a tag, colocou no objeto e colocou no script??
JohnRambo- Moderador
- PONTOS : 5174
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: Acão Acontece quando Obj Colide com Outro
Sim, Coloquei o Script em 2 Obj, um com TAG outro Sem, e o Pneu Fura nos 2, mesmo no que não tem Tag!
Re: Acão Acontece quando Obj Colide com Outro
Mas o script está nos pregos?? não era pra estar nos pneus?
JohnRambo- Moderador
- PONTOS : 5174
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: Acão Acontece quando Obj Colide com Outro
Ta nos Pneus, mas Criei um Objeto sem Tag e um Com Tag, mas ele fura nos 2!
Re: Acão Acontece quando Obj Colide com Outro
vc substituiu o OnTriggerEnter pelo OnCollisionEnter .Certo?
JohnRambo- Moderador
- PONTOS : 5174
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: Acão Acontece quando Obj Colide com Outro
Sim, Fiz Varios Testes, e nada!
Fiz assim, ta Certo não é?
Nem a Bool PneuEstaFurado Fica Verdadeira, mas o Pneu Abaixa, tanto com Tag, quanto Sem!
Fiz assim, ta Certo não é?
- Código:
using UnityEngine;
using System.Collections;
public class FurarPneus : MonoBehaviour {
public string TagPrego;
public WheelCollider Pneu;
public AudioClip SomFurarPneu;
public bool PneuEstaFurado;
void Start (){
PneuEstaFurado = false;
}
void OnCollisionEnter (Collision col){
if (col.gameObject.tag == TagPrego) {
Pneu.radius = 0.25f;
GetComponent<AudioSource> ().PlayOneShot (SomFurarPneu);
PneuEstaFurado = true;
}
}
}
Nem a Bool PneuEstaFurado Fica Verdadeira, mas o Pneu Abaixa, tanto com Tag, quanto Sem!
Re: Acão Acontece quando Obj Colide com Outro
tenta criar a tag por aqui ao inves de usar string:
JohnRambo- Moderador
- PONTOS : 5174
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: Acão Acontece quando Obj Colide com Outro
no caso de OnCollisionEnter, eu recomendo usar o CompareTag() em vez de tag == string porquê "reduz as alocações desnecessários para a comparação", deixando assim até mais leve
ismarspn- Programador
- PONTOS : 4001
REPUTAÇÃO : 147
Idade : 30
Áreas de atuação : Unity, Photoshop, Illustrator, After Effects, Adobe Flash
Respeito as regras :
Re: Acão Acontece quando Obj Colide com Outro
John Rambo escreveu:tenta criar a tag por aqui ao inves de usar string:
Opa..eu Tentei, mas o Script da erro se não Tiver uma Referência! tenho q ter alguma coisa no script com esse Nome de Tag, senao da erro!
((no caso de OnCollisionEnter, eu recomendo usar o CompareTag() em vez de tag == string porquê "reduz as alocações desnecessários para a comparação", deixando assim até mais leve))
Tentei Usar o CompareTag mas tambem nao deu, continua Furando o Pneu em Qualquer Objeto q seja Trigger! o.O
Re: Acão Acontece quando Obj Colide com Outro
tenta assim :
@edit: nunca esqueça de adicionar aspas quando você chamar uma string
- Código:
if(col.gameObject.CompareTag("TagPrego"))
{
//faça algo
}
@edit: nunca esqueça de adicionar aspas quando você chamar uma string
ismarspn- Programador
- PONTOS : 4001
REPUTAÇÃO : 147
Idade : 30
Áreas de atuação : Unity, Photoshop, Illustrator, After Effects, Adobe Flash
Respeito as regras :
Re: Acão Acontece quando Obj Colide com Outro
- Código:
void OnCollisionEnter(Collision collision) {
foreach (ContactPoint contact in collision.contacts) {
Debug.DrawRay(contact.point, contact.normal, Color.white);
}
if (collision.relativeVelocity.magnitude > 2)
audio.Play();
}
- Código:
void OnTriggerEnter(Collider other) {
Destroy(other.gameObject);
}
Perceba que entre parenteses no Trigger é Collider e não Collision.
RenanMSV- Instrutor
- PONTOS : 4486
REPUTAÇÃO : 356
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :
Tópicos semelhantes
» Ajuda a trocar o eixo de movimentação quando ele colide
» Como fazer com que uma animaçao inicie toda vez quando o objeto colide???
» Como faço para quando pegar item,sai umas particulas para cima e ai colide com o chão?
» como fazer o player aparecer do outro lado da porta quando muda de cena?
» Como criar um objeto só quando colider com outro?
» Como fazer com que uma animaçao inicie toda vez quando o objeto colide???
» Como faço para quando pegar item,sai umas particulas para cima e ai colide com o chão?
» como fazer o player aparecer do outro lado da porta quando muda de cena?
» Como criar um objeto só quando colider com outro?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos