[RESOLVIDO] Como spawnar aleatoriamente objetos de uma array
4 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Como spawnar aleatoriamente objetos de uma array
Bom, No titulo n deu pra falar tudo que eu queria ajuda então vou tentar explicar resumidamente...
Eu tenho uma array Chamada De "Obstaculos", E tbm tenho uma array de vector3 que diz onde no eixo Z ela vai spawnar.
Eu queria fazer o seguinte: Primeiro Nessa array de vector3 ir adicionando 50 No eixo Z Ex:
Indice 0: X=0,Y=0,Z=50
Indice 1: X=0,Y=0,Z=100
Indice 2: X=0,Y=0,Z=150
Indice 3: X=0,Y=0,Z=200
E assim Por diante, Por que ? Bem vou Falar resumidamente: ESSA ARRAY TEM 188 ESPAÇOS
E a segunda coisa que eu queria fazer e pegar os Objetos aleatórios da array Obstáculos e spawnar nas posições da array de vector 3
Eu ate tentei fazer um for para isso mais travei ai msm kkkk.
Eu tenho uma array Chamada De "Obstaculos", E tbm tenho uma array de vector3 que diz onde no eixo Z ela vai spawnar.
Eu queria fazer o seguinte: Primeiro Nessa array de vector3 ir adicionando 50 No eixo Z Ex:
Indice 0: X=0,Y=0,Z=50
Indice 1: X=0,Y=0,Z=100
Indice 2: X=0,Y=0,Z=150
Indice 3: X=0,Y=0,Z=200
E assim Por diante, Por que ? Bem vou Falar resumidamente: ESSA ARRAY TEM 188 ESPAÇOS
E a segunda coisa que eu queria fazer e pegar os Objetos aleatórios da array Obstáculos e spawnar nas posições da array de vector 3
Eu ate tentei fazer um for para isso mais travei ai msm kkkk.
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GeracaoProcedural : MonoBehaviour {
public GameObject[] Obstaculos;
public Vector3[] SpawnLocation;
void Start()
{
for (int i = 0; i < SpawnLocation.Length; i++)
{
}
}
}
Última edição por dstaroski em Sex Fev 09, 2018 12:53 pm, editado 1 vez(es) (Motivo da edição : Resolvido)
BRGC- ProgramadorMaster
- PONTOS : 3051
REPUTAÇÃO : 59
Idade : 20
Áreas de atuação : C#, C++, C, Flutter
Respeito as regras :
Re: [RESOLVIDO] Como spawnar aleatoriamente objetos de uma array
BRGC escreveu:Bom, No titulo n deu pra falar tudo que eu queria ajuda então vou tentar explicar resumidamente...
Eu tenho uma array Chamada De "Obstaculos", E tbm tenho uma array de vector3 que diz onde no eixo Z ela vai spawnar.
Eu queria fazer o seguinte: Primeiro Nessa array de vector3 ir adicionando 50 No eixo Z Ex:
Indice 0: X=0,Y=0,Z=50
Indice 1: X=0,Y=0,Z=100
Indice 2: X=0,Y=0,Z=150
Indice 3: X=0,Y=0,Z=200
E assim Por diante, Por que ? Bem vou Falar resumidamente: ESSA ARRAY TEM 188 ESPAÇOS
E a segunda coisa que eu queria fazer e pegar os Objetos aleatórios da array Obstáculos e spawnar nas posições da array de vector 3
Eu ate tentei fazer um for para isso mais travei ai msm kkkk.
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GeracaoProcedural : MonoBehaviour {
public GameObject[] Obstaculos;
public Vector3[] SpawnLocation;
void Start()
{
for (int i = 0; i < SpawnLocation.Length; i++)
{
}
}
}
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GeracaoProcedural : MonoBehaviour {
public GameObject[] Obstaculos;
public Vector3[] SpawnLocation;
void Start()
{
for (int i = 0; i < SpawnLocation.Length; i+=50)
{
}
}
}
NKKF- ProgramadorMaster
- PONTOS : 4817
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: [RESOLVIDO] Como spawnar aleatoriamente objetos de uma array
Acho que vc n entendeu.Souris escreveu:BRGC escreveu:Bom, No titulo n deu pra falar tudo que eu queria ajuda então vou tentar explicar resumidamente...
Eu tenho uma array Chamada De "Obstaculos", E tbm tenho uma array de vector3 que diz onde no eixo Z ela vai spawnar.
Eu queria fazer o seguinte: Primeiro Nessa array de vector3 ir adicionando 50 No eixo Z Ex:
Indice 0: X=0,Y=0,Z=50
Indice 1: X=0,Y=0,Z=100
Indice 2: X=0,Y=0,Z=150
Indice 3: X=0,Y=0,Z=200
E assim Por diante, Por que ? Bem vou Falar resumidamente: ESSA ARRAY TEM 188 ESPAÇOS
E a segunda coisa que eu queria fazer e pegar os Objetos aleatórios da array Obstáculos e spawnar nas posições da array de vector 3
Eu ate tentei fazer um for para isso mais travei ai msm kkkk.
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GeracaoProcedural : MonoBehaviour {
public GameObject[] Obstaculos;
public Vector3[] SpawnLocation;
void Start()
{
for (int i = 0; i < SpawnLocation.Length; i++)
{
}
}
}
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GeracaoProcedural : MonoBehaviour {
public GameObject[] Obstaculos;
public Vector3[] SpawnLocation;
void Start()
{
for (int i = 0; i < SpawnLocation.Length; i+=50)
{
}
}
}
Nessa array de vector3 "SpawnLocation" Existe 188 espaços e para eu n ter que ir adicionando 1 por 1 eu queria automatizar
fazendo assim : Ir adicionando 50 em cada espaço EX:
E tbm tenho uma array de objetos que serão instanciados nas posições da array de SpawnLocation, Mas n simplesmente pegar e spawnar eu queria que ele selecionasse aleatoriamente quais objetos serão instanciados nessas posições.
BRGC- ProgramadorMaster
- PONTOS : 3051
REPUTAÇÃO : 59
Idade : 20
Áreas de atuação : C#, C++, C, Flutter
Respeito as regras :
Re: [RESOLVIDO] Como spawnar aleatoriamente objetos de uma array
:lol!: LOL, Desculpa!
você pode fazer assim:
você pode fazer assim:
- Código:
for (int i = 0; i < 188; i++){
foreach(Vector3 a in SpawnLocation){
a = Vector3.forward * i * 50;
}
}
NKKF- ProgramadorMaster
- PONTOS : 4817
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: [RESOLVIDO] Como spawnar aleatoriamente objetos de uma array
Opa valeu pela dica mas esta dando esse erro:Souris escreveu::lol!: LOL, Desculpa!
você pode fazer assim:
- Código:
for (int i = 0; i < 188; i++){
foreach(Vector3 a in SpawnLocation){
a = Vector3.forward * i * 50;
}
}
Cannot assign to `a' because it is a `foreach iteration variable'
oq pode ser?
BRGC- ProgramadorMaster
- PONTOS : 3051
REPUTAÇÃO : 59
Idade : 20
Áreas de atuação : C#, C++, C, Flutter
Respeito as regras :
Re: [RESOLVIDO] Como spawnar aleatoriamente objetos de uma array
Tente o seguinte:
- Código:
using UnityEngine;
using System.Collections;
public class GeracaoProcedural : MonoBehaviour {
public GameObject[] Obstaculos;
public Vector3[] SpawnLocation;
void Start()
{
for (int i = 0; i < SpawnLocation.Length; i++)
{
SpawnLocation[i] += new Vector3(0,0,50f*i);
}
}
}
Re: [RESOLVIDO] Como spawnar aleatoriamente objetos de uma array
Opa vlw funcionou perfeitamente , Se n for muito incomodo eu queria saber tbm como pegar os objetos da array Obstaculos e spawnar aleatoriamente Nos SpawnLocation.Manawydan escreveu:Tente o seguinte:
- Código:
using UnityEngine;
using System.Collections;
public class GeracaoProcedural : MonoBehaviour {
public GameObject[] Obstaculos;
public Vector3[] SpawnLocation;
void Start()
{
for (int i = 0; i < SpawnLocation.Length; i++)
{
SpawnLocation[i] += new Vector3(0,0,50f*i);
}
}
}
BRGC- ProgramadorMaster
- PONTOS : 3051
REPUTAÇÃO : 59
Idade : 20
Áreas de atuação : C#, C++, C, Flutter
Respeito as regras :
Re: [RESOLVIDO] Como spawnar aleatoriamente objetos de uma array
BRGC escreveu:Opa vlw funcionou perfeitamente , Se n for muito incomodo eu queria saber tbm como pegar os objetos da array Obstaculos e spawnar aleatoriamente Nos SpawnLocation.Manawydan escreveu:Tente o seguinte:
- Código:
using UnityEngine;
using System.Collections;
public class GeracaoProcedural : MonoBehaviour {
public GameObject[] Obstaculos;
public Vector3[] SpawnLocation;
void Start()
{
for (int i = 0; i < SpawnLocation.Length; i++)
{
SpawnLocation[i] += new Vector3(0,0,50f*i);
}
}
}
combinando com o código do amigo talvez funcione desse jeito;
- Código:
void Start()
{
for (int i = 0; i < SpawnLocation.Length; i++)
{
SpawnLocation[i] += new Vector3(0, 0, 50f * i);
for (int x= 0; x < Obstaculos.Length; x++)
{
Obstaculos[x].transform.position = new Vector3(0,0,SpawnLocation[x].z);
}
}
}
}
Última edição por felipehobs1 em Qua Fev 07, 2018 4:59 pm, editado 1 vez(es) (Motivo da edição : correçao de ortografia)
Re: [RESOLVIDO] Como spawnar aleatoriamente objetos de uma array
Beleza, estou aqui para lhe ajudarBRGC escreveu:Opa vlw funcionou perfeitamente , Se n for muito incomodo eu queria saber tbm como pegar os objetos da array Obstaculos e spawnar aleatoriamente Nos SpawnLocation.Manawydan escreveu:Tente o seguinte:
- Código:
using UnityEngine;
using System.Collections;
public class GeracaoProcedural : MonoBehaviour {
public GameObject[] Obstaculos;
public Vector3[] SpawnLocation;
void Start()
{
for (int i = 0; i < SpawnLocation.Length; i++)
{
SpawnLocation[i] += new Vector3(0,0,50f*i);
}
}
}
- Código:
public void Spawnar(){
if (SpawnLocation.Length != 0)
foreach (GameObject a in Obstaculos){
Instantiate(a,SpawnLocation[Random.Range(0,SpawnLocation.Length - 1)],Quaternion.identity);
}
}
EDIT (07/02/18): Caso você queira mudar só a posição
- Código:
if (SpawnLocation.Length != 0)
foreach (GameObject a in Obstaculos){
a.transform.position = SpawnLocation[Random.Range(0,SpawnLocation.Lenght - 1)];
}
Última edição por Souris em Qua Fev 07, 2018 5:06 pm, editado 1 vez(es) (Motivo da edição : Falta de informação && erros em algumas partes nos Scripts.)
NKKF- ProgramadorMaster
- PONTOS : 4817
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: [RESOLVIDO] Como spawnar aleatoriamente objetos de uma array
N funcionou da forma q vc fez, mas eu usei um pouco a cabeça e fiz isso aq:
E funcionou agr e so corrigir alguns bugs E GGWp hehhehe :D
- Código:
for (int i = 1; i < SpawnLocation.Length; i++)
{
SpawnLocation[i] = new Vector3(0, 0, 25 * i);
Instantiate(Obstaculos[Random.RandomRange(0,Obstaculos.Length)], SpawnLocation[i], new Quaternion(0, 0, 0, 0));
}
E funcionou agr e so corrigir alguns bugs E GGWp hehhehe :D
BRGC- ProgramadorMaster
- PONTOS : 3051
REPUTAÇÃO : 59
Idade : 20
Áreas de atuação : C#, C++, C, Flutter
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Como gera objetos aleatoriamente no lugar?
» [RESOLVIDO] Ranking dos jogadores...como ordenar objetos pela ordem do Array
» [RESOLVIDO] Pegar Objetos Filhos e Adicionar em uma Lista ou Array para Usálos como Waypoints
» Como fazer um objeto spawnar por vez em uma array
» como colocar objetos colididos em uma array?
» [RESOLVIDO] Ranking dos jogadores...como ordenar objetos pela ordem do Array
» [RESOLVIDO] Pegar Objetos Filhos e Adicionar em uma Lista ou Array para Usálos como Waypoints
» Como fazer um objeto spawnar por vez em uma array
» como colocar objetos colididos em uma array?
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos