SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Unity crashando depois que eu tento abrir
Dúvidas Sobre OnCollider
Porque não funciona?
duvida sobre prefab, object e gameobject
Como faço para este item aparecer no meu inventário de forma correta?
Unity Banco de Dados
Otimizacoa por Colisor - (Desativar/Ativar)
Meu primeiro projeto
Tem como eu Salvar os Dados de Um Terreno?
photonnetwork vale a pena ?
Error NullReferenceException: Object reference not set to an instance of an object
[RESOLVIDO] Como ajustar o volume em todo o jogo
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Desativar butão de acordo valor em seu script [Avançado]
Como fazer skins completa de battle Royale
Controle de Personagem
[TUTORIAL] DEBUG DE TEMPO
[Alpha Android] - Winthia Chronicles (Alpha Devlog, 20 de fevereiro de 2018). Lançamento!
FantasyDragon Online - Formação de Equipe (P.A / Designer Gráfico )
Como "grudar" objetos no unity?
Slime Shop: Multiplayer (Teste De Jogo :D )
Monitorar Usuarios
Dúvida sobre animação
Alpha Fossil
Configuração de efeitos com água na Unity
Dúvida sobre o uso da Unity em fonte de 47-63hz
Como fazer 1 gerador
[TUTORIAL] Explodir Mesh "Explodir Objeto"
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[Asset]Terreno .dae
[Asset] Personagem 3d basico sem uso
Erro ai importar
[Duvida] Menu Input
[RESOLVIDO] Adaptar o script para mostrar o erro
Objetos girando em órbita de outro
Erro Build Android
[RESOLVIDO] Não consigo alterar o shader de modelo feito no makehuman
[TUTORIAL]Sistema de Pet Virtual -AULA 3 NOVO[20/02/2018]
Pack de animações para jogos de Luta
GamePad Android!
Mudar um .TXT usando um site
"Simular" uma VPS
Velocimetro de Ponteiro!
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
Formação de Equipe
[ENCERRADO] Preciso de Programadores para equipe
GC.Collect
[Duvida] Como acessar uma variavel nãa estatica(static).
Inserir Trigger
Fps Caindo Instanteneamente
LoadSceneAsync em varias cenas e escolher qual chamar
Script de Semaforo
Qual versão da unity é recomendada HOJE?
duvida de desempenho ao Instanciar Gameobject
[RESOLVIDO] Bug provavelmente pivot
[TUTORIAL]Sistema de Pet Virtual -AULA 2 [Tamagotchi](ANDROID/PC)
[TUTORAIL] Loja Virtual Fácil e Grátis
Fiz esse jogo a bastante tempo que tipo de mecanica eu poderia adicionar?
Carregar um prefab usando byte[]
[RESOLVIDO] Tem como Um Script rodar antes de Outro
Procuro modelador
Duvida com velocidade X e velocidade Z
Problemas para criar um BackGround
[TUTORIAL] Calculando distância entre gameObjects
Restringir InpultField!
Preciso Modelador com experiencia em Modelar Veículos
Script inimigo x Player
Novo Jogo (BETA ~ Sem Nome)
Multiplayer Unet: no meio da partida os client saem do nada(sistema de Checar conexão)
[RESOLVIDO] Não Consigo Acessar meus Materiais do Modelo !
como alterar o Rect Transform?
[WIP] Projeto ainda sem título
Mudar a densidade de Pixels na tela
O que fazer para ser um programador
[TUTORIAL] Capturar Imagem da WebCam e Salvar No seu Pc
tem como criar Uma Imagem no Canvas?
Membro Avançado
Tem como fazer um cube 3d invisível?
Player não acompanha plataforma
Jogo de plataforma que eu fiz
Alguém para testar alguns jogos meus (Saber se estão legais, se tem bugs e tals)
(Duvida) Como criar um sistema de dialogos?
Equipe para criação de jogo de terror.
Espelho Realista
[TUTORIAL]Sistema de Pet Virtual [Tamagotchi] Completo (ANDROID/PC)
Equipe para criação de assets
Procuro Modelador Low Poly
Unity não reconhece meu celular
[TUTORIAL]Sistema Basico de Combustivel (PC e Android)
[ Run Sara, run ! ] Em desenvolvimento para android.
[SCRIPT] Controle Simples com movimento e rotação
Metodos Assincrono na Unity
Alterar componentes de todos os objeto de um array
Duvida com spawn de IA
[TUTORIAL] CARREGAR CENA APÓS UM TEMPO UNITY 4.7
Melhorar Script
QRcode em unity
ajuda com os scripts fps entre outros
Hoje à(s) 4:50 pm
Hoje à(s) 4:45 pm
Hoje à(s) 4:41 pm
Hoje à(s) 3:47 pm
Hoje à(s) 3:25 pm
Hoje à(s) 3:21 pm
Hoje à(s) 2:39 pm
Hoje à(s) 2:19 pm
Hoje à(s) 1:58 pm
Hoje à(s) 1:31 pm
Hoje à(s) 11:10 am
Hoje à(s) 2:29 am
Ontem à(s) 8:44 pm
Ontem à(s) 8:13 pm
Ontem à(s) 7:02 pm
Ontem à(s) 5:49 pm
Ontem à(s) 4:29 pm
Ontem à(s) 2:42 pm
Ontem à(s) 2:36 pm
Ontem à(s) 1:50 am
Qua Fev 21, 2018 10:36 pm
Qua Fev 21, 2018 8:53 pm
Qua Fev 21, 2018 8:35 pm
Qua Fev 21, 2018 7:55 pm
Qua Fev 21, 2018 7:37 pm
Qua Fev 21, 2018 7:00 pm
Qua Fev 21, 2018 6:33 pm
Qua Fev 21, 2018 5:58 pm
Qua Fev 21, 2018 4:52 pm
Qua Fev 21, 2018 4:51 pm
Qua Fev 21, 2018 3:55 pm
Qua Fev 21, 2018 3:21 pm
Qua Fev 21, 2018 2:57 pm
Qua Fev 21, 2018 2:35 pm
Qua Fev 21, 2018 12:46 pm
Qua Fev 21, 2018 11:40 am
Qua Fev 21, 2018 10:32 am
Qua Fev 21, 2018 10:03 am
Ter Fev 20, 2018 11:43 pm
Ter Fev 20, 2018 8:55 pm
Ter Fev 20, 2018 7:51 pm
Ter Fev 20, 2018 7:48 pm
Ter Fev 20, 2018 7:20 pm
Ter Fev 20, 2018 7:12 pm
Ter Fev 20, 2018 7:11 pm
Ter Fev 20, 2018 6:54 pm
Ter Fev 20, 2018 6:15 pm
Ter Fev 20, 2018 5:52 pm
Ter Fev 20, 2018 5:14 pm
Ter Fev 20, 2018 4:49 pm
Ter Fev 20, 2018 4:48 pm
Ter Fev 20, 2018 4:42 pm
Ter Fev 20, 2018 4:38 pm
Ter Fev 20, 2018 4:31 pm
Ter Fev 20, 2018 4:30 pm
Ter Fev 20, 2018 4:25 pm
Ter Fev 20, 2018 1:31 pm
Ter Fev 20, 2018 12:20 pm
Ter Fev 20, 2018 12:56 am
Ter Fev 20, 2018 12:21 am
Seg Fev 19, 2018 8:29 pm
Seg Fev 19, 2018 12:19 pm
Seg Fev 19, 2018 9:23 am
Seg Fev 19, 2018 12:35 am
Dom Fev 18, 2018 9:57 pm
Dom Fev 18, 2018 7:51 pm
Dom Fev 18, 2018 5:03 pm
Dom Fev 18, 2018 3:56 pm
Dom Fev 18, 2018 2:41 pm
Dom Fev 18, 2018 1:21 pm
Dom Fev 18, 2018 12:09 pm
Dom Fev 18, 2018 11:45 am
Dom Fev 18, 2018 3:03 am
Dom Fev 18, 2018 2:24 am
Sab Fev 17, 2018 10:41 pm
Sab Fev 17, 2018 7:25 pm
Sab Fev 17, 2018 7:09 pm
Sab Fev 17, 2018 6:58 pm
Sab Fev 17, 2018 5:35 pm
Sab Fev 17, 2018 4:37 pm
Sab Fev 17, 2018 3:15 pm
Sab Fev 17, 2018 2:52 pm
Sab Fev 17, 2018 1:23 pm
Sex Fev 16, 2018 11:43 pm
Sex Fev 16, 2018 11:15 pm
Sex Fev 16, 2018 10:54 pm
Sex Fev 16, 2018 10:18 pm
Sex Fev 16, 2018 10:17 pm
Sex Fev 16, 2018 6:27 pm
Sex Fev 16, 2018 6:09 pm
Sex Fev 16, 2018 5:18 pm
Sex Fev 16, 2018 4:56 pm
Sex Fev 16, 2018 3:57 pm
Sex Fev 16, 2018 1:59 pm
Sex Fev 16, 2018 1:56 pm
Sex Fev 16, 2018 1:08 pm
Sex Fev 16, 2018 11:24 am
Sex Fev 16, 2018 11:21 am
Qui Fev 15, 2018 9:37 pm
xXGianlucksXx
ffabim
otavio00augusto
marcos4503
Fluttershy28
natanael.olimpio
marcos4503
Souris
Souris
marcos4503
felipehobs1
Samuelsk
felipehobs1
Felipe Costa
Daniel Dória
felipehobs1
luKkaSs
marcos4503
Dom3000
rafaelllsd
marcos4503
natanael.olimpio
Souris
Édipo
dstaroski
dstaroski
Souris
Samuelsk
dstaroski
dstaroski
Dom3000
felipehobs1
Dom3000
marcos4503
marcos4503
Phph09
maxwell111
Gilberto555
marcos4503
GameLACK
felipehobs1
Souris
Souris
Souris
Zack2
Zack2
marcos4503
Duarte
MarcosSchultz
michelly
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
marcos4503
fecirineu
felipehobs1
Zecker
Dom3000
alexs
AlvaroWalker
felipehobs1
recagonlei
Weslley
Jhonatham1
dstaroski
fabriciorsz34
recagonlei
nicolasfive
Dom3000
rafaelllsd
rafaelllsd
marcos4503
felipehobs1
Phph09
Phph09
Daniel Dória
Simplizãum S
Daniel Pires da Silva
GamersBR
Bruno
ÁguaMineral
Souris
fecirineu
minosso
minosso
otavio00augusto
fecirineu
ruanzikaad
Simplizãum S
junkflash30
MarcosSchultz
MarcosSchultz
TruffleDevelop
dstaroski
JrdeAmorim
Daniel Pires da Silva

[TUTORIAL] Porta ativada por alavanca

Ir em baixo

TUTORIAL [TUTORIAL] Porta ativada por alavanca

Mensagem por PauloFR em Sab Mar 25, 2017 1:31 am

Vídeo demonstrativo:

o cenário está assim por preguiça....


confused 


Smile
Para começar precisaremos criar algumas variáveis.

Código:
bool NumPort, Pode; // Variaveis que permitirão ou não certa ação.
 public GameObject Porta, Alvo; // Variaveis da porta e seu alvo.
 public Text Interagir; // Variavel do texto UI.
 public float Velocidade; // Variavel float para controlar a velocidade.
 public int Tempo; // Variavel que irá medir o tempo.
 Vector3 PosInicial, PosFinal; // Variaveis das posições.

Lembrando que para usar qualquer coisa relacionada ao UI utilizamos a biblioteca UnityEngine.UI

Agora iremos fazer as posições receberem o local exato dos Objetos

Código:
void Start () {
 PosInicial = Porta.transform.position; // Aqui a posição inicial recebe a posição da porta inicialmente
 PosFinal = Alvo.transform.position; // Aqui recebe a posição final da porta.
 Interagir.enabled = false; // Aqui desativa o texto para não vermos de inicio.
 }

Depois disso utilizaremos a void OnTriggerEnter  juntamente com a OnTriggerExit

Código:
void OnTriggerEnter (Collider col){ // Col é o ponto de colisão.
 if (col.gameObject.tag == "Player"){ // Quando o col estiver colidindo com o player.
 Pode = true; // Pode ficará true e algo poderá ser feito.
 Interagir.enabled = true; // O Texto Interagir da UI Ficará visível.
 }
 }
 void OnTriggerExit (Collider col){
 if (col.gameObject.tag == "Player"){ // Quando o col não estiver colidindo com o player.
 Pode = false; // Pode ficará false e algo não poderá ser feito.
 Interagir.enabled = false;  // O Texto Interagir da UI Ficará apagará.
 }
 }

E Agora utilizaremos o Vector3.Lerp para movimentar o objeto de um modo suave

Obs: Todo lerp tem que estar na void Update

Código:
void Update (){

 if (NumPort == true) { // Se o "Num Port" estiver true.
 Porta.transform.position = Vector3.Lerp (Porta.transform.position, PosFinal, Velocidade); // O Objeto irá de sua posição atual até a PosFinal na "Velocidade" definida.
 StartCoroutine ("Fechar"); //Chamaremos um tempo antes que o NumPort fique false
 }
 if (NumPort == false) { // Se o "Num Port" estiver false.
 Porta.transform.position = Vector3.Lerp (Porta.transform.position, PosInicial, Velocidade); // // O Objeto irá de sua posição atual até a PosInicial na "Velocidade" definida.
 }
 if (Input.GetKeyDown ("e") && Pode == true) { // Se o botão "e" for pressionado e a variavel bool "Pode" for true.
 NumPort = true; // NumPort Ficará true.

 }
 }


