[TUTORIAL] Função OnCollisionEnter
+2
xxthiagoxx7
MarcosSchultz
6 participantes
Página 1 de 1
[TUTORIAL] Função OnCollisionEnter
Então, estou trazendo esta simples explicação sobre a função "OnCollisionEnter"...
básicamente serve para detectar uma colisão... e dentro desta função voce coloca o que vai acontecer quando colidir...
script bastante util para balas, etc, etc... más se você quiser especificar a colisão, por ex: se a granada colidir como chao vai explodir poeira, já se collidir com o player vai explodir sangue, ai você terá que especificar o tipo de colisão com uma tag, ex:
Tutorial bem simples, apenas para explicar mesmo...
Duvidas mandem ae
- Código:
void OnCollisionEnter(){
}
básicamente serve para detectar uma colisão... e dentro desta função voce coloca o que vai acontecer quando colidir...
script bastante util para balas, etc, etc... más se você quiser especificar a colisão, por ex: se a granada colidir como chao vai explodir poeira, já se collidir com o player vai explodir sangue, ai você terá que especificar o tipo de colisão com uma tag, ex:
- Código:
void OnCollisionEnter(Collision colisor){
// se quiser que algo aconteça com qualquer colisão coloque o comando aqui
if (colisor.gameObject.tag == "ColocaATagAqui") {
// o que estiver aqui dentro só acontecerá caso collida com a tag que voce colocou
}
}
Tutorial bem simples, apenas para explicar mesmo...
Duvidas mandem ae
Última edição por MarcosSchultz em Qui Fev 08, 2018 2:20 pm, editado 2 vez(es)
Re: [TUTORIAL] Função OnCollisionEnter
Entendi, caiu do céu esse tutorial, na NET devia ter mais assuntos relacionadas a unity 3d, estou fazendo o player perder stamina se pular.
xxthiagoxx7- Iniciante
- PONTOS : 2261
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Função OnCollisionEnter
Man, recomendo mesmo você começar à estudar C Sharp, já que na versão 2018 da Unity, ele foi removido :/xxthiagoxx7 escreveu:Entendi, caiu do céu esse tutorial, na NET devia ter mais assuntos relacionadas a unity 3d, estou fazendo o player perder stamina se pular.
NKKF- ProgramadorMaster
- PONTOS : 4580
REPUTAÇÃO : 574
Idade : 19
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: [TUTORIAL] Função OnCollisionEnter
Recomendo que veja a serie de C# do Marcos,
Java script já é praticamente Obsoleto dentro da unity
Java script já é praticamente Obsoleto dentro da unity
Phph09- Profissional
- PONTOS : 3551
REPUTAÇÃO : 240
Idade : 18
Respeito as regras :
Re: [TUTORIAL] Função OnCollisionEnter
É bem útil, Marcos, eu tenho uma dúvida.. Seguinte, a void OnTriggerStay é muito pesada, eu fiz um cronometro que ativa quando o player entra no trigger, usando a TriggerStay. Eu queria usar a OnTriggerEnter, mas o cronometro não continua a contagem, apenas inicia.. Alguma dica ?
ruanzikaad- Mestre
- PONTOS : 2950
REPUTAÇÃO : 47
Idade : 24
Respeito as regras :
Re: [TUTORIAL] Função OnCollisionEnter
É bastante simples, basta deixar uma variável booleana verdadeira quando o jogador entrar no trigger, e falsa quando ele sair, ai você faz a contagem apenas quando a variável estiver verdadeira... exemplo:ruanzikaad escreveu:É bem útil, Marcos, eu tenho uma dúvida.. Seguinte, a void OnTriggerStay é muito pesada, eu fiz um cronometro que ativa quando o player entra no trigger, usando a TriggerStay. Eu queria usar a OnTriggerEnter, mas o cronometro não continua a contagem, apenas inicia.. Alguma dica ?
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RCC : MonoBehaviour {
bool dentroDoCollider = false;
public float cronometro = 0;
void Update(){
if (dentroDoCollider) {
cronometro += Time.deltaTime;
}
}
void OnTriggerEnter(){
dentroDoCollider = true;
}
void OnTriggerExit(){
dentroDoCollider = false;
}
}
Re: [TUTORIAL] Função OnCollisionEnter
Eu fiz exatamente isso, quando eu chegar em casa eu posto o script para você dar uma analisada.MarcosSchultz escreveu:É bastante simples, basta deixar uma variável booleana verdadeira quando o jogador entrar no trigger, e falsa quando ele sair, ai você faz a contagem apenas quando a variável estiver verdadeira... exemplo:ruanzikaad escreveu:É bem útil, Marcos, eu tenho uma dúvida.. Seguinte, a void OnTriggerStay é muito pesada, eu fiz um cronometro que ativa quando o player entra no trigger, usando a TriggerStay. Eu queria usar a OnTriggerEnter, mas o cronometro não continua a contagem, apenas inicia.. Alguma dica ?
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RCC : MonoBehaviour {
bool dentroDoCollider = false;
public float cronometro = 0;
void Update(){
if (dentroDoCollider) {
cronometro += Time.deltaTime;
}
}
void OnTriggerEnter(){
dentroDoCollider = true;
}
void OnTriggerExit(){
dentroDoCollider = false;
}
}
Edit: O cronometro fica true, começa a contagem e para aos 0.002
ruanzikaad- Mestre
- PONTOS : 2950
REPUTAÇÃO : 47
Idade : 24
Respeito as regras :
Re: [TUTORIAL] Função OnCollisionEnter
ruanzikaad escreveu:Eu fiz exatamente isso, quando eu chegar em casa eu posto o script para você dar uma analisada.MarcosSchultz escreveu:É bastante simples, basta deixar uma variável booleana verdadeira quando o jogador entrar no trigger, e falsa quando ele sair, ai você faz a contagem apenas quando a variável estiver verdadeira... exemplo:ruanzikaad escreveu:É bem útil, Marcos, eu tenho uma dúvida.. Seguinte, a void OnTriggerStay é muito pesada, eu fiz um cronometro que ativa quando o player entra no trigger, usando a TriggerStay. Eu queria usar a OnTriggerEnter, mas o cronometro não continua a contagem, apenas inicia.. Alguma dica ?
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RCC : MonoBehaviour {
bool dentroDoCollider = false;
public float cronometro = 0;
void Update(){
if (dentroDoCollider) {
cronometro += Time.deltaTime;
}
}
void OnTriggerEnter(){
dentroDoCollider = true;
}
void OnTriggerExit(){
dentroDoCollider = false;
}
}
Edit: O cronometro fica true, começa a contagem e para aos 0.002
Então o objeto não tem trigger, ou você não está movendo ele com o Rigidbody em si... tenha em mente que a void OnTriggerEnter funciona corretamente apenas com o movimento do Rigidbody ou CharacterController.
Re: [TUTORIAL] Função OnCollisionEnter
as void OnCollisionEnter e OnTriggerEnter,
não necessita de tag, antes eu fazia com tag, mas era um saco com montueiras de tags,ai descobri que da para pegar o componente que esta no obj,
exemplo:
void OnCollisionEnter(Collision colisor){
if (colisor.gameObject.GetComponent<RigidBody>()) {
// neste caso estou pegando o componente Rigibody so vai servir para os obj que tenham um Rigibody
RigidBody Rig=colisor.gameObject.GetComponent<RigidBody>();
// aqui eu coloco o RigidBody como uma variavel que depois pode se modificar}}
não necessita de tag, antes eu fazia com tag, mas era um saco com montueiras de tags,ai descobri que da para pegar o componente que esta no obj,
exemplo:
void OnCollisionEnter(Collision colisor){
if (colisor.gameObject.GetComponent<RigidBody>()) {
// neste caso estou pegando o componente Rigibody so vai servir para os obj que tenham um Rigibody
RigidBody Rig=colisor.gameObject.GetComponent<RigidBody>();
// aqui eu coloco o RigidBody como uma variavel que depois pode se modificar}}
Tópicos semelhantes
» [TUTORIAL] Como utilizar a função " Instantiate "
» Script faz a função tudo certo na unity, já quando gero apk o script não faz a função
» Função do 'namespace'
» [TUTORIAL] Introdução para iniciante e tutorial de Click move com raycast
» [TUTORIAL] Tutorial criar game framework/engine do zero com JWJGL Java
» Script faz a função tudo certo na unity, já quando gero apk o script não faz a função
» Função do 'namespace'
» [TUTORIAL] Introdução para iniciante e tutorial de Click move com raycast
» [TUTORIAL] Tutorial criar game framework/engine do zero com JWJGL Java
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos