[TUTORIAL] Reconstruindo SCP-087-B
4 participantes
Página 1 de 1
[TUTORIAL] Reconstruindo SCP-087-B
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:
===================================================================================
Segunda Aula:
Scripts:
===================================================================================
Terceira Aula:
Shader:
Scripts:
SE VOCÊ ESTIVER USANDO A UNITY 5:
Primeira Aula:
Scripts:
===================================================================================
Segunda Aula:
Scripts:
===================================================================================
Terceira Aula:
Shader:
SCRIPTS:
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)
Re: [TUTORIAL] Reconstruindo SCP-087-B
Acho que vc poderia colocar o Script com link para download.
Mario Elui- Iniciante
- PONTOS : 3325
REPUTAÇÃO : 0
Re: [TUTORIAL] Reconstruindo SCP-087-B
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
- PONTOS : 3293
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Reconstruindo SCP-087-B
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
Re: [TUTORIAL] Reconstruindo SCP-087-B
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
- PONTOS : 3293
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Reconstruindo SCP-087-B
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
- PONTOS : 3293
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Reconstruindo SCP-087-B
consegui coloquei o jump speed para 0, rs
walney- Iniciante
- PONTOS : 3293
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Reconstruindo SCP-087-B
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
- PONTOS : 3293
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Reconstruindo SCP-087-B
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:
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:
Re: [TUTORIAL] Reconstruindo SCP-087-B
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:
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
- PONTOS : 3179
REPUTAÇÃO : 0
Re: [TUTORIAL] Reconstruindo SCP-087-B
:D Obrigado pelo Suporte man, eu consegui aqui. Aprendi a usar o Sketchup e importar no Unity certinho.
Valewzão o/
Valewzão o/
codern- Iniciante
- PONTOS : 3179
REPUTAÇÃO : 0
Tópicos semelhantes
» [TUTORIAL] Introdução para iniciante e tutorial de Click move com raycast
» [TUTORIAL] Tutorial criar game framework/engine do zero com JWJGL Java
» [TUTORIAL] Como spawnar inimigos [Tutorial simples]
» [TUTORIAL] Tutorial Unity 3D Movimentação de Personagem com Botões UI
» Tutorial ?
» [TUTORIAL] Tutorial criar game framework/engine do zero com JWJGL Java
» [TUTORIAL] Como spawnar inimigos [Tutorial simples]
» [TUTORIAL] Tutorial Unity 3D Movimentação de Personagem com Botões UI
» Tutorial ?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos