beasty-visual-novel / reference / assets.md

Referencia de assets

Cada ScriptableObject que creas con Beasty Visual Novel, su ruta exacta en el menú Create y sus campos principales. Usa esta página como consulta. Los conceptos detrás de estos assets se explican en Conceptos fundamentales.

Cuántos de cada uno

La mayoría de los assets son por historia o por personaje. Unos pocos son singletons para todo el juego.

El andamiaje de assets con el que acaba un proyecto, en la ventana Project

AssetCuántos
VNSettingsExactamente uno, en una carpeta Resources. Creado para ti.
VNContextExactamente uno para todo el juego. Cada historia lo comparte.
LocalizationTableUno para la historia (en el contexto) más una tabla global de UI (en VN Settings).
CharacterVariableSchemaUno, referenciado por el contexto.
QuestCatalogUno, referenciado por el contexto.
VNMusicConfigUno, referenciado por el contexto.
VNTimeConfigUno, arrastrado al BeastyManager. Opcional.
FreeRoamMapGraphUno por escenario. La mayoría de los juegos tiene uno.
DialogueSceneUno por historia o capítulo. Muchos.
StoryGraphUn grafo raíz por escena, más uno por subgrafo. Muchos.
CharacterDefinitionUno por personaje. Muchos.

El VNContext es el que hay que cuidar. Es el mundo compartido, resuelto en tiempo de ejecución a través de VNSettings.gameContext. Tools > Beasty VN > Content > Create Base Assets (intro + FreeRoam map) nunca lo duplica.

Tabla de consulta

AssetMenú CreateQué es
DialogueSceneCreate > Beasty VN > Visual Novel (Dialogue Scene)El asset raíz de una historia.
VNContextCreate > Beasty VN > Story > VN ContextEl mundo compartido: elenco, variables, objetos, misiones.
StoryGraphCreate > Beasty VN > Story > Story GraphUn lienzo de nodos.
VNSettingsCreate > Beasty VN > Config > VN SettingsConfiguración de todo el proyecto.
VNMusicConfigCreate > Beasty VN > Config > Music ConfigLa cola de música para cada modo de la aplicación.
VNTimeConfigCreate > Beasty VN > Config > Time ConfigMomentos del día, horas, días de la semana, estaciones.
CharacterDefinitionCreate > Beasty VN > Characters > Character DefinitionUn personaje.
CharacterVariableSchemaCreate > Beasty VN > Characters > Character Variable SchemaLos campos que tiene cada personaje.
LocalizationTableCreate > Beasty VN > Localization > Localization TableUna grilla de claves por idioma.
FreeRoamMapGraphCreate > Beasty VN > FreeRoam > FreeRoam Map GraphSalas más rutinas de personaje.
QuestCatalogCreate > Beasty VN > Quests > Quest CatalogLas misiones del proyecto.
Los siete tipos de nodoCreate > Beasty VN > Advanced > Nodes > ...Normalmente creados por el grafo, no a mano.

Casi nunca necesitas este menú. Tools > Beasty VN > Setup > Blank Canvas crea el DialogueScene, el VNContext, el LocalizationTable, un StoryGraph raíz y un primer nodo Dialogue en un solo paso. Consulta Menús.

DialogueScene

El asset raíz de una historia. Se muestra en el editor como el campo “Visual Novel”.

CampoSignificado
contextEl VNContext compartido. Si está vacío, recurre al contexto global de VN Settings.
rootGraphEl StoryGraph desde el que arranca la reproducción.
musicOverrideUna cola de música que reemplaza la cola Visual Novel del contexto para esta historia.
scriptFileEl TextAsset .vnbeasty con el que esta escena se sincroniza.

Consulta El grafo de la historia y El script de texto.

VNContext

El único mundo compartido. El elenco, las variables, el diccionario, los objetos, las misiones, las pantallas y la localización viven todos aquí, no en las historias individuales, así que varias DialogueScenes pueden compartirlos.

CampoSignificado
charactersEl elenco: una lista de CharacterDefinition.
variablesTus definiciones de variables (en línea, ver abajo).
characterSchemaEl CharacterVariableSchema que hereda cada personaje.
musicConfigEl VNMusicConfig.
dictionaryEntradas del diccionario (en línea).
localizationLa LocalizationTable de la historia.
languagesLos códigos de idioma que este juego incluye. El índice 0 es el idioma de origen.
screensDefiniciones de pantallas de HUD y overlay.
itemsDefiniciones de objetos (en línea).
questCatalogEl QuestCatalog.

StoryGraph

Un lienzo de nodos: un grafo por escena, más uno por subgrafo.

CampoSignificado
nodesLos nodos en el lienzo.
entryNodeIdDónde arranca la reproducción.
exitOutcomesLas claves de resultado que este grafo puede devolver cuando se usa como subgrafo.

Consulta Subgrafos.

VNSettings

Configuración de todo el proyecto: el contexto global, la tabla de localización de UI, el idioma por defecto, el autoguardado, las ranuras de guardado, la profundidad de retroceso, y las carpetas usadas para resolver nombres de asset en el script de texto. Vive en una carpeta Resources y se lee en tiempo de ejecución.

Ábrelo con Tools > Beasty VN > Settings > Global Settings o Edit > Project Settings > Beasty VN. Cada campo está documentado en VN Settings.

VNMusicConfig

La cola de música para cada modo de la aplicación: mainMenu, visualNovel, freeRoam y custom. Cada cola tiene clips, un mode, un volume y un crossfadeSeconds.

Consulta Audio y música.

VNTimeConfig

Tiempo del juego. Arrástralo al campo Time Config del BeastyManager.

Advertencia Deja ese campo vacío y el sistema de tiempo queda apagado. No se escribe ninguna variable de tiempo y toda condición de tiempo se evalúa como false.

CampoSignificado
modeSlotsOnly (momentos del día con nombre, sin hora) o Clock (un contador de horas).
daypartsLos momentos del día. Cada uno tiene un name y, en modo Clock, un startHour.
hoursPerDaySolo en modo Clock.
weekdaysNombres de los días de la semana, opcionales. Déjalo vacío para desactivarlos.
seasons, daysPerSeasonOpcional.
startDay, startDaypartIndex, startHourEl momento inicial de una partida nueva.

Consulta Tiempo de juego.

CharacterDefinition

Un personaje: su nombre, su aspecto en el escenario y en la UI, sus estadísticas, y su menú de conversación.

CampoSignificado
idEl id estable usado en condiciones, scripts y código.
displayName, nameColor, textColorCómo se dibujan el nombre y la línea.
allowPlayerRenamePermite que el jugador le ponga nombre a este personaje.
categoryMain o Secondary.
tags, aliasesEtiquetas libres; nombres alternativos para mostrar, que una línea puede usar.
expressionsLos sprites de escenario. La clave por defecto es base.
portraitsLos íconos de UI.
deliveryStylesFuente, color y efecto de texto por estado de entrega.
variablesLos campos propios de este personaje, sobre el esquema.
talkMenuLas entradas del menú de conversación.
freeRoamSpriteEl sprite usado en una sala.
listed, listVisibleWhenSi el personaje aparece en la lista de elenco del juego.
showCurrentLocation, showRoutineQué revela la pantalla de perfil.

Consulta Personajes y El menú de conversación.

CharacterVariableSchema

Los campos que tiene TODO personaje. Una lista fields de CharacterVariableField (ver abajo). Un personaje puede sobrescribir el valor por defecto y la visibilidad de un campo del esquema sin cambiar el esquema.

Consulta Personajes.

LocalizationTable

Una grilla de claves por idioma.

CampoSignificado
languagesCódigos de idioma. El índice 0 es el idioma de origen.
entriesUna fila por clave, con una celda por idioma y su estado de traducción.

Hay dos tablas: la tabla de la historia en el VNContext, y la tabla global de UI en VN Settings. Consulta Localización.

FreeRoamMapGraph

Las salas por las que camina el jugador, y las rutinas que deciden quién está parado en ellas.

CampoSignificado
entryRoomIdLa sala en la que empieza una partida nueva.
roomsLos nodos de sala: fondo, fondos condicionales, prefab de sala, botones.
routinesUn CharacterRoutine por personaje.

Asigna el grafo al componente FreeRoamScenario en el Stage. Consulta Salas de mundo libre y Rutinas de personaje.

QuestCatalog

Las misiones del proyecto, en una lista quests. Cada misión tiene un id, un título, un dueño, una categoría, un modo de orden, una recurrencia, condiciones de inicio y fallo, efectos de recompensa y penalización, y sus objetivos.

Consulta Misiones.

Los siete tipos de nodo

Cada tipo de nodo tiene una entrada Create bajo Create > Beasty VN > Advanced > Nodes >:

Dialogue Node, Choice Node, Decision Node, Flow Node, SubGraph Node, Return Node, Talk Menu Node.

Normalmente nunca los usas. Hacer clic derecho en el lienzo del grafo crea el nodo, lo nombra, lo añade al grafo y lo archiva como sub-asset por ti. Las entradas Advanced existen para el caso raro en que necesites un asset de nodo fuera de un grafo. Consulta El grafo de la historia.

Datos en línea: lo que NO es un asset

Cuatro tipos de datos viven dentro del VNContext en vez de ser assets separados. Los editas en la ventana Beasty VN, no en la ventana Project, y nunca creas un archivo para ellos.

Definiciones de variables

Editadas en la pestaña Variables. Una VariableDefinition por variable.

CampoSignificado
keyLa clave en el almacén. Sin prefijo.
kindPlayerInput, Fixed, Enum o Computed.
valueTypeString, Int, Float o Bool.
defaultValueEl valor al inicio de una partida nueva.
promptAtRuntimePedírsela al jugador cuando empieza el juego.
allowedValuesEl dominio de una variable Enum.

Consulta Variables y condiciones y Claves de variables.

Entradas de diccionario

Editadas en la pestaña Dictionary. Una DictionaryEntry por token: key, defaultValue, playerEditable.

Consulta El diccionario.

Definiciones de objetos

Editadas en la pestaña Items.

CampoSignificado
idEl id del objeto. También la clave de inventario item.<id>.
iconEl sprite de inventario.
kindKey o Consumable.
maxQuantityEl tope. Give y Take nunca lo superan ni bajan de 0.
nameKey, descriptionKeyClaves de localización.
onUseuseCondition, cannotUseMessageKey, effects, jumpToScene, jumpToNodeId, consumeAmount.

Consulta Objetos e inventario.

Campos de variable de personaje

Un CharacterVariableField aparece ya sea en el CharacterVariableSchema (todo personaje lo tiene) o en una CharacterDefinition (solo ese personaje lo tiene).

CampoSignificado
keyEl nombre del campo. La clave en el almacén es @char:<id>:<key>.
typeString, Int, Float o Bool.
defaultValueEl valor inicial.
showOnStatsMostrarlo en la pantalla de estadísticas del personaje.
editableDejar que el jugador lo cambie ahí.
clamp, min, max, stepLímites opcionales.

Ver también