Todas las interfaces llevan un nesting q no acabo de entender pero aver n general
pa hacer un elemento nuevo n la UI:
AC Game Editor> Menu> Create new menú
ahí ya marcas tus asuntos y lo tienes q linkear a un nuevo prefab q crees n Unity
Canvas
-Panel
-Boton
(en teoría, a mi solo m funciona si pongo el panel bajo el botón)
En el Canvas:
Scaler con la resolución del proyecto (1920*1080 n mi caso)
Raycaster, Autocorrect, Group y ConstantID por defecto
el Panel Rect Transform q lo ancle, en la UI x defecto parece q lo mejor es anclarlo abajo izq
los Dialogos son un tema aparte, por lo que veo lo mejor es tenerlos anclados al centro
STEAM ACHIEVEMENTS
-Bajar el Steamworks.NET de GitHub. Ejecutar desde el proyecto de unity. Se creara la carpeta Com.rlabeque.noseq.
-En Assets/AdventureCreator/Scripts seleccionaer el archivo AC.asmdef y en el editor: Assembly Definition References pulsar + para añadir una nueva, el com.rlabeque.steamworks.net.asmdef que esta dentro de Assets/com.rlabeque…/Runtime
-En Assets/Scripts/Steamworks.NET, mover el SteamManager a la misma carpeta Runtime de antes
SPRITES
•Spritesheet de la animación se pasa x laighter para mapa de normales. El spritesheet tendrá 1000 de altura el canvas, q es mas o menos la altura completa de 1920*1080, la resolución origional del juego, asi el pj puede ocupar toda la altura sin perder resolución
El largo del spritesheetno debería superar los 16k o el unity lo empieza a comrimir. mejor mienteras mas cuadrado y size multiplo de 2 pa ahorrar recursos de alguna manera q no entendo
Aplanar color n Photoshop seleccionar x color con umbral en 45
Si hay Linea de Borde Blanca entre el color y el lineart x compresion o ctrlc+v chapucero, se puede hacer una capa encima y en krita ponerla en Color HSV, esa capa sobreescribe bastante bien el blanco pero deja el resto de tonos de color y negro de linea igual
•Una vez n Unity:
Nomenclatura pa 4 direcciones _D_U_R_L
Meter Spritesheet y mapa normal.
En el spritesheet cambiar Pixels per Unit a 180 (Solo Jesus), Max Size a tope y Compression a none. Hit Apply
En el mapa normal, cambiar Texture Type por Normal Map y Compression a none. Hit Apply
Abrir el Sprite Editor del spritesheet, dividir y colocar el Pivot en Bottom Center. En el dropdown menú del editor seleccionar Secondary Textures, arrastrar el mapa normal a la casilla Texture y en el dropdown de Name, seleccionar _NormalMap
En las luces hay una casilla de Use Normal Map q se debe activar con una Distance de 0 por alguna razón
ANIMACION
Pilla un frame inicial, arrastra a la hierarchy de la escena y renombra *Character*Sprite. En la pestaña del Adventure Creator hay un Character Wizard, úsalo y usa este Sprite como base, todo x defecto
El Sonido de andar se pone desde el inspector del Character, no desde el de Sound que se crea x defecto
Crear un child vacio a una altura aprox de 7.5 y en el inspector de diálogos, marcarlo como speech placement
preparar las animaciones, al crear personajes el Adventure Creator detecta automáticamente las básicas si siguen una nomenclatura especifica asiq vamo a preparar NombreIdle_D_U_R_L, NombreWalk, NombreTalk… como Standard 2D Animations del Player
Selecciona el Sprite en la hyerarchy y crea todas las animaciones con su nomenclatura en el popup de Animation de la pestaña Componentes
cambiar player
set the Settings Manager’s Player Switching field to Allow, you can assign two separate Player prefabs. Then use the Player: Switch Action to swap them at runtime, checking its Replace old Player’s position? option.
GRAFICOS
Plantar PNG background en la Hierarchy, los JPG pueden hacer artefactos rarunos con la compresion y las cosas
En Adventure Editor pestaña escena crearla without folders.
En Camara pulsar + pa hacer una, y en su correspondiente inspector position eje Z en negativo, 5 o 6 basta, uncheck lock vertical y lock horizontal, marcar constrain y arrastrar el background, marcar Auto-set Ortographic Size pa cuadrar la cámara al jhpg de fondo
En NavMesh pulsar + para crear la walkzone, en inspector Edit Polygon Collider 2D y hacer la zona
Sorting Map para q el pj se haga chico al alejarse y grande al acercarse. Poner todos los visibles q si no no hay forma, + y en el inspector mover el gizmo a lo mas alto de la walkzone, darle a Add area y sale un segundo gizmo q se pone en la de mas abajo. Jugar con las escalas como sea y las marcas po al reves no se xq están asi, marcar affect size y desmarcar affect speed. Desmarcar sorting tb q es una movida obsoleta y la lia q te cagas
Cualquier obstáculo q se quiera poder se añade como Sprite a la hierarchy, marcar el Sort Point en Pivot y ajustar este a donde toca el suelo, es la referencia pa poner al pj adelante o atrás
Project Settings>Graphics>Universal Render Pipeline>General>Transpoarency Sort Mode>Custom Axis
Crea un Polygon Collider hijo del obstáculo pa delimitar la zona prohibida de la walkzone, marca Is Trigger y luego dentro de la NavMesh, busca NavMesh holes y añade el collider
Con el Sprite marcado dentro del menú del Adventure Creator podemos convertirlo directamente en hotspot pulsando n el botón, asi es interactuable
Si 2 Hotspots se solapan, el mas lejano a cámara queda x debajo, pero recuerda q la cámara esta en Z negativo, por lo que el de abajo debe tener Z positivo
File-build profiles-scene list
MUSICA
Hay q usar el menú superior buscar Editor>soundtrack>music strorage y meter la bso de la escena nueva
Luego en el menú del editor Scene Cutscene + nueva on start y en el actionlist editor Sound:play music
En settings al acabar auto-add Save components to game objects
Sombras en el editor de cada Sprite añadir un Shadow Caster 2D
CONVERSACIONES
Desde el AC Game Editor creas Conversation, en ella solo pones las opciones q dira el prota, las activas, inactivas, de 1 solo uso, etc…
Ya en la escena, la opción del NPC de Talk to la linkeas a Dialogue: Start Conversation, arrastras la conversación creada antes y marcas Override Options. Ya puedes manejar el dialogo desde el menú visual
VIDEO
El video hay q proyectarlo sobre un Sprite a modo de pantalla, una vezx hecha la escena crear Sprite 2d cuadrao q cubra la pantalla. En las acciones Engine:Play Movie Clip y en el inspector derl video Update: DSP Time, Render Mode: Material Override y de Renderer el Sprite 2D de pantalla creado
PARTICULAS
añadir al inspector el Script ParticleSwitch y cuando lo quieras activar desde el ActionList usas Object: Send message con el mensaje de Turn On
ANIMACIONES
Para q no se reproduzcan automáticamente, crear un estado empty x defecto y luego llamar la animación desde la Actionlist