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:
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
[Projeto]Simples em Desenvolvimento The Dolls Battle
App continuar rodando (Android)
C# Script de Camera
[ FIND ME ] Game em Desenvolvimento
Scripts !
Bug com mesh na animação
Problema com script
Duvida sobre o unity IAP (compras na google play)
Manager Como fazer um jogo nesse estilo?
Saida Da Unity E Do Furum Por Um Tempo
Testar jogo
Animação da camera no FpsController
[TUTORIAL] MENU PRINCIPAL - UNITY 5 (5.3 ou superior) (Com UI)
[TUTORIAL] Acionar a vibração do dispositivo
Como criar conta de publicador na asset store?
Problema de renderização
Como fazer para aparecer um objeto na tela ao clicar com o mouse ou apertar um botão?
Quando a porta estiver trancada dar tipo uma tremedeira
Sorteio Especial GTA V,HELLO NEIGHBOR,PUBG
SonyVegas com qualidade ruim
Cores invertidas/Estranhas no PC
[RESOLVIDO] Compra de asset
criar um app que atende a vários produtos.
Script para abrir e fechar gaveta
Minimap/Radar/GPS Estilo GTA V
Movimento 8 lados e utilização reflexiva de If e Else If (Resolução Transform).
[PROJETO MOBILE] Defeat the Illuminatis
Programação e autonomia
Client Sincronizar objeto sem ser o player ??? (Networking Unet)
[TUTORIAL] AI Enemy ( Jogos de terror )
[____ADMINISTRAÇÃO____] Por que ninguém responde o seu tópico?
Problema de luz com objetos do ProBuilder
PROCURA-SE DESIGNER 2D e ROTEIRISTA PARA PROJETO EM ANDAMENTO!
[RESOLVIDO] Script para textura 3D
[TUTORIAL] Unity 5 - Como utilizar o Animator
Formação de Equipe - programadores de C# na unity
Participe da Game Jam - Jaaj do canal Amdré Young!
movimento do porsonagen junto com objeto
[RESOLVIDO] Som na lanterna falhando
imagem transparente
[ AJUDA] Estou com problemas para acessar índice de uma Lista e realizar uma acao
Diferentes tamanhos de Textura afeta o desempenho do jogo?
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Emulador em seu jogo como Descobrir
[GAME JAM] Consegue Fazer um jogo em 15 dias ?
[TUTORIAL] Lanterna
Textura em 3 dimensões na Unity 2018.2??????
Script que ao clicar em um objeto, abra um formulário
[RESOLVIDO] como atualizar o status do perfil na conta unity
[Projeto] Line Battle
Como Posso editar Animação Generic mixamo ?
[TUTORIAL] Sistema de EXP, upar níveis, entre outros
[AULA] Estrutura de repetição while e do while
Como fazer um analogico para rotaciona a camera do jogador? android
Como mudar de Scene sem perder os valores das variáveis
Como mudar alguma configuração de acordo com a resolução da tela?
Timer
Precisa-se de Criador de sprites.
Como criar um Reflexo falso como do Sonic Adventure?
Compilando pra android
[AULA] Estrutura de repetição for
[AULA] Listas (List)
Como encurtar e melhorar meu código, elevador(+ dúvida sobre programação em unity)
GetActiveScene
[TUTORIAL] C# .NET | Visual Studio - conexão com banco de dados MySQL
[___COMO UTILIZAR O FÓRUM___] Principais botões e suas funções
[TUTORIAL] MOVIMENTO NA ARMA PARA FICAR MAIS REAL!
(dúvida) fazer o player cair de paraquedas estilo pubg
[TUTORIAL] Como criar cénarios 2D muito rapido e facil.
Porta "bugada"
[TUTORIAL] C# .NET | Cores aleatorias RGB
RECRUTA-SE DESIGNER PARA JOGO ONLINE..
[RESOLVIDO] Script de porta trancada com audio
Animation Fps
[RESOLVIDO] Problema com StartCoroutine
[RESOLVIDO] Erro ao usar DLL/Biblioteca do Mysql
R7 - GOOH (resident evil 7)
[ NONAME ] Procura de pessoas interessadas
FPS - Armas e balas
Voice Chat
Jogo - Board Challenge Free
[RESOLVIDO] Gerenciador de arquivos CSV
Editor de vídeo gratuito.
Erro ao usar WWW na unity
[RESOLVIDO] color.a diminuir gradualmente
Pack de áudio/ efeitos sonoros gratuitos.
[TUTORIAL] Cursor do mouse não aparecer durante o jogo
Se eu fazer uma animação diferente pra cada personagem,vai pesar ?
Como fazer um sistema de se esconder?
Dragon Bones [software]
Auto-Update de forma rápida, simples e barata.
Como fazer um botão Joystick que controle o First Person Controller?
Cloud Save por arquivo binario no google play services
[RESOLVIDO] Como editar o texto que eu selecionar ? - (InputField)
Como verificar uma colisão constante ?
[TUTORIAL] CONFIGURANDO O UNITY PARA COMPILAR PARA ANDROID
Como fazer ótimo FPSController com full body?
Hoje à(s) 6:07 pm
Hoje à(s) 4:49 pm
Hoje à(s) 2:49 pm
Hoje à(s) 2:33 pm
Hoje à(s) 2:17 pm
Hoje à(s) 1:32 pm
Hoje à(s) 11:58 am
Hoje à(s) 11:29 am
Hoje à(s) 9:47 am
Hoje à(s) 7:21 am
Hoje à(s) 6:38 am
Hoje à(s) 4:28 am
Hoje à(s) 1:51 am
Ontem à(s) 8:16 pm
Ontem à(s) 8:14 pm
Ontem à(s) 6:39 pm
Ontem à(s) 3:16 pm
Ontem à(s) 2:25 pm
Ontem à(s) 2:20 pm
Ontem à(s) 2:14 pm
Ontem à(s) 2:04 pm
Ontem à(s) 11:55 am
Qui Jul 19, 2018 5:20 pm
Qui Jul 19, 2018 4:29 pm
Qui Jul 19, 2018 3:13 pm
Qui Jul 19, 2018 2:29 pm
Qui Jul 19, 2018 10:14 am
Qui Jul 19, 2018 10:10 am
Qui Jul 19, 2018 1:11 am
Qua Jul 18, 2018 9:18 pm
Qua Jul 18, 2018 9:13 pm
Qua Jul 18, 2018 8:04 pm
Qua Jul 18, 2018 5:33 pm
Qua Jul 18, 2018 4:28 pm
Qua Jul 18, 2018 4:26 pm
Qua Jul 18, 2018 4:09 pm
Qua Jul 18, 2018 1:52 pm
Qua Jul 18, 2018 11:30 am
Qua Jul 18, 2018 10:10 am
Qua Jul 18, 2018 9:36 am
Ter Jul 17, 2018 11:46 pm
Ter Jul 17, 2018 8:57 pm
Ter Jul 17, 2018 6:44 pm
Ter Jul 17, 2018 5:38 pm
Ter Jul 17, 2018 5:37 pm
Ter Jul 17, 2018 5:34 pm
Ter Jul 17, 2018 3:58 pm
Ter Jul 17, 2018 3:35 pm
Ter Jul 17, 2018 1:51 pm
Ter Jul 17, 2018 12:15 pm
Seg Jul 16, 2018 8:15 pm
Seg Jul 16, 2018 5:01 pm
Seg Jul 16, 2018 4:01 pm
Seg Jul 16, 2018 3:08 pm
Seg Jul 16, 2018 2:11 pm
Seg Jul 16, 2018 1:32 pm
Seg Jul 16, 2018 9:55 am
Dom Jul 15, 2018 11:46 pm
Dom Jul 15, 2018 10:34 pm
Dom Jul 15, 2018 10:32 pm
Dom Jul 15, 2018 10:03 pm
Dom Jul 15, 2018 2:05 pm
Dom Jul 15, 2018 12:42 am
Dom Jul 15, 2018 12:35 am
Sab Jul 14, 2018 11:38 pm
Sab Jul 14, 2018 8:06 pm
Sab Jul 14, 2018 6:54 pm
Sab Jul 14, 2018 4:23 pm
Sab Jul 14, 2018 9:44 am
Sab Jul 14, 2018 9:42 am
Sab Jul 14, 2018 12:58 am
Sex Jul 13, 2018 11:09 pm
Sex Jul 13, 2018 10:20 pm
Sex Jul 13, 2018 8:28 pm
Sex Jul 13, 2018 2:11 pm
Sex Jul 13, 2018 12:39 pm
Sex Jul 13, 2018 11:01 am
Sex Jul 13, 2018 10:31 am
Sex Jul 13, 2018 8:53 am
Qui Jul 12, 2018 11:07 pm
Qui Jul 12, 2018 10:52 pm
Qui Jul 12, 2018 10:14 pm
Qui Jul 12, 2018 9:27 pm
Qui Jul 12, 2018 8:05 pm
Qui Jul 12, 2018 7:33 pm
Qui Jul 12, 2018 7:12 pm
Qui Jul 12, 2018 6:29 pm
Qui Jul 12, 2018 6:11 pm
Qui Jul 12, 2018 5:04 pm
Qui Jul 12, 2018 4:10 pm
Qui Jul 12, 2018 3:41 pm
Qui Jul 12, 2018 3:05 pm
Qui Jul 12, 2018 11:38 am
Qui Jul 12, 2018 10:27 am
Qui Jul 12, 2018 10:27 am
Qui Jul 12, 2018 10:05 am
Qui Jul 12, 2018 9:51 am
Qui Jul 12, 2018 1:16 am
Qua Jul 11, 2018 7:25 pm
FelipeSouza11
FelipeSouza11
hetrodo
Teio
ruanzikaad
Callyde Jr
Dom3000
NKKF
Edw223
Callyde Jr
Callyde Jr
CaioItz
CaioItz
kaufergomi
FelipeSouza11
Unidade3d5
vitorhugo
Tiago95
RafaelSquid1
NKKF
Tegh
Callyde Jr
MRX
natanael.olimpio
LucioHenrique890
Isabela
dstaroski
dstaroski
QueriaStarMorto
Extreme Craft
Mourao
Tegh
LucasF
rafilkl2
vitorhugo
FelipeSouza11
QueriaStarMorto
Tegh
dstaroski
RafaelSquid1
JohnRambo
Callyde Jr
Dom3000
dstaroski
dstaroski
dstaroski
Dom3000
RafaelSquid1
LucioHenrique890
RandomStuff
marciosilva
MRX
natanael.olimpio
andradetd
NKKF
FelipeSouza11
dstaroski
Nalfam
hetrodo
LucioHenrique890
dkrazor
NKKF
Tegh
Tegh
AprDev
NKKF
Tegh
dstaroski
gcs13
gcs13
LucioHenrique890
Nalfam
Tegh
Picode
RafaelSquid1
FelipeGD
igorobm
igorobm
RafaelSquid1
Locodapraça
LucioHenrique890
FelipeGD
FelipeGD
NKKF
Nalfam
NKKF
Eduardoro39
FelipeGD
FelipeGD
FelipeGD
RafaelSquid1
Zack2
NKKF
RafaelSquid1
jhobert77
Tiago95
NKKF
FelipeGD
FelipeGD

[TUTORIAL] Instanciar coisas no Terreno

Ir em baixo

TUTORIAL [TUTORIAL] Instanciar coisas no Terreno

Mensagem por Dom3000 em Qua Mar 14, 2018 10:45 am

óla trago aqui um tuto, de um script que desenvolvi ele instancia coisas no terreno 

segue o script:
Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;


[ExecuteInEditMode]
public class InstanciarObj : MonoBehaviour {

 [Tooltip("A ordem de se começar o instanciamento")]
 public bool Instanciar;
    [Tooltip("isto evita que ocorra um loop infinito caso não consiga instanciar os obj")]
    public int Tentativas;
 [Space(20)]
    [Tooltip("Deleta as arvores instanciadas")]
    public bool DeletarArvores;
    [Tooltip("Deleta as Obj instanciadas")]
    public bool DeletarObj;




 [Space(20)]
 [Tooltip("A quantidade de maxima de obj a ser instanciado")]
 public int MaximoObj=100;


 [Space(5)]
 [Tooltip("a distancia que há entre um obj e o outro")]
 public float DistanciaEntre=2;
 [Space(5)]
 public int Contia;

 [Space(20)]
 [Tooltip("Se sera Intanciado arvores ou obj")]
 public bool InstanciarArvore;
 public bool InstanciarObjs;





 [Space(30)]
 [Tooltip("O area base que começa a Intanciar e termina  instanciamento ")]
 public Vector3 AreaInstanciarInicial=new Vector3 (10, 1000, 10);
 [Space(5)]
 public Vector3 AreaInstanciarFinal=new Vector3 (2400, 1000, 2400);


 [Space(30)]
 [Tooltip("O tamanho minimo do obj a instanciar")]
 public Vector3 TamanhoMinimo = new Vector3 (1, 1, 1);
 [Space(5)]
 [Tooltip("O tamanho maximo do obj a instanciar")]
 public Vector3 TamanhoMaximo=new Vector3 (2, 2, 2);



 [Space(20)]
 [Tooltip("os obj queseram instanciados")]
 public GameObject ArvorePrfab;
 [Space(20)]
 [Tooltip("Os Prefabs dos objs que seram instanciados na cena")]
 public List<GameObject> ObjsCena;
 [Space(5)]
 [Tooltip("da os valoes maximos de obj a serem inatanciados")]
 public List<int> QuantiasObjsCena;










 void Start () {
 
 }
 
 [ExecuteInEditMode]
 void Update () {

 if (Instanciar) {
 
 if (InstanciarArvore) {
 
 InstanciarTree ();
 }


 if (InstanciarObjs) {
 
 InstanciarOBJs ();
 }

 

 if (NaoPossivel) {

 Contia = contiaAnt;

 NaoPossivel = false;
 Tentativas = 0;
 contiasObj = 0;
 }
 
 Instanciar = false;
 
 }








 if (DeletarArvores) {


 for (int d = 0; d < ArvoresInstanciadas.Count; d++) {

 DestroyImmediate (ArvoresInstanciadas[d]);


 }


 ArvoresInstanciadas.RemoveAll (ArvoresInstanciadas.Contains);
 PontosInstanciados.RemoveAll (PontosInstanciados.Contains);
 Contia = 0;



 //DeletarArvores = false;
 }



 if (DeletarObj) {


 for (int d = 0; d < ObjInstanciados.Count; d++) {

 DestroyImmediate (ObjInstanciados[d]);


 }


 ObjInstanciados.RemoveAll (ObjInstanciados.Contains);
 PontosInstanciados.RemoveAll (PontosInstanciados.Contains);
 contiasObj = 0;



 //DeletarArvores = false;
 }





 }

 [Space(50)]
 public List <Vector3> PontosInstanciados;

 bool NaoPossivel;
 int contiaAnt;
 [Space(50)]
 public List<GameObject> ObjInstanciados;
 [Space(10)]
 public List<GameObject> ArvoresInstanciadas;
 [ExecuteInEditMode]
 void InstanciarTree(){
 

 while (Contia < MaximoObj) {



 int Inix = (int)(  Random.Range (AreaInstanciarInicial.x, AreaInstanciarFinal.x));
 int IniZ =   (int)( Random.Range (AreaInstanciarInicial.z, AreaInstanciarFinal.z));





 Vector3 PosiRandom = new Vector3 (Inix, 3000, IniZ);
 
  
 //Debug.Log (PosiRandom.ToString ());


 Vector3 ScaleRandom = new Vector3 ((
 
 Random.Range (TamanhoMinimo.x, TamanhoMaximo.x)),
 Random.Range (TamanhoMinimo.y, TamanhoMaximo.y),
 Random.Range (TamanhoMinimo.z, TamanhoMaximo.z));







 RaycastHit Hit;

 Vector3 PosiRay = new Vector3 (PosiRandom.x, -2000, PosiRandom.z);

 Vector3 PontoDist = new Vector3 (DistanciaEntre, 2000, DistanciaEntre);

 Debug.DrawLine (PosiRandom, PosiRay, new Color (0, 1, 0));

 Tentativas += 1;


 if (Tentativas > 1000) {

 Contia = MaximoObj;
 Debug.Log ("NÃO FOI POSSIVEL CUMPRIR A ORDEM:  Verifique a caixa da cena");
 NaoPossivel = true;
 }

 if (PontosInstanciados.Count == 0) {

 PontosInstanciados.Add (AreaInstanciarInicial);


 }




 for( int p = 0; p < PontosInstanciados.Count; p++){
 

 Vector3 PosiVer = (PontosInstanciados [p] + PontoDist);


 if(PosiRandom.x > PosiVer.x && PosiRandom.z > PosiVer.z){



 if (Physics.Linecast (PosiRandom, PosiRay, out Hit)) {


 Debug.DrawLine (PosiRandom, PosiRay, new Color (1, 0, 0));

 if (Hit.collider.gameObject.GetComponent<SistemaDoChao> ()) {

 //Debug.Log("Aqui");
 GameObject Chao = Hit.collider.gameObject.GetComponent<Terrain>().gameObject;//aqui se verifica o terreno e pega o ponto em que o raycast bate no terreno
 

 if (Chao) { // se chao foi detectado o obj é instanciado

 
 Vector3 Posichao = Hit.point;



 // Intancia arvores
 if (InstanciarArvore) {


 float NRot=Random.Range (0, 360);

 Vector3 Rot = new Vector3 (0, NRot, 0);

 
 GameObject TreeInst = Instantiate (ArvorePrfab, Posichao, Quaternion.Euler (Rot))as GameObject;

 TreeInst.transform.localScale = (ScaleRandom);

 TreeInst.transform.parent = Chao.transform;

 Contia += 1;

 contiaAnt = Contia;

 PontosInstanciados.Add (TreeInst.transform.position);

 ArvoresInstanciadas.Add (TreeInst);

 TreeInst.name = "Arvore " + Contia.ToString();


 Debug.Log ("Arvores Instanciados com Sucesso");

 Tentativas = 0;

 }
 


 // Intancia objs



 }
 }


 }
 }
 }
 }







}