Agora estamos quase no final  do script terminaremos o tempo com o IEnumerator fina que irá contar o tempo até a próxima ação.

Obs: Você pode usar o Normalize em qualquer numero do script caso não queira utilizar números pequenos.

Código:
IEnumerator Fechar (){ // Perceba que tem o mesmo nome da Coroutine que chamamos no Update.
 yield return new WaitForSeconds (Tempo); // Definimos aqui o tempo que o NumPort ficará false.
 NumPort = false; // NumPort Ficará false após o "Tempo" Definido.
 }
}


Lembre-se de fechar as " { } " corretamente....

Agora iremos configurar o script dentro da unity...

1 - Coloque o script em um collider, onde será a área em que o jogador poderá ativar a alavanca, E Marque a opção Is Trigger ou Caso seja um mesh marque convex e em seguida marque a segunda opção

    

2 - Configure o script a sua preferencia...

   

3 - Faça o teste e veja se funcionou...


Script Completo:



Nomeie o script de Portão.

Código:

// Script de PauloFR
// Porta abrir com alavanca
// Retirado de www.schultzgames.com

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Portão : MonoBehaviour {

 bool NumPort, Pode;
 public GameObject Porta, Alvo;
 public Text Interagir;
 public float Velocidade;
 public int Tempo;
 Vector3 PosInicial, PosFinal;

 void Start () {
 PosInicial = Porta.transform.position;
 PosFinal = Alvo.transform.position;
 Interagir.enabled = false;
 }

 void OnTriggerEnter (Collider col){
 if (col.gameObject.tag == "Player"){
 Pode = true;
 Interagir.enabled = true;
 }
 }
 void OnTriggerExit (Collider col){
 if (col.gameObject.tag == "Player"){
 Pode = false;
 Interagir.enabled = false;
 }
 }

 void Update (){

 if (NumPort == true) {
 Porta.transform.position = Vector3.Lerp (Porta.transform.position, PosFinal, Velocidade);
 StartCoroutine ("Fechar");
 }
 if (NumPort == false) {
 Porta.transform.position = Vector3.Lerp (Porta.transform.position, PosInicial, Velocidade);
 }
 if (Input.GetKeyDown ("e") && Pode == true) {
 NumPort = true;

 }
 }

 IEnumerator Fechar (){
 yield return new WaitForSeconds (Tempo);
 NumPort = false;
 }
}



avatar
PauloFR
Instrutor

Masculino PONTOS : 1508
REPUTAÇÃO : 324
Idade : 15
Áreas de atuação : Iniciante:Modelagem e Terminal-Linux. Intermediário:C#,Java,HTML e CSS
Respeito as regras :

Ver perfil do usuário http://bytsoft.rf.gd

Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum