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:
DUVIDA COMO CRIAR UM BOTÃO VIA SCRIPT
pathfind (IA) para jogo em 2D? por favor ;/
[Duvida] Sistema Loja de Item's
[____ADMINISTRADOR____] VOTAÇÃO - Eficiência do fórum
tutorial dentro do jogo
[SUPER ATUALIZAÇÃO] - Android - Night Hunter RPG, Faça um teste e avalie! Alpha #5
Variável static e script de inventário
Meu Canva nao para de tremer o que fazer?
PREFAB(clone)
[Ajuda] Loop na array material
Duvidas multiplayer online em terceira pessoa
(AVALIEM) Sistema de IA para pedestre e trafego e ROTAS COM RAIN
[Resolvido]Error na Hora no Build
(Duvida)Folhas Voarem
Script de Mover - Estilo Subway Surfs
KeyStore para colocar jogo na Google Play
[DÚVIDA] FAZER OBJETO GIRAR EM TORNO DE SI QUANDO CLICAR E ARRASTAR O OBJETO PARA OS LADOS
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[DÚVIDA] JOGO ESTILO AGAR.IO NO UNITY 3D
ERRO AO COMPILAR O JOGO
Erro no Script
Como rodar uma animação feita em shape keys do blender na unity?
[RESOLVIDO] DUVIDA AI DO INIMIGO
Contruir No local selecionado pelo usuario
Erros nesse script
[Duvida] A versao Do Visual Studio Influencia?
Dúvida no uso do If para esta ocasião ?
TEM COMO COLOCAR UM VIDEO NO CANVAS?
Mudar Gráfico
[_____CRONOGRAMA DO CANAL_____]
Problema com Sprite
Script de Mover
[Duvida] ScrollBar
Preciso De Um Pessoa Para Fazer Ums Sprites para Um jogo de escape
TESTAR JOGO MULTIPLAYER ONLINE
Veiculos Para o Unity!
ALTERAR DE KeyCode pra Button (ANDROID)
(Slope Skate) Novo jogo na Play Store
Modulo - Game Play Store
[Servidores Experimentais] No Exit - Beta Aberto
SERVIDOR MULTIPLAYER PARA ANDROID
[Modelo 3D] Ponte + Download grátis!
MULTIPLAYER PHOTON
Você acha essa mecânica de combate divertida ou pobre?
MULTIPLAYER ONLINE [PHOTON]
Não consigo conectar meu pc com meu celular em um multiplayer local?
EFEITO TRANSPARENTE TIPO FANTASMA
[DEVLOG] Projeto - Girl Blade
Modelo 3D - Pack com 2 portas free
Script não compila com monodevelop
Bug Easy Roads
DUVIDA ANIMAÇÕES INIMIGO
TELEPORTE "A LA MINECRAFT"(ENDERPEARL)
Criação de Servidores para jogos dentre unity
Asset de Movimento de Veiculos (ANDROID)
Como faço para apos uma animação acabar, executar outra ação C#
ESSE EO MEU JOGO QUE EU ESTOU DESENVOLVENDO (VERSAO ALPHA)
alguem sabe como eu posso colocar um joystick para mover a camera
Criando FPS Multiplayer
[AVALIAÇÃO] AVALIEM MEU JOGO MOBILE
MEU JOGO DE TERROR EM DESENVOLVIMENTO E BLOGGUER
[UPDATE DO MEU PROJETO] - Veja e avalie o sistema de combate do meu jogo!
Probleminha na animação 16bit andando...
[Duvida] Canvas, Imagens Na Frente.
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
[duvida] Easy Roads
Fighters for honor(Jogo da segunda guerra mundial)
[TUTORIAL] Aprenda C# - Unity 5
Mais um Teste do jogo em andamento
ERRO COM SCRIPT INDETECTÁVEL
Como girar o mundo?
[DÚVIDA FATAL]Movimentação do player
Unity Congelando
PHP e MYSQLI
PAUSE COM POP UP !
[TUTORIAL]Passar de cena ao colidir em objeto ou ao passar certo tempo
[RESOLVIDO] Tela (Screen) Android e Joystick adaptável à tela !
Tela Ajustável (Android)
[DÚVIDA] SOM SAIR QUANDO CHEGAR PERTO DE UM OBJETO
Ajuda Jogo de Luta 2D precisando de AI CPU inteligente
Parentear Objetos por script C#
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
BAIXE GRÁTIS MODELOS 3D (FUZIL FOTO REALÍSTICO - 22-06-2017)
ALGUEM SABE COMO POSSO DESATIVAR O LOOP DA ANIMAÇAO
Sistema de Nevoa
COMO EXPORTAR MEU PROJETO E DAR CONTINUAÇÃO POR OUTRO COMPUTADOR ?
MEU JOGO ANDROID
Asset Sistema de rajada
Preciso de Programador e Modelador para jogo de tiro futurista
[Unity] - Criar botão em C#
Bugs da Unity
Defeito com colisao
Erro estranho Invalid AABB a
não esta salvando o score
Ajuda com scripts de inimigo e player'' interação de zumbi e player''
[TUTORIAL] Mover, Girar e lançar objetos com o mouse ( estilo Amnesia )
[TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera
[Resolvido] Relacionada a Objetos em Arrays.
Modelagem de personagens
Hoje à(s) 1:03 am
Hoje à(s) 12:26 am
Ontem à(s) 11:19 pm
Ontem à(s) 11:00 pm
Ontem à(s) 10:55 pm
Ontem à(s) 10:55 pm
Ontem à(s) 10:54 pm
Ontem à(s) 10:37 pm
Ontem à(s) 10:25 pm
Ontem à(s) 7:49 pm
Ontem à(s) 7:47 pm
Ontem à(s) 7:07 pm
Ontem à(s) 5:21 pm
Ontem à(s) 4:46 pm
Ontem à(s) 4:41 pm
Ontem à(s) 4:21 pm
Ontem à(s) 4:01 pm
Ontem à(s) 3:58 pm
Ontem à(s) 3:56 pm
Ontem à(s) 3:54 pm
Ontem à(s) 3:48 pm
Ontem à(s) 3:48 pm
Ontem à(s) 3:24 pm
Ontem à(s) 3:18 pm
Ontem à(s) 3:09 pm
Ontem à(s) 3:02 pm
Ontem à(s) 2:55 pm
Ontem à(s) 2:53 pm
Ontem à(s) 2:11 pm
Ontem à(s) 2:06 pm
Ontem à(s) 2:05 pm
Ontem à(s) 2:03 pm
Ontem à(s) 2:01 pm
Ontem à(s) 1:52 pm
Ontem à(s) 1:51 pm
Ontem à(s) 1:39 pm
Ontem à(s) 12:16 pm
Ontem à(s) 11:01 am
Ontem à(s) 10:58 am
Seg Jun 26, 2017 10:02 pm
Seg Jun 26, 2017 9:39 pm
Seg Jun 26, 2017 8:56 pm
Seg Jun 26, 2017 8:28 pm
Seg Jun 26, 2017 6:20 pm
Seg Jun 26, 2017 5:45 pm
Seg Jun 26, 2017 5:32 pm
Seg Jun 26, 2017 2:51 pm
Seg Jun 26, 2017 1:53 pm
Seg Jun 26, 2017 10:37 am
Seg Jun 26, 2017 10:15 am
Seg Jun 26, 2017 7:31 am
Dom Jun 25, 2017 11:02 pm
Dom Jun 25, 2017 10:18 pm
Dom Jun 25, 2017 5:51 pm
Dom Jun 25, 2017 3:51 pm
Dom Jun 25, 2017 1:59 pm
Dom Jun 25, 2017 11:50 am
Dom Jun 25, 2017 5:03 am
Dom Jun 25, 2017 2:56 am
Dom Jun 25, 2017 1:57 am
Sab Jun 24, 2017 10:36 pm
Sab Jun 24, 2017 10:12 pm
Sab Jun 24, 2017 9:50 pm
Sab Jun 24, 2017 9:31 pm
Sab Jun 24, 2017 8:27 pm
Sab Jun 24, 2017 7:12 pm
Sab Jun 24, 2017 6:26 pm
Sab Jun 24, 2017 4:44 pm
Sab Jun 24, 2017 3:42 pm
Sab Jun 24, 2017 1:39 pm
Sab Jun 24, 2017 12:41 pm
Sab Jun 24, 2017 12:32 am
Sex Jun 23, 2017 10:38 pm
Sex Jun 23, 2017 6:03 pm
Sex Jun 23, 2017 4:19 pm
Sex Jun 23, 2017 4:19 pm
Sex Jun 23, 2017 4:08 pm
Sex Jun 23, 2017 4:05 pm
Sex Jun 23, 2017 2:02 pm
Sex Jun 23, 2017 12:50 pm
Sex Jun 23, 2017 12:23 pm
Sex Jun 23, 2017 11:44 am
Sex Jun 23, 2017 7:34 am
Qui Jun 22, 2017 9:38 pm
Qui Jun 22, 2017 7:18 pm
Qui Jun 22, 2017 12:34 pm
Qui Jun 22, 2017 12:33 pm
Qui Jun 22, 2017 12:30 pm
Qui Jun 22, 2017 12:10 pm
Qui Jun 22, 2017 9:37 am
Qua Jun 21, 2017 10:19 pm
Qua Jun 21, 2017 8:39 pm
Qua Jun 21, 2017 8:34 pm
Qua Jun 21, 2017 8:08 pm
Qua Jun 21, 2017 7:35 pm
Qua Jun 21, 2017 4:31 pm
Qua Jun 21, 2017 2:12 pm
Qua Jun 21, 2017 1:48 pm
Qua Jun 21, 2017 11:52 am
fecirineu
Bruno
Encracker
Encracker
lelouchsdky
marcos4503
JoelMJunior
DuViDoSo
DuViDoSo
ffabim
paulonotur
Zecandy
Duarte
marcos4503
MarcosSchultz
Duarte
MarcosSchultz
Nyland
MarcosSchultz
MarcosSchultz
MarcosSchultz
thzin
Diego Felix
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
fecirineu
fecirineu
ViniciusBr156
PauloFR
Édipo
Édipo
fecirineu
fecirineu
MateusWTP
fecirineu
rafaelllsd
fecirineu
Willian Wii
marcos4503
dstaroski
Diego Felix
izacnet
dstaroski
Diego Felix
marcos4503
marcos4503
thzin
marcos4503
glauco
Gabriel César O
hen000
fecirineu
marcos4503
marcos4503
Ghosthy
michelly
LuizFixa3D
tom ramber
Callyde Jr
MarcosSchultz
Zecandy
SmithSchuldiner
Priste_Hell
Mauricio Maggot
LuizFixa3D
Callyde Jr
SmithSchuldiner
tiagoardison
SmithSchuldiner
SmithSchuldiner
Gabriel César O
Callyde Jr
marcos4503
Gregory2017
joabr
marcos4503
bitgames
Callyde Jr
marcos4503
Dom3000
edu094
Gilliard
marcos4503
Dom3000
Dom3000
marcos4503
Robinsandi
Phoenix Wright
marcos4503
dstaroski
sabbath

[TUTORIAL] Reconstruindo SCP-087-B

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

TUTORIAL [TUTORIAL] Reconstruindo SCP-087-B

Mensagem por MarcosSchultz em Sex Jan 09, 2015 5:02 pm

ATENÇÃO, A PRIMEIRA PARTE DO TUTORIAL SERVE NA UNITY 3 OU UNITY 4... SE VOCÊ JÁ ESTIVER USANDO A UNITY 5, UTILIZE OS SCRIPTS DA SEGUNDA PARTE DO TUTORIAL, QUE SÃO ESPECIFICAMENTE DIRECIONADOS A UNITY 5, PARA EVITAR ERROS 



Primeira Aula:



Scripts:

Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(CharacterController))]
[RequireComponent(typeof(AudioSource))]
public class PASSOS : MonoBehaviour {
 public AudioClip SomDePassos;
 private CharacterController controller;
 private bool Esperando;
 private float TempoDeEspera;
 public float TempoDePasso = 0.7f;
 //variaveis de movimento da camera
 public GameObject CameraDoPlayer;
 public float intensidadeDoMovimento = 1;
 private Vector3 PosicaoInicialDaCamera;
 private float movimentoDaCamera;
 private bool comecarContagem;
 void Start (){
 comecarContagem = false;
 PosicaoInicialDaCamera = CameraDoPlayer.transform.localPosition;
 controller = GetComponent<CharacterController> ();
 }
 void Update (){
 CameraDoPlayer.transform.localPosition = Vector3.Lerp(CameraDoPlayer.transform.localPosition,PosicaoInicialDaCamera+PosicaoInicialDaCamera*movimentoDaCamera*intensidadeDoMovimento,10*Time.deltaTime);
 if(controller.isGrounded && controller.velocity.magnitude > 0.0f ){
 if(!audio.isPlaying){
 TocarSons();
 if(comecarContagem == false){
 movimentoDaCamera += Time.deltaTime;
 }
 if(comecarContagem == true){
 movimentoDaCamera -= Time.deltaTime;
 }
 }
 }
 if (!controller.isGrounded || controller.velocity.magnitude == 0.0f) {
 audio.Stop ();
 comecarContagem = true;
 }
 if (movimentoDaCamera >= TempoDeEspera) {
 comecarContagem = true;
 }
 if (movimentoDaCamera <= 0) {
 comecarContagem = false;
 }
 if (Esperando == true) {
 TempoDeEspera -= Time.deltaTime;
 }
 if (TempoDeEspera <= 0) {
 Esperando = false;
 }
 }
 void TocarSons (){
 if (Esperando == false) {
 audio.Stop ();
 TempoDeEspera = TempoDePasso;
 Esperando = true;
 audio.PlayOneShot(SomDePassos);
 }
 }
}


Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
public class SONS : MonoBehaviour {
 public AudioClip[] sounds;
 private int tempoAleatorio;
 private float cronometro;
 public int tempoMinimo = 20,tempoMaximo = 50;
 void Start (){
 tempoAleatorio = Random.Range (tempoMinimo, tempoMaximo);
 }
 void Update (){
 cronometro+=Time.deltaTime;
 if(cronometro > tempoAleatorio){
 AudioRandom();
 }
 }
 void AudioRandom (){
 cronometro = 0;
 tempoAleatorio = Random.Range (tempoMinimo, tempoMaximo);
 if(audio.isPlaying) return;
 audio.clip = sounds[Random.Range(0,sounds.Length)];
 audio.Play ();
 }
}


===================================================================================

Segunda Aula:



Scripts:

Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
public class PLAYER : MonoBehaviour {
 public static bool morreu;
 public Texture texturaMorte;
 public AudioClip somMorte;
 private float cronometroMorte;
 void Start (){
 morreu = false;
 }
 void Update (){
 if(morreu == true){
 cronometroMorte+=Time.deltaTime;
 }
 if(cronometroMorte >= 1){
 Application.Quit();
 }
 if(Input.GetKeyDown ("escape")){
 Application.Quit();
 }
 }
 void OnGUI (){
 if(morreu == true){
 if(!audio.isPlaying){
 audio.Play ();
 }
 GUI.color = new Color32 (255,20,20,100);
 GUI.DrawTexture(new Rect(Screen.width/2-Screen.width/2,Screen.height/2-Screen.height/2,Screen.width,Screen.height),texturaMorte);
 }
 }
}


Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
public class MORTE : MonoBehaviour {
 public Vector3 vetor;
 private Vector3 vetorInicial;
 private Vector3 posicaoInicial;
 private int numero = 1;
 private bool EntrouNoColisor,dentro;
 public AudioClip susto;
 private BoxCollider[] myColliders;
 private GameObject JOGADOR;
 private float DistanciaDoJogador;
 void Start (){
 renderer.enabled = false;
 vetorInicial = vetor;
 posicaoInicial = transform.localPosition;
 EntrouNoColisor = false;
 myColliders = gameObject.GetComponents<BoxCollider>();
 JOGADOR = GameObject.FindWithTag("Player");
 }
 void Update (){
 DistanciaDoJogador = Vector3.Distance(transform.position,JOGADOR.transform.position);
 if(DistanciaDoJogador<=2){
 PLAYER.morreu = true;
 }
 }
 IEnumerator OnTriggerEnter (){
 foreach(BoxCollider BoxColl in myColliders) BoxColl.enabled = false;
 audio.PlayOneShot(susto);
 RenderSettings.fogDensity = 0.07f;
 renderer.enabled = true;
 yield return new WaitForSeconds(0.4f);
 RenderSettings.fogDensity = 0.45f;
 renderer.enabled = false;
 //
 yield return new WaitForSeconds(1.5f);
 audio.PlayOneShot(susto);
 vetor = vetorInicial;
 vetor = vetor*numero;
 numero = numero +1;
 transform.localPosition = posicaoInicial+vetor;
 RenderSettings.fogDensity = 0.07f;
 renderer.enabled = true;
 yield return new WaitForSeconds(0.4f);
 RenderSettings.fogDensity = 0.45f;
 renderer.enabled = false;
 //
 yield return new WaitForSeconds(1.5f);
 audio.PlayOneShot(susto);
 vetor = vetorInicial;
 vetor = vetor*numero;
 numero = numero +1;
 transform.localPosition = posicaoInicial+vetor;
 RenderSettings.fogDensity = 0.07f;
 renderer.enabled = true;
 yield return new WaitForSeconds(0.4f);
 RenderSettings.fogDensity = 0.45f;
 renderer.enabled = false;
 //
 yield return new WaitForSeconds(1.5f);
 audio.PlayOneShot(susto);
 vetor = vetorInicial;
 vetor = vetor*numero;
 numero = numero +1;
 transform.localPosition = posicaoInicial+vetor;
 RenderSettings.fogDensity = 0.07f;
 renderer.enabled = true;
 yield return new WaitForSeconds(0.4f);
 RenderSettings.fogDensity = 0.45f;
 renderer.enabled = false;
 //
 yield return new WaitForSeconds(4);
 Destroy(gameObject);
 }
}


Código:
using UnityEngine;
using System.Collections;
public class BURACO : MonoBehaviour {
 void OnTriggerEnter (){
 PLAYER.morreu = true;
 }
}


Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
public class SUSTOS : MonoBehaviour {
 public bool Caras,Monstro;
 private float CronometroCaras;
 public AudioClip[] audiosSustos;
 private int SorteioAudios;
 private bool JaEntrou,TaDentro;
 private GameObject JOGADOR;
 private float DistanciaDoJogador;
 private int randomSusto;
 void Start (){
 JaEntrou = false;
 TaDentro = false;
 renderer.enabled = false;
 JOGADOR = GameObject.FindWithTag ("Player");
 }
 void OnTriggerEnter (){
 randomSusto = Random.Range (1, 3);
 if (randomSusto == 1) {
 TaDentro = true;
 if(JaEntrou == false){
 if(Monstro == true){
 SorteioAudios = Random.Range (0,audiosSustos.Length);
 renderer.enabled = true;
 audio.PlayOneShot(audiosSustos[SorteioAudios]);
 JaEntrou = true;
 }
 }
 } else {
 Destroy (gameObject);
 }
 }
 void Update (){
 if (randomSusto == 1) {
 if(TaDentro == true){
 DistanciaDoJogador = Vector3.Distance(transform.position,JOGADOR.transform.position);
 if(Caras == true){
 renderer.enabled = true;
 CronometroCaras +=Time.deltaTime;
 if(CronometroCaras >= 0.1f){
 renderer.enabled = false;
 Destroy (gameObject);
 }
 }
 if(DistanciaDoJogador >= 10){
 Destroy (gameObject);
 }
 }
 }
 }
}



===================================================================================

Terceira Aula:




Shader:

Código:
Shader "TEXTOS" {
 Properties {
 _MainTex ("Font Texture", 2D) = "white" {}
 _Color ("Text Color",Color) = (1,1,1,1)
 }
 SubShader {
 Tags {"Queue" = "Transparent" "IgnoreProjector" = " True" "RenderType" = "Transparent"}
 Lighting On Cull Off ZWrite Off
 Blend SrcAlpha OneMinusSrcAlpha
 Pass {
 Fog { Mode Off}
 Color[_Color]
 SetTexture [_MainTex]{
 combine primary,texture*primary
 }
 }
 }
}


Scripts:

Código:
using UnityEngine;
using System.Collections;
public class Andares : MonoBehaviour {
 private float altura;
 private int AndarAtual;
 void Update (){
 altura = ((transform.position.y) / 4.725f) * -1;
 AndarAtual = Mathf.FloorToInt (altura) + 1;
 GetComponent<TextMesh>().text = "ANDAR: "+AndarAtual;
 }
 }

Código:
using UnityEngine;
using System.Collections;
public class SPAWN : MonoBehaviour {
 public GameObject[] Andares;
 public GameObject[] ListaDeAndares;
 public GameObject numeroDoAndar;
 private int sorteio;
 private GameObject JOGADOR;
 private float DistanciaDoJogador;
 void Start (){
 Screen.showCursor = false;
 JOGADOR = GameObject.FindWithTag ("Player");
 for(int x = 0;x < ListaDeAndares.Length;x++){
 sorteio = Random.Range (0,Andares.Length);
 ListaDeAndares[x] = Instantiate(Andares[sorteio],new Vector3(0,-4.725f*x,0),Quaternion.Euler(-90,0,0)) as GameObject;
 Instantiate(numeroDoAndar,new Vector3(-20.5f,2-4.725f*x,-1.18f),Quaternion.Euler(0,180,0));
 }
 }
 void Update (){
 for(int i = 0; i < ListaDeAndares.Length; i++ ){
 DistanciaDoJogador = JOGADOR.transform.position.y-ListaDeAndares[i].transform.position.y;
 if(DistanciaDoJogador >= 4 || DistanciaDoJogador <= -4){
 ListaDeAndares[i].SetActive (false);
 }
 else if(DistanciaDoJogador < 4 || DistanciaDoJogador > -4){
 ListaDeAndares[i].SetActive (true);
 }
 }
 }
}



SE VOCÊ ESTIVER USANDO A UNITY 5:





Primeira Aula:







Scripts:



Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(CharacterController))]
[RequireComponent(typeof(AudioSource))]
public class PASSOS : MonoBehaviour {
 public AudioClip SomDePassos;
 private CharacterController controller;
 private bool Esperando;
 private float TempoDeEspera;
 public float TempoDePasso = 0.7f;
 //variaveis de movimento da camera
 public GameObject CameraDoPlayer;
 public float intensidadeDoMovimento = 1;
 private Vector3 PosicaoInicialDaCamera;
 private float movimentoDaCamera;
 private bool comecarContagem;
 void Start (){
 comecarContagem = false;
 PosicaoInicialDaCamera = CameraDoPlayer.transform.localPosition;
 controller = GetComponent<CharacterController> ();
 }
 void Update (){
 CameraDoPlayer.transform.localPosition = Vector3.Lerp(CameraDoPlayer.transform.localPosition,PosicaoInicialDaCamera+PosicaoInicialDaCamera*movimentoDaCamera*intensidadeDoMovimento,10*Time.deltaTime);
 if(controller.isGrounded && controller.velocity.magnitude > 0.0f ){
 if(!GetComponent<AudioSource>().isPlaying){
 TocarSons();
 if(comecarContagem == false){
 movimentoDaCamera += Time.deltaTime;
 }
 if(comecarContagem == true){
 movimentoDaCamera -= Time.deltaTime;
 }
 }
 }
 if (!controller.isGrounded || controller.velocity.magnitude == 0.0f) {
 GetComponent<AudioSource>().Stop ();
 comecarContagem = true;
 }
 if (movimentoDaCamera >= TempoDeEspera) {
 comecarContagem = true;
 }
 if (movimentoDaCamera <= 0) {
 comecarContagem = false;
 }
 if (Esperando == true) {
 TempoDeEspera -= Time.deltaTime;
 }
 if (TempoDeEspera <= 0) {
 Esperando = false;
 }
 }
 void TocarSons (){
 if (Esperando == false) {
 GetComponent<AudioSource>().Stop ();
 TempoDeEspera = TempoDePasso;
 Esperando = true;
 GetComponent<AudioSource>().PlayOneShot(SomDePassos);
 }
 }
}


Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
public class SONS : MonoBehaviour {
 public AudioClip[] sounds;
 private int tempoAleatorio;
 private float cronometro;
 public int tempoMinimo = 20,tempoMaximo = 50;
 void Start (){
 tempoAleatorio = Random.Range (tempoMinimo, tempoMaximo);
 }
 void Update (){
 cronometro+=Time.deltaTime;
 if(cronometro > tempoAleatorio){
 AudioRandom();
 }
 }
 void AudioRandom (){
 cronometro = 0;
 tempoAleatorio = Random.Range (tempoMinimo, tempoMaximo);
 if(GetComponent<AudioSource>().isPlaying) return;
 GetComponent<AudioSource>().clip = sounds[Random.Range(0,sounds.Length)];
 GetComponent<AudioSource>().Play ();
 }
}