 public int contiasObj;
 bool Proceguir;
 void InstanciarOBJs(){
 

 for(int Obj=0; Obj < ObjsCena.Count; Obj++){

 contiasObj = 0;


 while (contiasObj < QuantiasObjsCena [Obj]) {



 int Inix = (int)(Random.Range (AreaInstanciarInicial.x, AreaInstanciarFinal.x));
 int IniZ = (int)(Random.Range (AreaInstanciarInicial.z, AreaInstanciarFinal.z));





 Vector3 PosiRandom = new Vector3 (Inix, 3000, IniZ);


 //Debug.Log (PosiRandom.ToString ());


 Vector3 ScaleRandom = new Vector3 ((

                         Random.Range (TamanhoMinimo.x, TamanhoMaximo.x)),
                     Random.Range (TamanhoMinimo.y, TamanhoMaximo.y),
                     Random.Range (TamanhoMinimo.z, TamanhoMaximo.z));






 RaycastHit Hit;

 Vector3 PosiRay = new Vector3 (PosiRandom.x, -2000, PosiRandom.z);

 Vector3 PontoDist = new Vector3 (DistanciaEntre, 2000, DistanciaEntre);

 Debug.DrawLine (PosiRandom, PosiRay, new Color (0, 1, 0));

 Tentativas += 1;


 if (Tentativas > 1000) {

 contiasObj = QuantiasObjsCena [Obj];

 Debug.Log ("NÃO FOI POSSIVEL CUMPRIR A ORDEM:  Verifique a caixa da cena");
 NaoPossivel = true;

 }


 if (PontosInstanciados.Count == 0) {

 PontosInstanciados.Add (AreaInstanciarInicial);


 }


 if (!PontosInstanciados.Contains (PosiRandom)) {
 


 for (int p = 0; p < PontosInstanciados.Count; p++) {


 Vector3 PosiVer = (PontosInstanciados [p] + PontoDist);


 if (PosiRandom.x > PosiVer.x && PosiRandom.z > PosiVer.z) {




 if (Physics.Linecast (PosiRandom, PosiRay, out Hit)) {


 Debug.DrawLine (PosiRandom, PosiRay, new Color (1, 0, 0));

 if (Hit.collider.gameObject.GetComponent<SistemaDoChao> ()) {

 //Debug.Log("Aqui");
 GameObject Chao = Hit.collider.gameObject.GetComponent<SistemaDoChao> ().gameObject;


 if (Chao) { // se chao foi detectado o obj é instanciado


 Vector3 Posichao = Hit.point;



 // Intancia obj
 

 float NRotx = Random.Range (0, 360);
 float NRoty = Random.Range (0, 360);
 float NRotz = Random.Range (0, 360);



 Vector3 Rot = new Vector3 (NRotx, NRoty, NRotz);


 GameObject Objinst = Instantiate (ObjsCena [0], Posichao, Quaternion.Euler (Rot))as GameObject;

 Objinst.transform.localScale = (ScaleRandom);

 Objinst.transform.parent = Chao.transform;

 contiasObj += 1;

 PontosInstanciados.Add (Objinst.transform.position);

 ObjInstanciados.Add (Objinst);

 Objinst.name = "Obj " + Obj.ToString () + "/" + contiasObj.ToString ();


 Debug.Log ("Objs Instanciados com Sucesso");

 Tentativas = 0;

 }


 }
 // Intancia objs



 }

 }
 }
 }
 }
 }
 }












}

