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:
Modelagem de personagem e cenário
[TUTORIAL] Sistema de DIA E NOITE completo, com luzes noturnas e SISTEMA DE NUVENS
Jogo 2d com obstáculos em movimento que quando batem no personagem ele vai para debaixo do chão
Problema com o MonoDevelop
Blender e Unity - Tutorial RPG tutoriais
Blend Tree com Mouse (Ajuda)
Realistic Grass - Test 1
tenho um script que faz o zombie atacar o jogador e tirar vida so que nao esta funcionando alguem pode me ajudar
Como usar uma animação de uma arma animada na Unity...
Pegar Componentes de uma array!
Jogo Dengame na Play Store. (Baixe agora)
problemas ao exportar do sketchup ao unity
Separar um modelo .obj em varios outros pequenos
MIRA DE JOGO DE FPS!
navMash problema com debug.log
MoonthyStudios está recrutando
COMO FAZER JOGO DE FPS!
Velocimetro Digital
Como melhorar desempenho de animações
Ajuda com Script "NullReferenceException: Object reference not set to an instance "
[RESOLVIDO] Cena não abre
[TUTORIAL] Script de pulo para jogos 3D em geral (Unity - C#)
[AJUA] JOGO MUDO SEM SOM!!!
[_____CRONOGRAMA DO CANAL_____]
Sistema CFD com Unity: Simular partículas com colisão em túnel de vento
TELA ROSA NO GAME
Como usar o Multi Touch para movimentar um personagem ?
[DUVIDA] Script Não Funciona
Limite e Volta no transform translate
Duvida com script
Ajudem com efeito "gelatina" em modelos.
Inteligência Artificial
Como fazer 1 Portal
Existe algum tipo de FPSController para android?
Cena Loading para carregar proximo Level
Script cria 3 objetos ao apertar botão uma vez ERROR
Juntar 2 projetos em um unico
[Assets/Scripts] Repositório no Github com sistemas free.
[____TÓPICO LIVRE____] FALE O QUE QUISER
[AJUDA] Carro virando rapido de mais
[RESOLVIDO] Instanciar um objeto como filho
Cor
Laqua - Jogo de slá oque
Jogo para Android, testem por favor
//Script com tuto//
[TUTORIAL] UNITY 5 - Efeito submerso (underwater effect), distorção da água e gotas na tela
[RESOLVIDO] Rádio por distancia
saindo do jogo caso um programa não estiver aberto
QUIOFOBIA DEMO-JOGO DE TERROR INDIE
[RESOLVIDO] Script destruir apenas o objeto que o tem
SISTEMA DE CARGA
[ERRO] Unity Bug Reporter
RIGIDBODY IR PARANDO DE QUICAR
Procurando animador
Sistema de build place
[2 interiores Modelo] + Download Grátis --Para uso comercial!
Pode coolocar os jogos que aprendeu a fazer no youtube a venda?
sistema de combos e danos
PRECISO DE UMA PESSOA QUE DESENHE PERSONAGEM E CENARIO
Modelos 3D
ROLLER BALL DO STANDARD ASSETS
SCRIPT DE INTELIGENCIA ARTIFICIAL PARA ZUMBI, DESVIAR DE OBJETOS E ATACAR JOGADOR
[Resolvido]Trocar cena ao eliminar objetos
Menu Right Click igual Tibia
Sistema de Skins estilo CsGo ou Critical Ops...
[RESOLVIDO] Carro flutuando
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
// RAIN no unity//
[DÚVIDA]Texto Não Aparece Unity 5
Texturização para Game em android
Como fazer aparecer notificações no celular android?
[RESOLVIDO]Erro com script OnTriggerEnter e BoxCollider
[TUTORIAL] Unity 5 - Wheel Collider, veículos, suspensão realista.
Testem meu Jogo de Aventura
[Assets] modelos 3d
[TUTORIAL] Unity 5 - Porta automática
como criar um jogo igual a guitar hero?
(Dúvida) Erro criar sala com Photon.
Dicas para otimizar o meu jogo
Sistema de construção estilo habbo
[ERRO] Fatal Error Unity!!!
Fazer um Certo Ponto da mesh mudar de cor como um botão piscando
PlayerPrefs
Dúvida sobre instantiate!
Footsteps no CharacterController (Unity 5)
Como fazer objetos não atravessar paredes usando transform.Translate?
Quando meu inimigo morre todos morrem, alguem ajuda ?
Asset Store
Mudar cor de um material por Script de forma suave
[Dúvida] Otimização
[DUVIDA] Como utilizar o touch no Android em um jogo 2D
[TUTORIAL] Spawn de objetos aleatorios em lugares aleatorios
Mudança no NavMeshAgent?
Script para saber se ena está ativa ou carregada
Duvida
Inserir uma página da web dentro do meu jogo
[TUTORIAL] Acessar propriedades dos SHADERS através de SCRIPTS
// Sistema de Afogamento//
Inimigo seguir quando ver o player
Hoje à(s) 9:00 am
Hoje à(s) 8:48 am
Hoje à(s) 8:33 am
Hoje à(s) 5:57 am
Hoje à(s) 5:53 am
Hoje à(s) 3:17 am
Hoje à(s) 2:35 am
Hoje à(s) 2:03 am
Hoje à(s) 12:19 am
Ontem à(s) 11:15 pm
Ontem à(s) 9:18 pm
Ontem à(s) 8:42 pm
Ontem à(s) 8:27 pm
Ontem à(s) 8:26 pm
Ontem à(s) 8:25 pm
Ontem à(s) 8:05 pm
Ontem à(s) 5:46 pm
Ontem à(s) 3:53 pm
Ontem à(s) 3:37 pm
Ontem à(s) 3:22 pm
Ontem à(s) 3:18 pm
Ontem à(s) 3:15 pm
Ontem à(s) 3:11 pm
Ontem à(s) 3:08 pm
Ontem à(s) 3:05 pm
Ontem à(s) 2:53 pm
Ontem à(s) 2:52 pm
Ontem à(s) 2:51 pm
Ontem à(s) 2:39 pm
Ontem à(s) 2:38 pm
Ontem à(s) 2:25 pm
Ontem à(s) 2:25 pm
Ontem à(s) 2:24 pm
Ontem à(s) 2:21 pm
Ontem à(s) 2:16 pm
Ontem à(s) 12:32 pm
Ontem à(s) 9:17 am
Ontem à(s) 4:13 am
Ontem à(s) 12:07 am
Dom Fev 26, 2017 6:34 pm
Dom Fev 26, 2017 2:15 pm
Dom Fev 26, 2017 1:51 pm
Dom Fev 26, 2017 10:42 am
Dom Fev 26, 2017 10:32 am
Dom Fev 26, 2017 10:09 am
Dom Fev 26, 2017 5:38 am
Dom Fev 26, 2017 5:27 am
Dom Fev 26, 2017 5:24 am
Dom Fev 26, 2017 4:59 am
Dom Fev 26, 2017 4:33 am
Sab Fev 25, 2017 7:02 pm
Sab Fev 25, 2017 6:30 pm
Sab Fev 25, 2017 6:27 pm
Sab Fev 25, 2017 3:13 pm
Sab Fev 25, 2017 3:50 am
Sex Fev 24, 2017 11:38 pm
Sex Fev 24, 2017 10:38 pm
Sex Fev 24, 2017 10:10 pm
Sex Fev 24, 2017 9:31 pm
Sex Fev 24, 2017 8:40 pm
Sex Fev 24, 2017 8:39 pm
Sex Fev 24, 2017 7:26 pm
Sex Fev 24, 2017 7:17 pm
Sex Fev 24, 2017 6:12 pm
Sex Fev 24, 2017 3:54 pm
Sex Fev 24, 2017 9:44 am
Qui Fev 23, 2017 2:50 pm
Qui Fev 23, 2017 12:06 pm
Qua Fev 22, 2017 11:32 pm
Qua Fev 22, 2017 8:27 pm
Qua Fev 22, 2017 8:19 pm
Qua Fev 22, 2017 3:15 pm
Qua Fev 22, 2017 9:18 am
Qua Fev 22, 2017 12:36 am
Ter Fev 21, 2017 8:45 pm
Ter Fev 21, 2017 4:40 pm
Ter Fev 21, 2017 11:42 am
Ter Fev 21, 2017 11:25 am
Seg Fev 20, 2017 10:43 pm
Seg Fev 20, 2017 10:00 pm
Seg Fev 20, 2017 9:04 pm
Seg Fev 20, 2017 9:02 pm
Seg Fev 20, 2017 9:00 pm
Seg Fev 20, 2017 8:56 pm
Seg Fev 20, 2017 8:49 pm
Seg Fev 20, 2017 8:46 pm
Seg Fev 20, 2017 8:44 pm
Seg Fev 20, 2017 8:42 pm
Seg Fev 20, 2017 8:40 pm
Seg Fev 20, 2017 8:36 pm
Seg Fev 20, 2017 8:28 pm
Seg Fev 20, 2017 8:25 pm
Seg Fev 20, 2017 8:23 pm
Seg Fev 20, 2017 8:19 pm
Seg Fev 20, 2017 8:14 pm
Seg Fev 20, 2017 8:12 pm
Seg Fev 20, 2017 7:37 pm
Seg Fev 20, 2017 3:35 pm
Seg Fev 20, 2017 3:19 pm
KNouT
glauco
Jogos mini
Callyde Jr
Callyde Jr
wender
Madness
wender
artplayer
rafaelllsd
Hardencio
thiagograssi
lucasfera15
lucasfera15
dstaroski
dstaroski
PauloFR
Junim
sabbath
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
thiagograssi
AndyShow
dimmuo
PauloFR
Junim
PauloFR
richerd
dstaroski
dstaroski
Zecandy
Aprendiz
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
AndyShow
diogodavilafernandes
AndyShow
MateusWTP
zBanidor
AndyShow
joabr
Junim
lucasfera15
PauloFR
PauloFR
AndyShow
weslleyFx
AndyShow
MarcosSchultz
Zecandy
Blue Ark
DoctorGame15
PauloFR
PauloFR
Fábiow775
MateusWTP
PauloFR
silva75
thiagograssi
rafaelllsd
MarcosSchultz
Luiz Mauro TCC
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
CanabravaBR
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
MarcosSchultz
Zecandy
AndyShow

[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)

MarcosSchultz
Administrador

Masculino PONTOS : 7882
REPUTAÇÃO : 1082
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 : 502
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

MarcosSchultz
Administrador

Masculino PONTOS : 7882
REPUTAÇÃO : 1082
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 : 468
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

MarcosSchultz
Administrador

Masculino PONTOS : 7882
REPUTAÇÃO : 1082
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 : 468
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 : 468
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 : 468
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 : 468
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:


MarcosSchultz
Administrador

Masculino PONTOS : 7882
REPUTAÇÃO : 1082
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 : 356
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:


MarcosSchultz
Administrador

Masculino PONTOS : 7882
REPUTAÇÃO : 1082
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 : 356
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