===================================================================================

Segunda Aula:



Scripts:

Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
public class PLAYER : MonoBehaviour {
 public static bool morreu;
 public Texture texturaMorte;
 public AudioClip somMorte;
 private float cronometroMorte;
 void Start (){
 morreu = false;
 }
 void Update (){
 if(morreu == true){
 cronometroMorte+=Time.deltaTime;
 }
 if(cronometroMorte >= 1){
 Application.Quit();
 }
 if(Input.GetKeyDown ("escape")){
 Application.Quit();
 }
 }
 void OnGUI (){
 if(morreu == true){
 if(!GetComponent<AudioSource>().isPlaying){
 GetComponent<AudioSource>().Play ();
 }
 GUI.color = new Color32 (255,20,20,100);
 GUI.DrawTexture(new Rect(Screen.width/2-Screen.width/2,Screen.height/2-Screen.height/2,Screen.width,Screen.height),texturaMorte);
 }
 }
}



Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
public class MORTE : MonoBehaviour {
 public Vector3 vetor;
 private Vector3 vetorInicial;
 private Vector3 posicaoInicial;
 private int numero = 1;
 private bool EntrouNoColisor,dentro;
 public AudioClip susto;
 private BoxCollider[] myColliders;
 private GameObject JOGADOR;
 private float DistanciaDoJogador;
 void Start (){
 GetComponent<Renderer>().enabled = false;
 vetorInicial = vetor;
 posicaoInicial = transform.localPosition;
 EntrouNoColisor = false;
 myColliders = gameObject.GetComponents<BoxCollider>();
 JOGADOR = GameObject.FindWithTag("Player");
 }
 void Update (){
 DistanciaDoJogador = Vector3.Distance(transform.position,JOGADOR.transform.position);
 if(DistanciaDoJogador<=2){
 PLAYER.morreu = true;
 }
 }
 IEnumerator OnTriggerEnter (){
 foreach(BoxCollider BoxColl in myColliders) BoxColl.enabled = false;
 GetComponent<AudioSource>().PlayOneShot(susto);
 RenderSettings.fogDensity = 0.07f;
 GetComponent<Renderer>().enabled = true;
 yield return new WaitForSeconds(0.4f);
 RenderSettings.fogDensity = 0.45f;
 GetComponent<Renderer>().enabled = false;
 //
 yield return new WaitForSeconds(1.5f);
 GetComponent<AudioSource>().PlayOneShot(susto);
 vetor = vetorInicial;
 vetor = vetor*numero;
 numero = numero +1;
 transform.localPosition = posicaoInicial+vetor;
 RenderSettings.fogDensity = 0.07f;
 GetComponent<Renderer>().enabled = true;
 yield return new WaitForSeconds(0.4f);
 RenderSettings.fogDensity = 0.45f;
 GetComponent<Renderer>().enabled = false;
 //
 yield return new WaitForSeconds(1.5f);
 GetComponent<AudioSource>().PlayOneShot(susto);
 vetor = vetorInicial;
 vetor = vetor*numero;
 numero = numero +1;
 transform.localPosition = posicaoInicial+vetor;
 RenderSettings.fogDensity = 0.07f;
 GetComponent<Renderer>().enabled = true;
 yield return new WaitForSeconds(0.4f);
 RenderSettings.fogDensity = 0.45f;
 GetComponent<Renderer>().enabled = false;
 //
 yield return new WaitForSeconds(1.5f);
 GetComponent<AudioSource>().PlayOneShot(susto);
 vetor = vetorInicial;
 vetor = vetor*numero;
 numero = numero +1;
 transform.localPosition = posicaoInicial+vetor;
 RenderSettings.fogDensity = 0.07f;
 GetComponent<Renderer>().enabled = true;
 yield return new WaitForSeconds(0.4f);
 RenderSettings.fogDensity = 0.45f;
 GetComponent<Renderer>().enabled = false;
 //
 yield return new WaitForSeconds(4);
 Destroy(gameObject);
 }
}


Código:
using UnityEngine;
using System.Collections;
public class BURACO : MonoBehaviour {
 void OnTriggerEnter (){
 PLAYER.morreu = true;
 }
}


Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(AudioSource))]
public class SUSTOS : MonoBehaviour {
 public bool Caras,Monstro;
 private float CronometroCaras;
 public AudioClip[] audiosSustos;
 private int SorteioAudios;
 private bool JaEntrou,TaDentro;
 private GameObject JOGADOR;
 private float DistanciaDoJogador;
 private int randomSusto;
 void Start (){
 JaEntrou = false;
 TaDentro = false;
 GetComponent<Renderer>().enabled = false;
 JOGADOR = GameObject.FindWithTag ("Player");
 }
 void OnTriggerEnter (){
 randomSusto = Random.Range (1, 3);
 if (randomSusto == 1) {
 TaDentro = true;
 if(JaEntrou == false){
 if(Monstro == true){
 SorteioAudios = Random.Range (0,audiosSustos.Length);
 GetComponent<Renderer>().enabled = true;
 GetComponent<AudioSource>().PlayOneShot(audiosSustos[SorteioAudios]);
 JaEntrou = true;
 }
 }
 } else {
 Destroy (gameObject);
 }
 }
 void Update (){
 if (randomSusto == 1) {
 if(TaDentro == true){
 DistanciaDoJogador = Vector3.Distance(transform.position,JOGADOR.transform.position);
 if(Caras == true){
 GetComponent<Renderer>().enabled = true;
 CronometroCaras +=Time.deltaTime;
 if(CronometroCaras >= 0.1f){
 GetComponent<Renderer>().enabled = false;
 Destroy (gameObject);
 }
 }
 if(DistanciaDoJogador >= 10){
 Destroy (gameObject);
 }
 }
 }
 }
}


===================================================================================

Terceira Aula:




Shader:

Código:
Shader "TEXTOS" {
 Properties {
 _MainTex ("Font Texture", 2D) = "white" {}
 _Color ("Text Color",Color) = (1,1,1,1)
 }
 SubShader {
 Tags {"Queue" = "Transparent" "IgnoreProjector" = " True" "RenderType" = "Transparent"}
 Lighting On Cull Off ZWrite Off
 Blend SrcAlpha OneMinusSrcAlpha
 Pass {
 Fog { Mode Off}
 Color[_Color]
 SetTexture [_MainTex]{
 combine primary,texture*primary
 }
 }
 }
}


SCRIPTS:


Código:
using UnityEngine;
using System.Collections;
public class Andares : MonoBehaviour {
 private float altura;
 private int AndarAtual;
 void Update (){
 altura = ((transform.position.y) / 4.725f) * -1;
 AndarAtual = Mathf.FloorToInt (altura) + 1;
 GetComponent<TextMesh>().text = "ANDAR: "+AndarAtual;
 }
 }

Código:
using UnityEngine;
using System.Collections;
public class SPAWN : MonoBehaviour {
 public GameObject[] Andares;
 public GameObject[] ListaDeAndares;
 public GameObject numeroDoAndar;
 private int sorteio;
 private GameObject JOGADOR;
 private float DistanciaDoJogador;
 void Start (){
 Cursor.visible = false;
 JOGADOR = GameObject.FindWithTag ("Player");
 for(int x = 0;x < ListaDeAndares.Length;x++){
 sorteio = Random.Range (0,Andares.Length);
 ListaDeAndares[x] = Instantiate(Andares[sorteio],new Vector3(0,-4.725f*x,0),Quaternion.Euler(-90,0,0)) as GameObject;
 Instantiate(numeroDoAndar,new Vector3(-20.5f,2-4.725f*x,-1.18f),Quaternion.Euler(0,180,0));
 }
 }
 void Update (){
 for(int i = 0; i < ListaDeAndares.Length; i++ ){
 DistanciaDoJogador = JOGADOR.transform.position.y-ListaDeAndares[i].transform.position.y;
 if(DistanciaDoJogador >= 4 || DistanciaDoJogador <= -4){
 ListaDeAndares[i].SetActive (false);
 }
 else if(DistanciaDoJogador < 4 || DistanciaDoJogador > -4){
 ListaDeAndares[i].SetActive (true);
 }
 }
 }
}


Última edição por MarcosSchultz em Ter Jun 07, 2016 8:54 pm, editado 1 vez(es)
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9024
REPUTAÇÃO : 1451
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Reconstruindo SCP-087-B

Mensagem por Mario Elui em Sex Out 16, 2015 9:30 am

Acho que vc poderia colocar o Script com link para download.

Mario Elui
Iniciante
Iniciante

PONTOS : 622
REPUTAÇÃO : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Reconstruindo SCP-087-B

Mensagem por MarcosSchultz em Sex Out 16, 2015 12:06 pm

Por que se todos já estão ai??? O.o
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9024
REPUTAÇÃO : 1451
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Reconstruindo SCP-087-B

Mensagem por walney em Ter Dez 01, 2015 10:40 pm

Ola marcus tudo bem, pretendo começar estudar esta serie , e gostaria de saber onde baixar os cenarios que fizeste,, sprites e sons para o game para tentar fazer o joguinho, e desde jah obrigado, rs.

walney
Iniciante
Iniciante

PONTOS : 588
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Reconstruindo SCP-087-B

Mensagem por MarcosSchultz em Ter Dez 01, 2015 11:06 pm

walney escreveu:Ola marcus tudo bem, pretendo começar estudar esta serie , e gostaria de saber onde baixar os cenarios que fizeste,, sprites e sons para o game para tentar fazer o joguinho, e desde jah obrigado, rs.

Os andares e assets ficam por conta de cada um fazer o seu...

Infelizmente esta série está um pouco ultrapassada agora que lançou a Unity 5. Requer algumas atualizações, más estou um pouco sem tempo para faze-las
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9024
REPUTAÇÃO : 1451
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Reconstruindo SCP-087-B

Mensagem por walney em Qua Dez 02, 2015 8:22 am

MarcosSchultz escreveu:
walney escreveu:Ola marcus tudo bem, pretendo começar estudar esta serie , e gostaria de saber onde baixar os cenarios que fizeste,, sprites e sons para o game para tentar fazer o joguinho, e desde jah obrigado, rs.

Os andares e assets ficam por conta de cada um fazer o seu...

Infelizmente esta série está um pouco ultrapassada agora que lançou a Unity 5. Requer algumas atualizações, más estou um pouco sem tempo para faze-las

blz, vou tentar fazer aqui, e espero tu arrumar mais tempo para eu poder aprender unity3d 5, pois gosto do jeito que ensina, , tudo de bom fique na PAZ.

walney
Iniciante
Iniciante

PONTOS : 588
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Reconstruindo SCP-087-B

Mensagem por walney em Qua Dez 02, 2015 8:34 am

walney escreveu:
MarcosSchultz escreveu:
walney escreveu:Ola marcus tudo bem, pretendo começar estudar esta serie , e gostaria de saber onde baixar os cenarios que fizeste,, sprites e sons para o game para tentar fazer o joguinho, e desde jah obrigado, rs.

Os andares e assets ficam por conta de cada um fazer o seu...

Infelizmente esta série está um pouco ultrapassada agora que lançou a Unity 5. Requer algumas atualizações, más estou um pouco sem tempo para faze-las

blz, vou tentar fazer aqui, e espero tu arrumar mais tempo para eu poder aprender unity3d 5, pois gosto do jeito que ensina, , tudo de bom fique na PAZ.

no 5 como faço para ele nao pular ? estou usando o first personal que vem com a importação do character, e coloquei junto os scripts do player e passos baixados aqui, pois nao achei a opção de desativar o pulo, rs, iniciante é fogo, obrigado,.

walney
Iniciante
Iniciante

PONTOS : 588
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Reconstruindo SCP-087-B

Mensagem por walney em Qua Dez 02, 2015 8:39 am

consegui coloquei o jump speed para 0, rs

walney
Iniciante
Iniciante

PONTOS : 588
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Reconstruindo SCP-087-B

Mensagem por walney em Qua Dez 02, 2015 8:55 am

onde baixo estes sons ? existe algum lugar para sons e texturas free,s , vai que um dia faça um game e vou vender e me de problema, vai saber, por enquanto é por hobby, rs.

walney
Iniciante
Iniciante

PONTOS : 588
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Reconstruindo SCP-087-B

Mensagem por MarcosSchultz em Qui Dez 03, 2015 12:51 am

WALNEY, preste atenção na regra número 2 do fórum, você infringiu ela 3 vezes... Cuidado com o flood.

No mais, para dúvidas não relacionadas ao tópico, peço que crie um tópico para a dúvida em especial, especificando o ocorrido, postando prints e scripts se possível...

Dúvidas quando ao FPSController podem ser resolvidas por aqui:

avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9024
REPUTAÇÃO : 1451
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Reconstruindo SCP-087-B

Mensagem por codern em Sex Mar 11, 2016 7:35 pm

Ola Marcos tudo bom?
Espero que sim.

Eu estou acompanhando suas aulas e ja joguei muito SCP

E quis arriscar fazer o tutorial. Ja fiz alguns games no unity e sou programador.

Estou tendo um erro ao importar o meu labirinto do sketchup.
Ja pesquisei, mudei o formato, ja tentei ate manda para o blender para depois importar no unity mas nada adianta
ja apaguei e refiz tudo de novo. e não sei mais o que fazer.

Poderia me da uma força man? bounce

codern
Iniciante
Iniciante

PONTOS : 476
REPUTAÇÃO : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Reconstruindo SCP-087-B

Mensagem por MarcosSchultz em Sex Mar 11, 2016 7:44 pm

Talvez isto lhe auxilie:

avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9024
REPUTAÇÃO : 1451
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Reconstruindo SCP-087-B

Mensagem por codern em Sab Mar 12, 2016 4:07 pm

Very Happy Obrigado pelo Suporte man, eu consegui aqui. Aprendi a usar o Sketchup e importar no Unity certinho.

Valewzão o/

codern
Iniciante
Iniciante

PONTOS : 476
REPUTAÇÃO : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

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