o script ta bem comentado qualquer duvida só dizer
avatar
Dom3000
Programador

Masculino PONTOS : 2128
REPUTAÇÃO : 188
Idade : 22
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Blender, C#, Unity, Escritor, Game Disiner,...
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Instanciar coisas no Terreno

Mensagem por NKKF em Qua Mar 14, 2018 1:40 pm

Não entendi o porquê de você ter usado o ExecuteInEditMode várias vezes, não era necessário somente um?
avatar
NKKF
ProgramadorMaster

Masculino PONTOS : 1769
REPUTAÇÃO : 370
Idade : 13
Áreas de atuação : Não uso foto de perfil porque não tenho autoestima suficiente.
Respeito as regras :

Ver perfil do usuário http://www.projetounity.esy.es

Voltar ao Topo Ir em baixo

TUTORIAL Re: [TUTORIAL] Instanciar coisas no Terreno

Mensagem por Dom3000 em Qua Mar 14, 2018 4:49 pm

é que nao tava fungando ai meti o executi em tudo kkkk
avatar
Dom3000
Programador

Masculino PONTOS : 2128
REPUTAÇÃO : 188
Idade : 22
Áreas de atuação : canal https://www.youtube.com/watch?v=yvmQEJUfbhQ
Blender, C#, Unity, Escritor, Game Disiner,...
Respeito as regras :

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