[TUTORIAL] Unity - Scriptable Objects [PT-BR]
2 participantes
Página 1 de 1
[TUTORIAL] Unity - Scriptable Objects [PT-BR]
Olá pessoal, hoje eu vou estar ensinando a vocês a como criar e utilizar Scriptable Objects para spawnar Pre-Fabricados dentro do seu jogo, afinal muitos já me ajudaram aqui e agora é a minha vez de ajudá-los...
Comece Criando um Script Chamado: "SpawnManagerScriptableObject" ,
Agora em seguida, modifique todo o código por este:
Feito isso, salve o script.
Agora crie outro script com o nome "Spawner" ou "ScriptableObjectsSpawn", em seguida cole este código:
Configuração do Objetos Scriptaveis:
// Arraste todos os seus GameObjects referentes a um único GameObject,
Ex
GameObject>Build
GameObject>Children
// Mova o Filho do Game Object para dentro do Pai
Ex:
GameObject>Build>GameObject>Children
*Assim todas as construções, etc irão ficar em apenas em 1 GameObject.
Feito isso, Arraste o GameObject>Build com todos os Filhos para dentro de uma pasta na aba Assets(Isso ira definir o GameObject Como um Prefab), em seguida crie um ScriptableObjects (Assets > Create > ScriptableObjects > SpawnManagerScriptableObject), e o configure de acordo com o seu prefab e a posição do spawn(ScriptableObjectsBuildSpawn), na sua cena do jogo.
Agora na cena do jogo, crie um novo GameObject denominado: ScriptableObjectsBuildSpawn, em seguida copie o valores da posição e rotação do GameObject>Build e o substitua pelo valores que estão no novo GameObject (ScriptableObjectsBuildSpawn), após ter feito isso adicione o Script ScriptableObjectSpawn ou Spawner ao novo GameObject
e arraste o Prefab do GameObject>Build para lá, assim como o Scriptable Object...
*Não se esqueça de remover o Prefab Builds da cena.
Pronto! agora o seu jogo esta trabalhando com Objetos Scriptaveis.
Ref: https://docs.unity3d.com/Manual/class-ScriptableObject.html
.
Comece Criando um Script Chamado: "SpawnManagerScriptableObject" ,
Agora em seguida, modifique todo o código por este:
- Código:
using UnityEngine;
[CreateAssetMenu(fileName = "Data", menuName = "ScriptableObjects/SpawnManagerScriptableObject", order = 1)]
public class SpawnManagerScriptableObject : ScriptableObject
{
public string prefabName;
public int numberOfPrefabsToCreate;
public Vector3[] spawnPoints;
}
Feito isso, salve o script.
Agora crie outro script com o nome "Spawner" ou "ScriptableObjectsSpawn", em seguida cole este código:
- Código:
using UnityEngine;
public class Spawner : MonoBehaviour
{
// The GameObject to instantiate.
public GameObject entityToSpawn;
// An instance of the ScriptableObject defined above.
public SpawnManagerScriptableObject spawnManagerValues;
// This will be appended to the name of the created entities and increment when each is created.
int instanceNumber = 1;
void Start()
{
SpawnEntities();
}
void SpawnEntities()
{
int currentSpawnPointIndex = 0;
for (int i = 0; i < spawnManagerValues.numberOfPrefabsToCreate; i++)
{
// Creates an instance of the prefab at the current spawn point.
GameObject currentEntity = Instantiate(entityToSpawn, spawnManagerValues.spawnPoints[currentSpawnPointIndex], Quaternion.identity);
// Sets the name of the instantiated entity to be the string defined in the ScriptableObject and then appends it with a unique number.
currentEntity.name = spawnManagerValues.prefabName + instanceNumber;
// Moves to the next spawn point index. If it goes out of range, it wraps back to the start.
currentSpawnPointIndex = (currentSpawnPointIndex + 1) % spawnManagerValues.spawnPoints.Length;
instanceNumber++;
}
}
}
Configuração do Objetos Scriptaveis:
// Arraste todos os seus GameObjects referentes a um único GameObject,
Ex
GameObject>Build
GameObject>Children
// Mova o Filho do Game Object para dentro do Pai
Ex:
GameObject>Build>GameObject>Children
*Assim todas as construções, etc irão ficar em apenas em 1 GameObject.
Feito isso, Arraste o GameObject>Build com todos os Filhos para dentro de uma pasta na aba Assets(Isso ira definir o GameObject Como um Prefab), em seguida crie um ScriptableObjects (Assets > Create > ScriptableObjects > SpawnManagerScriptableObject), e o configure de acordo com o seu prefab e a posição do spawn(ScriptableObjectsBuildSpawn), na sua cena do jogo.
Agora na cena do jogo, crie um novo GameObject denominado: ScriptableObjectsBuildSpawn, em seguida copie o valores da posição e rotação do GameObject>Build e o substitua pelo valores que estão no novo GameObject (ScriptableObjectsBuildSpawn), após ter feito isso adicione o Script ScriptableObjectSpawn ou Spawner ao novo GameObject
e arraste o Prefab do GameObject>Build para lá, assim como o Scriptable Object...
*Não se esqueça de remover o Prefab Builds da cena.
Pronto! agora o seu jogo esta trabalhando com Objetos Scriptaveis.
Ref: https://docs.unity3d.com/Manual/class-ScriptableObject.html
.
Re: [TUTORIAL] Unity - Scriptable Objects [PT-BR]
Nice, depois de ver isso recomendo que vejam isso também: https://www.youtube.com/watch?v=raQ3iHhE_Kk
NKKF- ProgramadorMaster
- PONTOS : 4819
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Tópicos semelhantes
» [TUTORIAL] Snake com Unity + C#
» [TUTORIAL] Tutorial Unity 3D Movimentação de Personagem com Botões UI
» [TUTORIAL] DESENHANDO NO UNITY 3D!
» [TUTORIAL] Como colocar videos na unity 3D [UNITY 5]
» Serializar Dictionary no Scriptable Object
» [TUTORIAL] Tutorial Unity 3D Movimentação de Personagem com Botões UI
» [TUTORIAL] DESENHANDO NO UNITY 3D!
» [TUTORIAL] Como colocar videos na unity 3D [UNITY 5]
» Serializar Dictionary no Scriptable Object
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos