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 :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
MySql Unity(2018.2.14F1)
problemas com rigidbody
keystore Android
Aparecer uma caixinha em algum tempo do jogo.
animator duvidas
Rodas de tanque
Formação de equipe (projeto já em andamento)
Unity Network, isServer, IsLocalPlayer..
Como executar uma animação atraves de um botão?
[TUTORIAL] Sistema de Oficina de Carros
[TUTORIAL] Unity 5 - Botão contínuo usando UI (Manter pressionado)
[PEDIDO] Script de Atirar
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
[RESOLVIDO] Erro de Prefab quando realiza o Build de um projeto 3D
[____ADMINISTRAÇÃO____] Alterações IMPORTANTES no fórum.
Renderizar apenas algumas partes do mapa.
[RESOLVIDO] Água à noite?
[___COMO UTILIZAR O FÓRUM___] Principais botões e suas funções
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
[PACOTE 2D GRATUITO] Pacote com 17 sprites de alta qualidade para baixar!
eixos X e Z nao rotaciona junto com o play
Erro na unity
Drop Shadows
Senha jogo schultz
Como fazer um sistema para conectar objetos?
Help!!! Criarção de Shader.
Projeto Estilo DD Tank
Duvidas com ADS
[TUTORIAL] Unity 5 - Sistema básico de jogo estilo ANGRY BIRDS
problema com giro na realidade aumentada
Sistema stealth
FreezeRotation e FreezePosition RigidBody Unity
[RESOLVIDO] Instanciar randômicamente prefab acima do terreno. Unity.
Gravidade para objetos selecionados
Procura-se Modelador para Mapas
Mudar ícone do jogo pelo script
[TUTORIAL] Plants VS Zombies na Unity!
A possibilidade de importar uma Biblioteca (dll) numa classe (MonoBehavior) da Unity?
IAP e ADS: plugins obsoletos
Raycast ponto a ponto
[Em Desenvolvimento] Battles of Worlds
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[RESOLVIDO] Linkar Script do inimigo quando o player entrar no collider dele
Ajuda sobre script para abir e fechar porta malas
site pra modelos 3d de armas
[RESOLVIDO] alguem que saiba fazer um jogo de fps pode ajuda?
Compilação do Game
[TUTORIAL] Escolher a quantos FPS (fixos) o seu jogo deverá rodar.
Snake Game - JavaScript + SVG
(Dúvida) Como acessar o sensor de movimento do Android?
[TUTORIAL] Gerenciamento de idiomas para o jogo ou app
[RESOLVIDO] Menu de um jogo com vários mapas
[TUTORIAL] Criando jogo de cartas com I.A (C# e Visual Studio) - Parte 01
USSecurity
Sawed off (Modelo 3D)
Direito autoral
Contar objetos clones
Dividir uma mesh em dois.
Procura se level designer ou diretor de arte ( REMUNERADO )
[TUTORIAL] Sistema COMPLETO de câmeras
[RESOLVIDO] Animaçao só funciona uma vez
[RESOLVIDO] Eu não consigo abrir o monodevelop
Novo Asset Sistema de Portas e Chaves
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
[RESOLVIDO] Como fazer a animação executar so uma vez
[JOGO] Mega BombermOn - Pokémon + Bomberman
Meu personagem na Realidade Aumentada fica tremendo
Carregar arquivos da biblioteca
Jogo de Tabuada
ik nao funciona
DUVIDA EM SCRIPT
Cores nos materiais sem criar material
[Projeto] Line Battle
[TUTORIAL] Controle de personagem em primeira pessoa + pulo para android!
SkyBox Com qualidade Horrivel!
[RESOLVIDO] Bug/Erro da unity?
(ARQUIVO) Leia aqui como obter sucesso com seu jogo independente?
erro unity para android
MENU DE SELEÇÃO DE FASES
[PROJETO CONCLUÍDO] Defeat the Illuminatis
sombras para jogos mobile
Corcle (Mobile) - Um jogo simples com um nome estranho.
[TUTORIAL] Jogo da forca em C#
[RESOLVIDO] Dúvida com relação à "Escopo" e "Namespace" entre pastas na Unity
Problema ao rotacionar valores negativos.
Importe objeto do blender
Monodevelop
Equipe RedSkyGames Studio
Blender ao juntar algumas partes ficam mais escuro
new Vector3 (o que ele ta fazendo de errado??)(iniciante)
[TUTORIAL] Sistema de Controlador De Primeira Pessoa Com Som De Passos Aleatorios
[TUTORIAL] AI Enemy ( Jogos de terror )
[RESOLVIDO] Retornar um resultado de pagina PHP com texto formatado
[RESOLVIDO] Como Voltar o Player para o Início usando Trigger? C#
Unity - Deslizar Para Rotacionar o 'Personagem'
Como criar um poligono dinamicamente?
Instantiate
Em busca de um modelador 3D para plataforma educacional (Já ganhamos apoio de faculdades)
Armazenar as informações de um botão e duplica-lo
Hoje à(s) 1:03 pm
Hoje à(s) 12:40 pm
Hoje à(s) 1:40 am
Hoje à(s) 12:39 am
Ontem à(s) 5:54 pm
Ontem à(s) 4:07 pm
Dom Dez 09, 2018 8:02 pm
Dom Dez 09, 2018 6:31 pm
Dom Dez 09, 2018 6:19 pm
Sab Dez 08, 2018 11:28 pm
Sab Dez 08, 2018 9:42 pm
Sab Dez 08, 2018 3:20 pm
Sex Dez 07, 2018 6:04 pm
Sex Dez 07, 2018 12:11 pm
Sex Dez 07, 2018 5:03 am
Qui Dez 06, 2018 11:02 pm
Qui Dez 06, 2018 8:17 pm
Qui Dez 06, 2018 6:30 pm
Qui Dez 06, 2018 6:30 pm
Qui Dez 06, 2018 6:26 pm
Qui Dez 06, 2018 5:59 pm
Qui Dez 06, 2018 1:28 pm
Qua Dez 05, 2018 8:53 pm
Qua Dez 05, 2018 11:31 am
Ter Dez 04, 2018 6:57 pm
Ter Dez 04, 2018 3:24 pm
Ter Dez 04, 2018 1:37 pm
Ter Dez 04, 2018 8:02 am
Ter Dez 04, 2018 7:50 am
Ter Dez 04, 2018 4:10 am
Ter Dez 04, 2018 3:57 am
Ter Dez 04, 2018 3:39 am
Seg Dez 03, 2018 10:45 pm
Seg Dez 03, 2018 8:47 pm
Seg Dez 03, 2018 12:11 pm
Seg Dez 03, 2018 12:08 pm
Seg Dez 03, 2018 9:09 am
Seg Dez 03, 2018 9:00 am
Seg Dez 03, 2018 5:12 am
Seg Dez 03, 2018 1:42 am
Dom Dez 02, 2018 11:32 pm
Dom Dez 02, 2018 11:31 pm
Dom Dez 02, 2018 11:29 am
Dom Dez 02, 2018 1:51 am
Dom Dez 02, 2018 12:42 am
Sab Dez 01, 2018 9:24 pm
Sab Dez 01, 2018 9:11 pm
Sab Dez 01, 2018 1:37 pm
Sab Dez 01, 2018 1:22 pm
Sex Nov 30, 2018 4:10 pm
Sex Nov 30, 2018 10:28 am
Qui Nov 29, 2018 2:02 am
Qui Nov 29, 2018 1:11 am
Qui Nov 29, 2018 1:08 am
Qua Nov 28, 2018 3:03 pm
Qua Nov 28, 2018 3:00 pm
Qua Nov 28, 2018 1:29 pm
Qua Nov 28, 2018 4:09 am
Qua Nov 28, 2018 3:03 am
Ter Nov 27, 2018 8:49 pm
Ter Nov 27, 2018 5:50 pm
Ter Nov 27, 2018 1:46 pm
Seg Nov 26, 2018 8:29 pm
Seg Nov 26, 2018 2:56 pm
Seg Nov 26, 2018 2:55 pm
Seg Nov 26, 2018 12:43 pm
Seg Nov 26, 2018 9:33 am
Seg Nov 26, 2018 9:28 am
Dom Nov 25, 2018 11:06 pm
Dom Nov 25, 2018 9:21 am
Dom Nov 25, 2018 5:04 am
Sab Nov 24, 2018 8:41 pm
Sab Nov 24, 2018 4:52 pm
Sab Nov 24, 2018 4:03 pm
Sab Nov 24, 2018 2:33 pm
Sab Nov 24, 2018 8:49 am
Sab Nov 24, 2018 6:54 am
Sex Nov 23, 2018 4:28 pm
Sex Nov 23, 2018 1:58 pm
Sex Nov 23, 2018 1:29 pm
Sex Nov 23, 2018 12:49 pm
Sex Nov 23, 2018 12:42 pm
Qui Nov 22, 2018 7:21 pm
Qui Nov 22, 2018 12:59 pm
Qui Nov 22, 2018 10:53 am
Qui Nov 22, 2018 10:33 am
Qua Nov 21, 2018 7:41 pm
Qua Nov 21, 2018 11:09 am
Qua Nov 21, 2018 7:30 am
Ter Nov 20, 2018 10:58 pm
Ter Nov 20, 2018 4:07 pm
Ter Nov 20, 2018 2:37 pm
Ter Nov 20, 2018 12:58 pm
Seg Nov 19, 2018 11:11 pm
Seg Nov 19, 2018 7:47 pm
Seg Nov 19, 2018 7:42 pm
Seg Nov 19, 2018 2:46 pm
Seg Nov 19, 2018 1:48 pm
Seg Nov 19, 2018 11:40 am
zZAndersonZz
francisco barroso
natanael.olimpio
SuperGamer
gilgsjr
NKKF
BRGC
Callyde Jr
luis45
Jp.Game
ueslei16
gcs
dstaroski
McbDJ
MarcosSchultz
Isabela
gilgsjr
dstaroski
dstaroski
dstaroski
francisco barroso
yVIEIRA
NKKF
francisco barroso
henriquegames501
gilgsjr
Manawydan
Zack2
yanayana
MarcosSchultz
MarcosSchultz
MarcosSchultz
Emerson Rebouças
lesgoy
Opiz
NKKF
Tegh
Tegh
Zack2
MarcosSchultz
Dom3000
Dom3000
Luizdanhp
ffabim
gutozardy
diegopds
gilgsjr
Joab Artes Gráficas
SuperGamer
glauco
dstaroski
Valdir dos Santos
igorobm
igorobm
TioUV
TioUV
dstaroski
conceptfac
rZwr
Erivan
francisco barroso
tonCosta3939
Simplizãum S
ninjagamergabriel
Hube
Mago
natanael.olimpio
natanael.olimpio
MarcosSchultz
diegopds
KAYKETHEO27
NKKF
MRX
tonCosta3939
Joab Artes Gráficas
Zack2
Joab Artes Gráficas
francisco barroso
Callyde Jr
dstaroski
Joab Artes Gráficas
Joab Artes Gráficas
clroberto2005
Insurgente
diegopds
diegopds
Tegh
Samuelostgamer
TioUV
NKKF
Simplizãum S
ArysonSantos
Jmspp
gonzaga
Magnatah
conceptfac
francisco barroso
rZwr
MayLeone

[TUTORIAL] Reconstruindo SCP-087-B

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 : 61205
REPUTAÇÃO : 2101
Idade : 22
Á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 : 1153
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 : 61205
REPUTAÇÃO : 2101
Idade : 22
Á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 : 1119
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 : 61205
REPUTAÇÃO : 2101
Idade : 22
Á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 : 1119
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 : 1119
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 : 1119
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 : 1119
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 : 61205
REPUTAÇÃO : 2101
Idade : 22
Á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 : 1007
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 : 61205
REPUTAÇÃO : 2101
Idade : 22
Á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

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

Valewzão o/

codern
Iniciante
Iniciante

PONTOS : 1007
REPUTAÇÃO : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

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