Introducción a las herramientas de desarrollo para videojuegos
Introducción
Qué son las herramientas de desarrollo
Herramientas más comunes en el mundo del desarrollo de videojuegos
Dibujando en el editor
Sistema IMGUI y Ciclo de vida de Editor
Controles: creando un botón
Creación de toolbar y gui
Gizmos
Handles
Prácticando en el editor
Shortcuts útiles del editor
Context Menus
Menu Item
Herramientas de Editor
Attributes y Property drawers
Iniciando nuestro custom Editor
Serialized properties
Optimizando nuestro custom editor
Guardar y cargar data de herramientas: json, scriptable objects, txt y csv
Encontrar assets para editor window
Editor windows: mostrando datos en el editor
Editor windows: agregando funcionalidades
Cierre del curso
Cierre del curso
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
¡Es hora de adentrarse en el mundo de los Scriptable Objects y Custom Editors en Unity! Los Scriptable Objects son una poderosa herramienta que te permite almacenar y gestionar datos dentro del editor de Unity de manera eficiente, semejante a un JSON, pero con funcionalidades extendidas. Vamos a crear una base de datos para un juego RPG usando Scriptable Objects y exploraremos cómo expandir sus capacidades para facilitar la gestión de información.
Un Scriptable Object es una clase especial en Unity que actúa como contenedor de datos y nos permite crear instancias reutilizables que no dependen de objetos de juego. Para crear nuestro Scriptable Object, no necesitaremos la clase MonoBehaviour
. Aquí te mostramos cómo iniciar:
using UnityEngine;
[CreateAssetMenu(fileName = "Item", menuName = "Tools/ScriptableItems")]
public class ItemScriptableObject : ScriptableObject
{
// Estructura de datos para ítems
[System.Serializable]
public struct Item
{
public string displayName;
public ItemType itemType;
public Sprite icon;
public int damage;
public int restoreAmount;
}
[SerializeField]
private Item item;
}
public enum ItemType
{
Weapon,
Potion
}
Es esencial estructurar nuestros datos para un fácil acceso y manipulación. En nuestro ejemplo, creamos una estructura Item
que contiene atributos como displayName
, itemType
, icon
, damage
y restoreAmount
. No olvides que para que Unity pueda mostrar estos datos en el inspector, deben ser serializables.
DisplayName
: Nombre visible del ítem.ItemType
: Tipo del ítem, definido por una enumeración (enum
).Icon
: Imagen que representa el ítem.Damage
: Daño del ítem si es un arma.RestoreAmount
: Cantidad restaurada por el ítem si es una poción.Para que Unity reconozca la estructura en el inspector, debe estar marcada con el atributo [System.Serializable]
.
Después de definir el Scriptable Object y sus datos, podemos generarlo y verlo en Unity. Sigue estos pasos para crear instancias y gestionar tus datos:
Crear un nuevo Scriptable Object:
Crear
→ Tools
→ ScriptableItems
. Aparecerá una nueva instancia que puedes personalizar.Modificar los atributos en el Inspector:
DisplayName
, selecciona un ItemType
, elige un Icon
y ajusta los valores de Damage
o RestoreAmount
, según corresponda.Personaliza tus objetos:
Ahora que dominas la creación de Scriptable Objects y estás a un paso de personalizar más tu editor, te animo a seguir explorando y creando tus propios elementos únicos para tu juego RPG. La flexibilidad y potencia de los Scriptable Objects en Unity te permiten manejar distintos tipos de datos con gran eficiencia y control. ¡Buena suerte en tu viaje creativo!
Aportes 3
Preguntas 0
A y si puedes regalar tips para uno poder aprender de mejor manera, para uno poderlo aplicarlo.
Hola maestro me llamo Daniel, yo estaba ya hace mucho tiempo buscando un buen curso de programación de video juegos y de programación enfocado solo en unity, y veo que no fue una mala decisión, de Verdad muchas gracias, Bueno la única recomendación es colocar mas recursos, de resto todo esta cool
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?