[TUTORIAL] Unity 5 - Porta automática
Página 1 de 1 • Compartilhe •
[TUTORIAL] Unity 5 - Porta automática
Olá pessoal, elaborei este tutorial bastante simples, mostrando como fazer uma porta automática, tipo aquelas portas de super mercado.
Vídeo:
Script utilizado:
Vídeo:
Script utilizado:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PortaAuto : MonoBehaviour {
public GameObject porta1, posAberto1;
[Space(15)] public GameObject porta2;
public GameObject posAberto2;
public float velocidade = 2;
Vector3 posicInicP1, posicInicP2;
int numObjDentro;
void Start () {
numObjDentro = 0;
posicInicP1 = porta1.transform.localPosition;
posicInicP2 = porta2.transform.localPosition;
}
void Update () {
if (numObjDentro > 0) {
porta1.transform.localPosition = Vector3.Lerp (porta1.transform.localPosition, posAberto1.transform.localPosition, velocidade * Time.deltaTime);
porta2.transform.localPosition = Vector3.Lerp (porta2.transform.localPosition, posAberto2.transform.localPosition, velocidade * Time.deltaTime);
} else {
porta1.transform.localPosition = Vector3.Lerp (porta1.transform.localPosition, posicInicP1, velocidade * Time.deltaTime);
porta2.transform.localPosition = Vector3.Lerp (porta2.transform.localPosition, posicInicP2, velocidade * Time.deltaTime);
}
}
void OnTriggerEnter(){
numObjDentro++;
}
void OnTriggerExit(){
numObjDentro--;
if (numObjDentro < 0) {
numObjDentro = 0;
}
}
}
MarcosSchultz- Administrador
-
PONTOS : 61440
REPUTAÇÃO : 2154
Idade : 22
Áreas de atuação : Administrador do fórum
Respeito as regras :
Callyde Jr- Programador
-
PONTOS : 2858
REPUTAÇÃO : 385
Idade : 40
Áreas de atuação : Iniciante em modelagem Blender,ScketSHUP
Progamador
Ideialista
Meu Canal
https://www.youtube.com/ch
Respeito as regras :
Re: [TUTORIAL] Unity 5 - Porta automática
Olá marcos, eu vejo todos os seus videos, não entendo muito de programação, porem estou precisando de um script que ao chegar perto do portão acende uma luz, vi um video seu o qual fala sobre issto acender luz ao colidir mas não funcionou no unity 5, me ajude por favor. desde já agradeço
silva75- Iniciante
- PONTOS : 1030
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Unity 5 - Porta automática
Bom dia cara! é bem simples isso, você utiliza o OnTriggerEnter e o gameObject.setActive para habilitar ou desabilitar a luz. Pesquise sobre isso e caso tenha dificuldades, abra um tópico em "Dúvidas em geral" e poste o script que você já começou.@silva75 escreveu:Olá marcos, eu vejo todos os seus videos, não entendo muito de programação, porem estou precisando de um script que ao chegar perto do portão acende uma luz, vi um video seu o qual fala sobre issto acender luz ao colidir mas não funcionou no unity 5, me ajude por favor. desde já agradeço
Abraço!
dstaroski- Instrutor
-
PONTOS : 4074
REPUTAÇÃO : 1051
Idade : 29
Áreas de atuação : Téc. Hardware e Redes, Programação C#, Asp .NET, HTML, CSS, Unity 3D
Respeito as regras :
Re: [TUTORIAL] Unity 5 - Porta automática
oi Marcos o scrip que estou tentando fazer para acender a luz ao colidir é este
using UnityEngine;
using System.Collections;
public class Sensor : MonoBehaviour {
void OnTriggerEnter() {
GetComponent<Light>().enabled = true;
}
void OnTriggerExit() {
GetComponent<Light>().enabled = false;
}
}
//Mas nao funciona
e obrigado por responder
abraços
using UnityEngine;
using System.Collections;
public class Sensor : MonoBehaviour {
void OnTriggerEnter() {
GetComponent<Light>().enabled = true;
}
void OnTriggerExit() {
GetComponent<Light>().enabled = false;
}
}
//Mas nao funciona
e obrigado por responder
abraços
silva75- Iniciante
- PONTOS : 1030
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Unity 5 - Porta automática
oi Marcos o scrip que estou tentando fazer para acender a luz ao colidir é este
using UnityEngine;
using System.Collections;
public class Sensor : MonoBehaviour {
void OnTriggerEnter() {
GetComponent().enabled = true;
}
void OnTriggerExit() {
GetComponent().enabled = false;
}
}
//Mas nao funciona
e obrigado por responder
abraços
using UnityEngine;
using System.Collections;
public class Sensor : MonoBehaviour {
void OnTriggerEnter() {
GetComponent().enabled = true;
}
void OnTriggerExit() {
GetComponent().enabled = false;
}
}
//Mas nao funciona
e obrigado por responder
abraços
silva75- Iniciante
- PONTOS : 1030
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Unity 5 - Porta automática
@silva75 escreveu:oi Marcos o scrip que estou tentando fazer para acender a luz ao colidir é este
using UnityEngine;
using System.Collections;
public class Sensor : MonoBehaviour {
void OnTriggerEnter() {
GetComponent().enabled = true;
}
void OnTriggerExit() {
GetComponent().enabled = false;
}
}
//Mas nao funciona
e obrigado por responder
abraços
- Código:
using UnityEngine;
using System.Collections;
public class Sensor : MonoBehaviour {
public GameObject Luz;
void Start(){
Luz.setActive(false);
void OnTriggerEnter(Collision col) {
if(col.gameobject.tag == "Player"){
Luz.setActive(true);
}
}
void OnTriggerExit() {
if(col.gameobject.tag == "Player"){
Luz.setActive(false);
}
}
}
Cara tente assim, não esqueça de por no player a tag Player e no objeto com o script, anexar o gameObject da Luz, e nesse mesmo marcar a caixa de colisão como trigger, não tive como testar o mesmo pois estou no trabalho, talvez tenha algum erro de digitação, então verifique ai.
Abraço!
dstaroski- Instrutor
-
PONTOS : 4074
REPUTAÇÃO : 1051
Idade : 29
Áreas de atuação : Téc. Hardware e Redes, Programação C#, Asp .NET, HTML, CSS, Unity 3D
Respeito as regras :
Re: [TUTORIAL] Unity 5 - Porta automática
Valeu Marcos me ajudou muito, so tive que alterar Collision por Collider e alguns erros de digitaçao
mas funcionou corretamente, obrigado
Abraços,
ficou assim:
using UnityEngine;
using System.Collections;
public class Sensor : MonoBehaviour {
public GameObject Luz;
void Start(){
Luz.SetActive (false);
}
void OnTriggerEnter(Collider col) {
if(col.gameObject.tag == "Player"){
Luz.SetActive(true);
}
}
void OnTriggerExit(Collider col) {
if(col.gameObject.tag == "Player"){
Luz.SetActive(false);
}
}
}
mas funcionou corretamente, obrigado
Abraços,
ficou assim:
using UnityEngine;
using System.Collections;
public class Sensor : MonoBehaviour {
public GameObject Luz;
void Start(){
Luz.SetActive (false);
}
void OnTriggerEnter(Collider col) {
if(col.gameObject.tag == "Player"){
Luz.SetActive(true);
}
}
void OnTriggerExit(Collider col) {
if(col.gameObject.tag == "Player"){
Luz.SetActive(false);
}
}
}
silva75- Iniciante
- PONTOS : 1030
REPUTAÇÃO : 1
Respeito as regras :

» Ativação automática dos registros
» Como colocar uma imagem para membros que não tem foto?
» Mensagem privada automática
» Música automática apenas em um tópico
» Mensagem automática quando um membro se cadastra
» Como colocar uma imagem para membros que não tem foto?
» Mensagem privada automática
» Música automática apenas em um tópico
» Mensagem automática quando um membro se cadastra
Página 1 de 1
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum