-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
3 lines (3 loc) · 22.4 KB
/
index.html
1
2
3
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><meta name="exporter-version" content="Evernote Mac 7.14 (458244)"/><meta name="author" content="[email protected]"/><meta name="created" content="2020-09-29 20:00:45 +0000"/><meta name="source" content="desktop.mac"/><meta name="updated" content="2020-10-02 22:08:42 +0000"/><title>index</title></head><body><div style="text-align: left;"><div><br/></div><table style="border-collapse: collapse; min-width: 100%;"><colgroup><col style="width: 899px;"/></colgroup><tbody><tr><td style="border: 1px solid rgb(204, 204, 204); width: 899px; padding: 8px;"><div><span style="font-size: 24px; font-weight: bold;">TALLER SONORIZACIÓN ADVENTURE GAME</span></div><div><span style="font-size: 12px;">Clase: Sonorización de videojuegos</span></div><div><span style="font-size: 12px;">Ricardo A Moreno</span></div></td></tr><tr><td style="border: 1px solid rgb(204, 204, 204); width: 899px; padding: 8px;"><div style="text-align: center;"><img src="index.html.resources/81CEB009-0E79-4B71-B2B8-416B0C0E24B3.jpg" height="459" width="785"/><br/></div></td></tr><tr><td style="width: 899px; padding: 8px; border: 1px solid;"><div><br/></div><div>Este proyecto de videojuego es de tipo (Point and click) significa que toda su interacción se realiza a través del mouse y se requiere hacer clic en distintas zonas de la escena para moverse e interactuar con los objetos. Involucra dos escenas a través de las cuales se deben recolectar algunos objetos para guardarlos en el inventario del personaje.</div></td></tr><tr><td style="width: 899px; padding: 8px; border: 1px solid;"><div style="text-align: justify;">Para sonorizar el videojuego primero debemos crear un nuevo proyecto 3D en Unity y realizamos la importación del archivo <span style="font-weight: bold;">adventureunity.package </span>en la carpeta de assets.</div><div style="text-align: justify;"><div><br/></div><div><br/></div></div><div style="text-align: center;"><img src="index.html.resources/93CFFAA3-CEAD-4F11-9E4B-28BC95834364.png" height="266" width="582"/><br/></div><div><br/></div><div>Verificamos que todos los elementos estén seleccionados (All) y luego damos clic en import.</div><div style="text-align: center;"><img src="index.html.resources/5B86969E-A572-4AE1-9047-C5C18B6C295F.png" height="398" width="447"/><br/></div></td></tr><tr><td style="border: 1px solid rgb(204, 204, 204); width: 899px; padding: 8px;"><div>Una vez que se han importado todos los elementos, vamos a la carpeta de escenas donde encontraremos las escenas “Market”, “Security Room” y “Persistent”, esta ultima es la escena principal que se encarga de manejar y cambiar entre las otras dos. Por lo tanto damos doble clic para que cargue todos sus elementos en la jerarquía y luego ejecutamos dando play.</div><div><br/></div><div style="text-align: center;"><img src="index.html.resources/F87A7DBF-A71F-42D0-9F08-BA762AC878D7.png" height="640" width="800"/><br/></div><div><br/></div><div>Si al ejecutar aparece el mensaje de error "<span style="font-style: italic;">Scene 'SecurityRoom' couldn't be loaded because it has not been added to the build settings or the AssetBundle has not been loaded</span>”. Debemos primero añadir las escenas en el menú build settings de Unity.</div><div><br/></div><div style="text-align: center;"><img src="index.html.resources/226A9407-8927-4DE6-BC14-D236276B876C.png" height="461" width="800"/><br/></div><div><br/></div><div>Luego de arrastrar las escenas “market" y "security Room" podemos cerrar la ventana de Buid Settings y volver a ejecutar la escena “persistent”, ahora se deberá ejecutar sin errores como se ve en la siguiente imagen.</div><div><br/></div><div style="text-align: center;"><img src="index.html.resources/79933080-2427-4E3B-AD29-C40B7FA76726.png" height="651" width="800"/><br/></div><div><br/></div><div>Para tener un mejor rendimiento y liberar recursos del equipo podemos reducir el detalle gráfico de la escena en el menú Project Settings, se desplegara una ventana donde tenemos los diferentes ajustes de calidad de la escena, podemos bajarlo a Low o Very Low. Verifique que la opción quede seleccionada y marcada con la casilla de verificación en verde.</div><div><br/></div><div style="text-align: center;"><img src="index.html.resources/F05A4E43-9087-4D19-9C85-04C3F7314727.png" height="334" width="800"/> </div></td></tr><tr><td style="border: 1px solid rgb(204, 204, 204); width: 899px; padding: 8px;"><div><br/></div><div><span style="font-weight: bold;">Sonorizando el proyecto:</span></div><div><br/></div><div>Crearemos un Folder llamado “Soundbank” en la carpeta de assets para colocar todos los archivos de audio que usara el proyecto, y dentro de este, podemos crear subfolder para cada categoría, principalmente Efectos (FX), Ambientes (BG), Musica (MX) y Dialogos (DX)</div><div><br/></div><div style="text-align: center;"><img src="index.html.resources/40213848-ECD8-4A12-9AED-CDDEDB1C655F.png" height="651" width="800"/><br/></div><div><br/></div></td></tr><tr><td style="border: 1px solid rgb(204, 204, 204); width: 899px; padding: 8px;"><div><span style="font-weight: bold;">Efectos Sonoros del proyecto: </span></div><div><br/></div><div><span style="font-weight: bold;">Footsteps: </span></div><div><br/></div><div>Para añadir los pasos al personaje usaremos una técnica diferente a la trabajada anteriormente en clase, para este caso usaremos la animación del personaje al caminar y definiremos dos eventos que funcionaran como triggers con cada paso del personaje. Para realizar dicha configuración nos dirigimos a la siguiente ruta en la ventana project: </div><div><br/></div><div>Assets/Animations/Player/Walk</div><div><br/></div><div>En el inspector del objeto walk, se mostrara la animación de caminado.</div><div><br/></div><div style="text-align: center;"><img src="index.html.resources/2020-09-30_19-33-36%20(1).png" height="360" width="592"/><br/></div><div><br/></div><div>Luego en el inspector de la animación buscamos la sección de Events y desplegamos sus opciones, aparecerá una especie de linea de tiempo que estará sincronizada con el cursor de la animación. </div><div><br/></div><ol><li><div>Con la animación detenida, movemos el cursor hasta que el personaje de el primer paso, aproximadamente en 0:33 segundos y damos click en el botón + ubicado debajo de Events</div></li><li><div>En el campo denominado Function, colocamos el nombre “Step” que corresponde al nombre de la función que será ejecutada desde el script de pasos. Luego damos click en el botón Apply.</div></li><li><div>Repetimos el mismo proceso para el segundo paso que da el personaje aproximadamente en 0.85 segundos.</div></li></ol><div><br/></div><div style="text-align: center;"><img src="index.html.resources/67629ABE-CB81-4AE5-9C86-BD667722802F.png" height="518" width="878"/><br/></div><div><br/></div><div>Luego procedemos a copiar el script “AdventureFootSteps.cs" en la carpeta de scripts del proyecto.</div><div><br/></div><div><a href="index.html.resources/AdventureFootSteps.cs">AdventureFootSteps.cs</a></div><div><br/></div><div>Una vez copiado el script, debemos ir a la carpeta de escenas y montar la escena “Security Room", luego en la jerarquía seleccionamos el objeto player que corresponde al personaje principal, y en el inspector del mismo, añadimos un componente de tipo scripts y seleccionamos el script “AdventureFootSteps”.</div><div><br/></div><div style="text-align: center;"><img src="index.html.resources/42DCD95A-9568-4BD9-8FB5-39A811477EE6.png" height="464" width="800"/><br/></div><div><br/></div><div>El script contiene la lógica para seleccionar aleatoriamente un audioclip del array que corresponda a la superficie que pisa el personaje, esto sucederá cada vez que se genere un evento “Step" desde la animación de caminado que se configuro anteriormente. </div><div><br/></div><div>Para que el script de pasos pueda reproducir los diferentes audio clips, se deberá crear en el mismo player, un componente de tipo audiosource y asignarlo en el campo FootAudioSource.</div><div><br/></div><div><br/></div><div style="text-align: center;"><img src="index.html.resources/2EDBE9A0-EC2A-43B7-87E5-C087AB0A55C4.png" height="452" width="523"/><br/></div><div><br/></div><div><br/></div><div>Previamente hayamos editado las diferentes muestras de pasos, al menos 4 por superficie, copiamos los audio files en la carpeta “soundbank / footsteps y luego los arrastramos al respectivo array en el script. Como ejemplo hemos asignado 4 versiones de paso al array Default Steps, recordemos que dicho array se ejecutara por defecto para cualquier superficie que no tenga etiqueta, serán los pasos generales del personaje.</div><div><br/></div><div style="text-align: center;"><img src="index.html.resources/3B090BF1-1D51-453D-A4FD-D5933EC6CD43.png" height="461" width="800"/><br/></div><div><br/></div><div><br/></div><div>Para realizar la comprobación vamos de nuevo a la carpeta de Scenes y cargamos la escena Persistent, damos play y luego clic sobre algún punto de la escena para que el personaje se mueva y la animacion accione los pasos.</div><div><br/></div><div>Ahora realizaremos la configuración para cambiar el sonido de pasos cuando el personaje este sobre la superficie de la alfombra roja. Para esto prepararemos 4 muestras de paso que copiaremos en la carpeta del banco sonoro y luego los arrastramos al array “Carpet Steps”</div><div><br/></div><div style="text-align: center;"><img src="index.html.resources/4700F8E1-0E80-4D23-BAF4-966AC30A39A6.png" height="462" width="800"/><br/></div><div><br/></div><div>Luego procedemos a seleccionar el objeto Carpet correspondiente a la alfombra roja que se ve en la escena, siguiendo la ruta que se observa en la jerarquía de la siguiente imagen.</div><div><br/></div><div>En el inspector del objeto Carpet agregamos un nuevo componente de tipo Physics / Box Collider, este permitirá detectar la colisión del personaje con la superficie, una vez agregado, marcamos la opción is Trigger.</div><div><br/></div><div style="text-align: center;"><img src="index.html.resources/26AE6648-9DB9-43A0-88D6-40BB94F78565.png" height="465" width="800"/><br/></div><div style="text-align: center;"><br/></div><div>Por ultimo agregamos a la alfombra, una etiqueta con el nombre “<span style="font-weight: bold;">carpet</span>”, esta etiqueta será el elemento que detecta el script para generar el cambio del array a Carpet Steps.</div><div><br/></div><div style="text-align: center;"><img src="index.html.resources/7F4157FA-7224-4F74-82DC-1D04668E7CD0.png" height="204" width="440"/><br/></div><div><br/></div><div style="text-align: center;"><img src="index.html.resources/9868FACC-ED12-49E6-95BB-0576AAE8622A.png" height="184" width="476"/><br/></div><div><br/></div><div style="text-align: center;"><img src="index.html.resources/C07622D4-5E3E-4711-948B-9FF5FD99E497.png" height="216" width="438"/><br/></div><div><br/></div><div>Para que el personaje sea detectado por los triggers y genere el cambio de pasos debemos agregar los componentes Rigibody y Capsule Collider al player y los configurarlos como se observa en el recuadro rojo de la siguiente imagen: </div><div><br/></div><div style="text-align: center;"><img src="index.html.resources/599657E7-A99B-4E50-A804-A50F21D931B1.png" height="462" width="800"/><br/></div><div style="text-align: center;"><br/></div><div style="text-align: center;"><img src="index.html.resources/F8A5F6A7-DBBD-4AAB-8252-BEACAA0B34B7.png" height="163" width="450"/><br/></div><div style="text-align: center;"><br/></div><div>Realizamos la verificación, guardando los cambios en la escena actual y volviendo a la escena persistent, ejecutamos la escena y movemos el personaje, debe generarse el cambio en la sonoridad de los pasos al caminar sobre las diferentes superficies.</div><div><br/></div></td></tr><tr><td style="border: 1px solid rgb(204, 204, 204); width: 899px; padding: 8px;"><div>Para agregar los pasos en la escena “<span style="font-weight: bold;">Market"</span>, realizamos el mismo proceso que en la escena "<span style="font-weight: bold;">Security Room</span>”, teniendo en cuenta que en esta escena habrán 3 tipos de superficies:</div><div><br/></div><div style="text-align: center;"><img src="index.html.resources/74900034-AAA0-4EEE-A8A4-0AF1FB2B5D8E.png" height="461" width="800"/><br/></div><div><br/></div><div>Para el caso de la superficie 3 que esta compuesta por 3 secciones, podemos dar clic derecho y adicionar objetos vacíos como hijos del objeto principal llamado “GroundTiles”, luego los renombrados como sección1, sección2 y sección3.</div><div><br/></div><div style="text-align: center;"><img src="index.html.resources/80D63C08-5338-4075-8AB1-408DFAEAE66F.png" height="357" width="669"/><br/></div><div><br/></div><div>En el inspector de cada una de las secciones creadas, añadimos un componente de tipo "box collider" y lo ajustamos a las dimensiones de la superficie que se desea cubrir. Deberán quedar unos recuadros verdes por cada sección al nivel del terreno delimitando las zonas de interacción.</div><div><br/></div><div style="text-align: center;"><img src="index.html.resources/87417700-737A-429D-A18A-35AE8DDC9C27.png" height="431" width="800"/><br/></div><div><br/></div><div>Luego creamos y añadimos una nueva etiqueta a cada sección, para este ejemplo deberá nombrarse “tile”</div><div><br/></div><div style="text-align: center;"><img src="index.html.resources/83008F9E-F61F-4A09-9E96-9E3D31A41D44.png" height="401" width="800"/><br/></div><div style="text-align: center;"><br/></div><div>Agregamos las muestras de pasos en el array “Tile Steps" y comprobamos su funcionamiento lanzando la escena “Persistent”.</div><div><br/></div><div><img src="index.html.resources/13B43BFD-FC33-45BE-BCB3-6601AEB9D4BE.png" height="390" width="382"/><br/></div><div><br/></div></td></tr><tr><td style="border: 1px solid rgb(204, 204, 204); width: 899px; padding: 8px;"><div><span style="font-weight: bold;">AUDIO-MANAGER</span></div><div><br/></div><div>En cada una de las escenas del proyecto hay una serie de objetos que reaccionan a las interacciones del personaje principal, se identifican en la jerarquía de la escena porque están nombrados con la terminación Interactable.</div><div><br/></div><div><img src="index.html.resources/9A80CC8A-3834-4BAE-A0A3-70272E8C6ED8.png" height="176" width="317"/><br/></div><div><br/></div><div>Cada uno de estos objetos puede tener una o varias reacciones que responden con animaciones, textos, audios, etc. Para el caso de los audios se identificaran como "Audio Reaction". Por ejemplo, si seleccionamos el objeto “DoorToMarketInteractable” que corresponde a la puerta que comunica el escenario del “<span style="font-style: italic; font-weight: bold;">security Room</span>” con el escenario “<span style="font-weight: bold; font-style: italic;">market</span>”. Si desplegamos el objeto, veremos que tiene un objeto hijo denominado “DefaultReaction”, luego, en el inspector de dicho objeto veremos que existen dos reacciones: </div><div><br/></div><div style="text-align: center;"><img src="index.html.resources/A396504C-6541-4E4D-9A47-A5824BC6F892.png" height="376" width="749"/><br/></div><div><br/></div><div><span style="font-weight: bold;">FX</span></div><div><br/></div><div> En la casilla audio Clip del Audio Reaction, agregamos el efecto sonoro correspondiente a la puerta, por ejemplo:</div><div><br/></div><div><a href="index.html.resources/puerta%20neumatica.wav">puerta neumatica.wav</a></div><div><br/></div><div>Este audioclip se reproducirá a través del audio source asignado, por defecto FX(audio source), dicho audiosource se encuentra como un componente del objeto <b><i>“AudioParent"</i></b> que es el encargado de recibir todos los audioclips de tipo FX(efecto), VO(dialogo) y Ambient(ambiente) en cada escena.</div><div><img src="index.html.resources/8205ECD8-6872-4163-BE90-3619EDAF4EB8.png" height="249" width="820"/><br/></div><div><br/></div><div><span style="font-weight: bold;">Ambient</span></div><div><br/></div><div>Para los sonidos de ambiente se recomienda usar capas, para el caso del ambiente de la escena Security Room diseñamos un loop no inferior a 30 seg con cuatro capas correspondientes a diferentes Room tones + una capa de sonidos de maquinas, equipos de computo y telecomunicaciones. </div><div><br/></div><div><img src="index.html.resources/D017C4D3-C009-48CD-BE4E-D6C11415AC77.png" height="321" width="894"/><br/></div><div><b>Nota</b>: se debe evitar los fade in y fade out y verificar que el loop no presente discontinuidades en los puntos de inicio o fin. Los ambientes se exportan en estéreo para conservar la espacialidad.</div><div><br/></div><div><a href="index.html.resources/BG%20Security%20Room.ogg">BG Security Room.ogg</a></div><div><br/></div><div>Para asignar el sonido ambiente usamos el audiosource “<b><i>Ambient</i></b>" contenido en el objeto “<b><i>AudioParent</i></b>" de cada escena. Verificamos que el parámetro AudioBlend este en 2D y que estén activas las opciones Play On Awake y Loop, para que el audioclip inicie con el lanzamiento de la escena.</div><div><br/></div><div><img src="index.html.resources/EE589546-74C5-4496-B67F-49A47098012A.png" height="497" width="514"/><br/></div><div><br/></div><div><span style="font-weight: bold;">MX</span></div><div><br/></div><div>Para asignar la música al juego, podemos agregar un audiosource nuevo en cada escena, sin embargo, en la escena Persistent está el objeto “<b><i>BackgroundMusic</i></b>", este contiene el audio source para reproducir la música de forma global, sin que genere interrupciones al cambiar de escena en modo play.</div><div><br/></div><div><a href="index.html.resources/Music%20LoopOgg.ogg">Music LoopOgg.ogg</a></div><div><br/></div><div>Usamos un loop musical de al menos 1 minuto para que no resulte monótono y lo configuramos con los parámetros spatialblend 2D, playOnAwake y modo Loop.</div><div><br/></div><div><img src="index.html.resources/D835846A-4201-4C55-9708-7ECBE229ACE0.png" height="497" width="517"/><br/></div><div><br/></div><div><br/></div></td></tr><tr><td style="border: 1px solid rgb(204, 204, 204); width: 899px; padding: 8px;"><div><span style="font-weight: bold;">VO FX. (Escena Market)</span></div><div><br/></div><div>En algunos objetos interactivos las reacciones combinan texto, dialogo y efectos, como por ejemplo en la maquina de vending en la escena <b><i>Market</i></b>. En una de las maquinas hay una moneda que el jugador deberá recolectar, al hacer click sobre la moneda el personaje reaccionara con un subtitulo y un dialogo de sorpresa, seguido de un efecto sonoro para confirmar que la moneda fue guardada en el inventario.</div><div><br/></div><div><a href="index.html.resources/oh%20una%20moneda.wav">oh una moneda.wav</a></div><div><a href="index.html.resources/coin.wav">coin.wav</a></div><div><br/></div><div>Para asignar los audio clips, seleccionamos el objeto “<b><i>ConInteractable</i></b>" y desplegamos las AudioReaction en el inspector, podemos observar que hay tres, una para el dialogo VO, otra para el efecto FX, y otra adicional para el texto que aparecerá como un subtitulo. Observe que la reacción del efecto posee un Delay de 1 segundo, esto para evitar que el efecto se superponga al dialogo, podemos ajustar dicho valor de acuerdo a la duración de los audio clips y al tiempo de la animacion.</div><div><br/></div><div><img src="index.html.resources/5980C7A5-85A9-4F4D-83D7-B0490853C4A1.png" height="622" width="516"/><br/></div></td></tr><tr><td style="border: 1px solid rgb(204, 204, 204); width: 899px; padding: 8px;"><div><span style="font-weight: bold;">CONFIGURACIÓN DEL AUDIO MIXER</span></div><div><br/></div><div>Estando ubicados en la carpeta Soundbank del proyecto damos clic derecho / crear / audio mixer.</div><div><br/></div><div><b><img src="index.html.resources/2AEC1A1C-4884-4855-A24E-05BF5FF19D57.png" height="409" width="762"/><br/></b></div><div><br/></div><div>Una vez creado podemos darle un nombre, para el ejemplo lo nombraremos MasterMixer, el mixer funciona de forma global, lo que quiere decir que no es necesario crear uno para cada escena.</div><div><br/></div><div><br/></div><div><img src="index.html.resources/03745C77-FBD7-407C-8233-89B20620BB65.png" height="106" width="450"/><br/></div><div><br/></div><div>Luego de crearlo, damos doble clic sobre el objeto mixer para desplegar la vista, y creamos 4 canales o grupos para: efectos(FX), dialogo(DX), ambientes(BG) y música (MX). Verificamos que esté seleccionado el canal master antes de dar en el + de grupo para crear los demás canales, de esta forma quedaran como hijos del canal master.</div><div><br/></div><div><b><img src="index.html.resources/ED6DD690-076E-4E02-A393-68329B1A23A7.png" height="351" width="762"/><br/></b></div><div><br/></div><div>Luego de configurar el mixer debemos hacer el ruteo de todos los audiosources presentes en las escenas de “Market”, “SecurityRoom" y “Persistent”, hacia los canales respectivos del mixe<span style="font-weight: bold;">r.</span></div><div><br/></div><div>En la siguiente imagen se muestra el ruteo del audiosource FX que esta en el objeto AudioParent la escena Market, hacia el canal FX en el mixer. </div><div><br/></div><div>Antes de hacer los ruteos debemos verificar que la escena este detenida para que se guarden los cambios, luego en la casilla Output del audio source seleccionamos el canal del mixer hacia el cual queremos enviar la señal. Por ultimo ejecutamos la escena y verificamos que se este recibiendo señal en el mixer.</div><div><br/></div><div style="text-align: center;"><b><img src="index.html.resources/A962156F-4627-4E5A-A928-B29D6FEC86E8.png" height="430" width="800"/><br/></b></div><div><br/></div></td></tr><tr><td style="border: 1px solid rgb(204, 204, 204); width: 899px; padding: 8px;"><div>A través de estos ejemplos hemos visto como esta implementado el audio en el proyecto, explora los demás objetos interactivos e identifica las reacciones de audio, complementa las escenas agregando audio sources 2D y/o 3D y efectos como por ejemplo una zona de reverberación para el escenario "<b><i>Security Room</i></b>"</div></td></tr></tbody></table><div><br/></div></div><div style="text-align: left;"><br/></div><div><br/></div><div><br/></div><div style="text-align: center;"><br/></div><div><br/></div><div><br/></div><div><br/></div></body></html>