Please login or register.

Login with username, password and session length
Advanced search  

News:

IRC channel - server: waelisch.de  channel: #wme (read more)

Pages: [1] 2 3 ... 10
 1 
 on: Today at 03:21:47 PM 
Started by Mot - Last post by Mot
Paso 9: Consejos y procedimientos diversos

Ahora que hemos finalizado la escena, observaremos con detenimiento procedimientos adicionales que probablemente necesites cuando diseñes tu juego.

Estados de la escena

El motor tiene la capacidad de almacenar los estados de los objetos de la escena, y restaurarlos más tarde cuando el jugador vuelva a visitar la escena. Este comportamiento puede activarse en SceneEdit, en el cuadro de diálogo de propiedades de la escena (Remember node states). También puedes escoger si quieres que los objetos se acuerden de qué sprite estaban utilizando (Including sprites) en el caso de que los hayas modificado mediante programación.


Observa que los estados (de la escena) que se guardan, se basan en los nombres de los objetos de la escena. Por lo tanto, no deberías tener dos objetos con el mismo nombre, o podrías obtener resultados impredecibles.


Cambiar a otra escena

Tu juego probablemente no transcurra en una sola habitación. Ya has aprendido cómo crear escenas pero ... ¿cómo conectarlas unas con otras? WME invoca cambios de escena mediante programación. Probémoslo.

En el paso 7 del tutorial hicimos interactiva la puerta. Selecciona el ente regional "door" (puerta), en la lista de nodos, y pulsa el botón "Scripts...". Como ésta no tiene ningún script asociado, SceneEdit te sugerirá que crees uno nuevo. Selecciona la plantilla "scene objet" (objeto de la escena) y pulsa OK. Acabas de crear un nuevo script llamado "door.script". El cuadro de diálogo del script aparecerá. Doble clic sobre "door.script", o pulsa el botón "Edit script" en la barra de herramientas.


El script se cargará en el editor de texto. Cómo puedes ver, vienen predeterminados varios administradores de eventos. A nosotros sólo nos interesa que la puerta reaccione cuando se pulse el botón izquierdo del ratón (on LeftClick). Borra todos los administradores de eventos. Ahora añadiremos el administrador de evento on LeftClick, que provocará que el actor camine hasta la puerta y cambie a otra escena. Añade este fragmento de código al script:

Code: [Select]
on "LeftClick"
{
  actor.GoToObject(this);
  Game.ChangeScene("scenes\menu\menu.scene");
}

La primera línea llama al método GoToObject, que envía al actor hasta la puerta, y la segunda línea le dice al juego que cargue una nueva escena - en este caso "scenes\menu\menu.scene" (el menú principal que has visto tantas veces). Por descontado puedes usar el nombre de archivo de cualquier otra escena que tengas en tu proyecto.

Si quieres ver un ejemplo terminado, échale una ojeada a "WME demo project" (el proyecto demo de WME).

 2 
 on: Today at 01:45:33 PM 
Started by NAItReIN - Last post by NAItReIN
Po spustení hry Art of Murder: FBI Confidential som bol nemilo prekvapený tým, ako bola celá hra spomalená. Preto som napísal path, ktorý v každej scéne vypína stencil shadows nakoľko táto možnosť nebola do hry programátormi implementovaná.

Ukážky z hry:
https://www.dropbox.com/s/1lvvplb6vmwly24/aom1_demo2_scr1.jpg?dl=0
https://www.dropbox.com/s/ii5iwchmvxczzao/aom1_demo2_scr2.jpg?dl=0


Path na stiahnutie:
https://ulozto.cz/!fY5PuLKyXU87/aom1-path-zip

Hra Arf of Murder: FBI Confidential bola vytvorená vo verzí herného engine 1.8.3 (táto verzia engine bola skompilovaná 9 februára 2008). Engine v tejto verzí neumožňuje vytvárať pathe, ktorý by ovplyvnili aj uložené pozície. Z toho dôvodu je tento path funkčí len vtedy keď začnete hrať hru od začiatku. V prípade, že si načítate uloženú pozíciu zmeny sa NEPREJAVIA!

 3 
 on: Today at 01:28:42 PM 
Started by NAItReIN - Last post by NAItReIN
Napriek tomu, že hra Art of Murder: FBI Confidential bola vydaná ešte v roku 2008, rozhodol som sa, že si túto hru zakúpim a zahrám si ju. Plnú hru kompletne v anglickom jazyku som kúpil prostredníctvom digitálnej distribúcie. Hľadal som český alebo slovenský preklad do tejto hry, avšak bez akýchkoľvek relevantných výsledkov. Napokon mi jeden veľmi ochotný človek z prekladateľského týmu ADV Dream povedal, že táto hra vyšla v dobe svojho vydania s českými titulkami. Po vzájomnej dohode mi dotyčná osoba poslala súbor cz.dcp, ktorý má veľkosť 168 MB. Z tohto kontajneru som vybral string.table, ktorý obsahuje všetky textové reťazce v českom jazyku a taktiež titulky ku každému videu, ktoré sa v hre objavuje.
Verím, že sa stále nájde niekto, kto by si túto hru veľmi rád zahral. Ako som už spomínal, ja som tento produkt nadobudol prostredníctvom digitálnej distribúcie, konkrétne na stránke Big Fish Games. Okrem toho je táto hra k dispozicíí aj na Steame (kde je cena vyššia cena). Preto som sa rozhodol, že touto cestou budem informovať zainteresovanú verejnosť o možnosti stiahnutia českého prekladu do hry tejto hry.

Čestina do hry Art of Murder (veľkosť 379 kb): https://www.ulozto.cz/hledej?q=arf+of+murder+cestina

 4 
 on: Today at 08:21:37 AM 
Started by Mot - Last post by Mot
Paso 8: Capas

El paso previo del tutorial fue algo difícil, así que vamos a descansar en éste. Aprenderemos cómo realizar el infame "parallax scrolling" (desplazamiento de paralaje). Para ello WME permite tener varias capas en la misma escena. Si las dimensiones de la capa son mayores que la resolución del juego, la capa se desplazará automáticamente. Y cuanto mayor sea la capa, más rápido será el desplazamiento.

Pongamos que tienes tres capas, todas con un ancho diferente, el resultado será que cada una se desplazará a una velocidad distinta. Tan simple como eso. Para conseguir un efecto de perspectiva realista, las capas más grandes deben estar más cerca del observador. Otra cosa que tienes que saber es que siempre hay una capa principal, el resto son decorativas - sólo la capa principal puede contener regiones.

Normalmente, tres capas será suficiente para obtener buenos resultados (el fondo, la capa principal y el primer plano), pero no hay límite de número de capas por escena.

Añadiremos una capa de fondo a nuestra escena. Será una imagen del cielo y podrá verse por la ventana.

Primero necesitamos una imagen para la capa. Hay una del cielo preparada en la carpeta "data\tutorial\gfx". En el administrador de proyectos, botón derecho en la carpeta "MyScene", selecciona el comando "Import->Import file(s)…", navega hasta "data\tutorial\gfx", selecciona "sky.bmp" y pulsa OK. Acabas de importar una imagen del cielo a la carpeta de tu escena.

Abre el archivo "MyScene.scene" en el editor de escenas.

Añadiremos una nueva capa pulsando el botón "Add layer", en la parte superior del panel con la lista de capas.


SceneEdit te mostrará la ventana de propiedades de la capa.

Cambia el nombre a "sky" (cielo) y sus dimensiones a 800 por 716.

La dimensión horizontal de la capa del cielo coincide con la resolución del juego, así que ésta no se desplazará (horizontalmente). Ya que la capa principal SÍ se desplazará, obtendremos un bonito efecto de perspectiva.

La dimensión vertical coincide con la altura de la capa principal. Así que la imagen del cielo se desplazará (verticalmente) a la misma velocidad que la capa principal, y de ahí que siempre sea visible (tras la ventana).


Pulsa OK.

Debes mover la nueva capa para que sea la primera de la lista de capas (usa los botones flecha arriba y abajo).


Lo que nos queda por hacer es añadir un nuevo ente a la capa recién creada. Ya conoces el botón "Add entitiy". Púlsalo y selecciona "Add sprite entity". Se creará un nuevo ente. Ponle el nombre de "sky" (cielo) y designa el archivo que importamos antes, "sky.bmp", como su sprite.


Ahora mueve el ente para que cubra completamente la ventana.


Y ya está. Guarda la escena y ejecuta el juego. Verás en acción el efecto de desplazamiento de paralaje.

¡Felicidades! ¡¡¡Has completado tu primera escena para el motor de Wintermute!!! :-)

Podemos avanzar al último paso de este tutorial, Paso 9: Consejos y procedimientos diversos.

 5 
 on: Yesterday at 09:33:32 PM 
Started by horaciog - Last post by Mot
Muchas gracias por compartirlo :)

 6 
 on: Yesterday at 08:43:59 PM 
Started by bamyito - Last post by Mot
En este post encontrarás la dirección de descarga del código fuente de Beyond the Threshold. Si quieres ejecutar el juego, puedes hacerlo cargando el archivo del proyecto en WME Project Manager, y pulsando el comando Run.

 7 
 on: Yesterday at 08:28:44 PM 
Started by Mot - Last post by Mot
Paso 7: Entes de región, cursores, scripts

Entes de región

Si ejecutas la escena verás que el escritorio y la silla parecen interactivos - al mover el cursor sobre ellos, la forma de éste cambia, y aparece una descripción. Esto ocurre ya que los dos son entes cuya propiedad "Interactive" tiene el valor "true" (verdadero).

¿Y si queremos que una parte del fondo sea interactiva? ¿Tenemos que crear entes extra para todos los objetos que deseamos con interactividad? Bueno, sí y no. El editor de escenas permite definir "region entitities" (entes de región). Funcionan como entes corrientes, pero no necesitan una representación gráfica (no tendrás que crear imágenes expresamente para ellos). Se definen simplemente por una región en la escena.

Vamos a añadirle interactividad a unos cuantos objetos en la escena: la puerta, el armario y la ventana.

Abre el archivo "MyScene.scene" en el editor de escenas.

Para añadir un ente de región pulsa el botón "Add entity" y después selecciona el comando "Add region entity".


Ya has creado un nuevo ente. A partir de ahora es fácil. Cambia su nombre y "caption" (descripción) en el panel de propiedades. Puedes editar el ente de región de la misma forma que editas regiones corrientes.

Añade tres entes de región en la escena para "door" (puerta), "closet" (armario) y "window" (ventana):


Toma nota: ¡El orden de los entes y las regiones es importante! Ya aprendimos porqué para la disposición de la escena, pero también es importante para la interacción de usuari@. Cuando el motor percibe que a un objeto le está pasando por encima el puntero del ratón, repasa la lista de los nodos de la escena, de arriba a abajo.

En nuestra escena el orden de entes realmente no importa, ya que no se superponen, pero deberías tenerlo en cuenta (en caso contrario).


Si ejecutas el juego y pruebas la escena, la puerta, el armario y la ventana deberían actuar como objetos interactivos.
 
Cursores

Has observado que el cursor del ratón cambia cuando está sobre un objeto interactivo. Esos son los cursores predefinidos - estándar y activo (se pueden cambiar en el administrador de proyectos, en el panel de propiedades del juego).

Podemos asignar cursores especiales para ciertos objetos. Digamos que quieres que el cursor cambie su forma cuando está sobre la puerta. Es muy sencillo. Todos los cursores son en realidad sprites que puedes asignar a entes de la escena usando SceneEdit.

Ve al editor de escenas y selecciona el ente "door".

Pista: Se puede seleccionar rápidamente un ente en el editor de escenas haciendo doble clic sobre él en la vista de la escena.

En el panel "Entity properties" (propiedades del ente), pulsa el botón "..." a la derecha de "Cursor". El editor de escenas te pedirá que especifiques un archivo sprite para designarlo como puntero del ratón. En el proyecto del tutorial hay unos cuantos punteros preparados en la carpeta "data\sprites\system". Navega hasta esa carpeta, selecciona el archivo "arrow_left.sprite" (flecha a la izquierda) y pulsa OK. La propiedad del cursor cambiará su valor - ahora indica el archivo del sprite seleccionado.

Pista: Si necesitas borrar el cursor indicado o el archivo sprite, pulsa el botón "..." y luego "Cancel" en el diálogo de selección de archivos. El editor de escenas te preguntará si quieres borrar el archivo en cuestión.

Guarda la escena y ejecuta el juego. Ahora si mueves el puntero del ratón sobre la puerta, su forma debería cambiar a la de una flecha.


Scripts

Los objetos de la escena parecen interactivos. Pero si los clicas no sucede nada. Tenemos que asignarles algo de lógica. Y la lógica del juego la dan los scripts. Un script es un archivo de texto que contiene un fragmento de un programa simple. Los scripts están descritos en profundidad en otro capítulo de la documentación. En este tutorial sólo aprenderemos las bases.

Añadiremos un script al ente "desk" (escritorio). Primero lo crearemos. La forma más fácil es usando una plantilla. Ve al administrador de proyectos, amplia los contenidos de la carpeta "MyScene" y verás una subcarpeta llamada "scr" - ahí es dónde se guardan los scripts. Botón derecho encima de la carpeta "scr" y selecciona el comando "Add script".


En el cuadro de diálogo para seleccionar plantillas, selecciona la plantilla "scene object" (objeto de escena) y cambia el nombre a "desk", pulsa OK. Se acaba de crear un nuevo script, con nombre desk, en la carpeta "scr".


Carga el archivo "MyScene.scene" en el editor de escenas. Selecciona el ente "desk" en la lista de nodos, o haciendo doble clic sobre el escritorio en la vista de la escena. En el panel de propiedades pulsa sobre el botón "Scripts...". Aparecerá el cuadro de diálogo para asignar scripts. Puedes asignar uno o más al objeto seleccionado. Pulsa el botón "Add script".


El editor de escenas te pedirá que especifiques el archivo que quieres asignar. Navega hasta el archivo "desk.script", selecciónalo y pulsa OK.


Ahora vamos a editarlo. Pulsa el botón "Edit script" o doble clic sobre el nombre del archivo. El editor de escenas abrirá el script en el editor de texto asociado (por defecto: SciTE; aprende más sobre cómo preparar un editor de textos para los scripts).

Pista: Si todavía no hay ningún script asociado a un objeto de la escena, éste te sugerirá añadirlo automáticamente tras pulsar el botón "Scripts ...". No necesitas crearlo expresamente con el administrador de proyectos - aquí he descrito la forma "difícil" para que aprendas cómo añadir archivos nuevos a tu proyecto.

El nuevo script debería tener este aspecto:

Code: [Select]
#include "scripts\base.inc"
 
////////////////////////////////////////////////////////////////////////////////
on "LookAt"
{
  actor.GoToObject(this);
  actor.Talk("Blah");
}
 
////////////////////////////////////////////////////////////////////////////////
on "Take"
{
  actor.GoToObject(this);
  actor.Talk("Blah");
}
 
.
.
.

Los bloques on "xxx" son los administradores de eventos. Estos bloques de código se ejecutan cuando cierto evento se aplica al objeto. Por ejemplo, cuando el usuario abre un menú en el ente escritorio y selecciona el icono "Look at" (mirar a), un evento "LookAt" se aplica al escritorio, y el administrador de evento se ejecuta. Los eventos de alto nivel, por ejemplo "LookAt" o "Talk" (hablar), los puede personalizar el/la desarrollador/a. Los eventos de bajo nivel, tales como "LeftClick" (clic izquierdo), los desencadena el motor, y sus nombres están incrustados en el código del mismo.

Echémosle una ojeada al administrador de evento "LookAt":

Code: [Select]
  actor.GoToObject(this);
  actor.Talk("Blah");

Este fragmento de código le dice al motor que llame al método del actor "GoToObject" (ve al objeto), y le haga decir al actor "Blah". El método "GoToObject" recibe el parámetro "this" (esto). La palabra "this" en el script representa al objeto al que el script está asociado. En este caso, estamos editando un script asociado al escritorio, por lo tanto "this" representa al escritorio. Así que el comando actor.GoToObject(this); se traduce como: dile al actor que vaya al escritorio.

Vale, eso es estupendo, pero ¿cómo sabe el motor a dónde exactamente debería caminar el actor, y por qué lado debería aproximarse al escritorio? No lo sabe, se lo tienes que decir. Todos los entes de la escena están provistos de una propiedad "walk to point" (camina al punto). La puedes ver en el panel de propiedades, abajo:


Ahora, una de dos, puedes introducir manualmente el punto "walk to" (caminar a) y la orientación del actor en relación al objeto, o puedes usar la herramienta de ubicación del actor (descrita en el paso 6 de este tutorial) y ubicar el actor interactivamente. Tras haber hecho lo segundo pulsa el botón "<" y la posición le será asignada al ente. De forma similar, si pulsas el botón ">", el actor será ubicado en la escena de acuerdo a los valores introducidos.

Pruébalo. Vuelve al editor de escenas y ciera el cuadro de diálgo del script (pulsando OK). Pulsa el comando "Place actor" (ubica un actor), selecciona el archivo "molly.actor". Ahora coloca el actor en la posición a la que desees que camine cuando mire el escritorio (recuerda que puedes: (1) mover el actor moviendo el puntero del ratón, (2) cambiar su orientación pulsando el botón derecho, y (3) dejarlo en un lugar determinado pulsando el botón izquierdo).


Ahora pulsa el botón "<" en el panel de propiedades del ente (asegúrate de que el ente "desk" está todavía seleccionado), y ya has acabado.

A veces es útil copiar la posición literal del actor a un script. De nuevo la herramienta de ubicación del actor viene de perlas. Coloca el actor en la posición deseada y usa la función "Actor->Copy actor placement" (copia la ubicación del actor) o pulsa el acceso directo de teclado Ctrl+C.


El siguiente fragmento de código se copiará al portapapeles:

Code: [Select]
actor.GoTo(544, 638);
actor.TurnTo(DI_UPRIGHT);

Este fragmento de código imita el acto de ubicación del actor que acabamos de configurar en el editor de escenas.

También puedes editar el contenido del administrador de evento "Take" (tomar). Por ejemplo, el actor podría decir algo divertido cuando el jugador intente tomar el escritorio.

Code: [Select]
on "Take"
{
  actor.GoToObject(this);
  actor.Talk("Este escritorio es demasiado pesado para un pequeñito como yo ...");
}

Como no vamos a entablar conversación con el escritorio, puedes borrar el administrador de evento "Talk" de una. Cuando no se defina un administrador de evento, se usará el predeterminado.

El administrador de evento "LeftClick" (clic izquierdo) simplemente llama al método GoToObject (ve al objeto). Así que cuando el jugador clique en el escritorio, el actor caminará hasta él.

Vale, el script ya está completo. Guárdalo, guarda la escena, apaga el editor de escenas y ve al administrador de proyectos.

Ejecuta el juego y prueba la escena "MyScene". Botón derecho en el escritorio, aparecerá un menú. Clica los diversos iconos. El actor caminará al escritorio, adoptará la orientación adecuada y dirá la frase apropiada.


Puedes añadir scripts al resto de los objetos de la escena, exactamente de la misma manera - puedes ver ejemplos de ello en el archivo "step7.scene".

Ya hemos programado bastante. Avancemos al siguiente paso del tutorial, Paso 8: Capas.

 8 
 on: June 23, 2017, 02:21:24 PM 
Started by cysis145 - Last post by cysis145
My latest release is a fully rigged and animated Missile Defence tower! Slaughter the incoming hordes with a higher class of defence system!

CGTrader: https://www.cgtrader.com/3d-models/military/rocketry/missile-tower
TurboSquid: https://www.turbosquid.com/3d-models/3d-sci-fi-missile-tower-model-1168655





 9 
 on: June 23, 2017, 10:52:04 AM 
Started by Mot - Last post by Mot
Paso 6: Entes libres, niveles de escala y regiones de decoración

Acabaremos con el grueso del diseño de la escena en este paso del tutorial. Abre el archivo "MyScene.scene" en SceneEdit.

Entes libres

Vale, echémosle una ojeada a nuestra escena. La silla todavía no acaba de funcionar. Parece como si estuviera pintada en el suelo. Hagamos algo al respecto. En los pasos 2 y 3 de este tutorial, creamos un ente "desk" (escritorio) y dispusimos regiones para que éste se superpusiera al actor cuando fuese necesario. El enfoque de las regiones es flexible y especialmente útil para objetos grandes o con una forma irregular, pero para objetos pequeños lo más fácil es convertirlos en algo llamado "free entities" (entes libres). Haremos eso para el objeto silla.

¿Qué son los entes libres?

Los entes que habíamos creado hasta ahora (el fondo de la imagen y el escritorio) son entes ligados a la disposición de la escena. A diferencia de estos, los entes libres se comportan como actores, es decir, se dibujan en función de su ubicación en la escena, (dependiendo de la región en la que estén). Esto puede sonar algo confuso al principio, pero aprenderemos cómo funciona.

Creemos el ente "chair" (silla). Lo primero que necesitamos es preparar la imagen de la silla. Ya hicimos esto antes con el fondo y con el escritorio. Ve al administrador de proyectos, botón derecho sobre la carpeta "MyScene", selecciona el comando "Import->Import file(s)…". Navega hasta el directorio "data\tutorial\gfx\" y selecciona el archivo "chair.bmp". La imagen se copiará a la carpeta de nuestra escena.

Vuelve al editor de escena. En el panel lista de capas (Layer) selecciona "Free entities" (entes libres). La lista de nodos cambiará su contenido para mostrar todos los entes libres. De momento, está vacía. Pulsa el botón "Add entity" (añadir ente) y selecciona "Add sprite entity" (añadir ente tipo sprite). Acabamos de crear un nuevo ente. Ponle el nombre de "chair" (silla) en el panel de propiedades. También puedes darle un valor al campo "Caption" (descripción emergente), por ejemplo, silla supercómoda - usaremos este valor más tarde.


Ahora necesitamos cambiar la representación gráfica del ente. Pulsa el botón "..." a la derecha de la propiedad "Sprite" y navega hasta el archivo "chair.bmp" que importaste antes. Mueve el ente, en la vista de la escena, hasta que cubra la imagen de la silla en el fondo de la escena:


Guarda la escena y ejecuta el juego (con el administrador de proyectos) para probarla. Ups, algo falla, ... el actor se superpone a la silla en todas las posiciones. ¿Qué es lo que ocurre? Cuando hay más de un objeto libre (ya sean entes libres o actores) en la misma región, el motor determina el orden en que se dibujan, en función de su posición vertical (Y) en la pantalla. La posición del actor viene determinada por sus pies, pero la silla tiene el punto de su base en la esquina superior izquierda de la imagen. Seguramente te esperabas que la silla tuviese su base dónde la silla toca el suelo, ¿verdad? ¿Cómo lo podemos lograr? En vez de una simple imagen BMP, usaremos un sprite. Un sprite en WME es una imagen compuesta (ya sea estática o animación) y una serie de propiedades (lee más acerca de los sprites). Una de esas propiedades es el "hot spot" (punto caliente). Se denomina "hot spot" al punto base del sprite. Eso es precisamente lo que necesitamos para cambiar el punto base de nuestro objeto silla.

Vale, crearemos un sprite para la silla. Ve al administrador de proyectos. Botón derecho sobre la carpeta "MyScene" y selecciona el comando "Add->Add sprite…". En la ventana de selección de plantilla, escoge la plantilla "Empty sprite" (sprite vacío); escribe "chair" en el campo Name (nombre) y pulsa OK.


Un nuevo archivo sprite con el nombre de "chair.sprite" se generará en la carpeta "MyScene". Doble clic sobre ese archivo, y el administrador de proyectos lo cargará en SpriteEdit (editor de sprites). En este momento, el sprite está vació. Lo que haremos será añadir un fotograma con la imagen de la silla. Pulsa el botón "Add frame(s)" (añadir fotograma/s) y navega hasta que encuentres el archivo "chair.bmp".


Ahora modificaremos el "hot spot". Puedes hacer esto de dos maneras: (1) arrastra la imagen de la silla con el puntero del ratón, o (2) en el panel "Frame properties" (propiedades del fotograma) rellena el campo "hot spot" con sus coordenadas (el hot spot está representado en la ventana vista mediante una pequeña cruz roja).

Cambia las coordenadas del hot spot a 135, 174.


Guarda el sprite y apaga SpriteEdit. Volvamos al editor de escenas. En el panel de propiedades del ente "chair" pulsa el botón "..." a la derecha de la propiedad "Sprite" y busca el archivo recién creado "chair.sprite", selecciónalo, OK. Verás que la silla se ha movido; eso se debe a que el punto base ha cambiado (tú lo has cambiado). Mueve el ente de nuevo para que coincida con la imagen de la silla del fondo. Ya está! Guarda la escena y ejecuta el juego.

La superposición funciona ahora como se espera. Si el actor está detrás de la silla, la silla está delante (y viceversa).


Lo que nos queda por hacer es evitar que el actor pueda caminar a través de la silla. Añadiremos un nueva región bloqueada y un puñado de puntos intermedios.

Añade una región bloqueada, llámala "block_chair" y cuatro puntos intermedios. Si tienes alguna duda de cómo hacerlo, repasa los pasos 4 y 5 de este tutorial. Obtendrás resultados similares a los de la fotografía de debajo:



Niveles de escala

La disposición de la escena ahora funciona bien, pero el actor parece algo pequeño en comparación con lo que le rodea. Podemos cambiar la escala usando los "scale levels" (niveles de escala). Los niveles de escala están representados por esas líneas verdes brillantes en el editor de escenas. La idea es que definas el factor de escala (en %) para ciertos niveles clave de la escena; los actores adoptarán automáticamente la escala apropiada a su posición vertical (Y) actual.

En este momento ya hay dos niveles de escala predefinidos en la escena (y rara vez necesitarás más de dos). Los puedes mover con el ratón, usando la manilla en el lado izquierdo de la línea de nivel de escala. Puedes borrarlos o cambiar sus propiedades (incluido el factor de escala) pulsando el botón derecho sobre la manilla.


Si necesitas añadir otro nivel de escala a la escena, pulsa el botón "Add scale level" (añadir nivel de escala).


Vale, basta de teoría. Configuremos los niveles de escala de nuestra escena. Ajusta el nivel de escala superior para que coincida con el punto más elevado del suelo y modifica su factor de escala a 90%. Ajusta el otro nivel de escala para que coincida con el punto menos elevado del suelo y modifica su factor de escala a 160%.


Probablemente te preguntes cómo calcular el factor de escalar correcto. Bueno, la mejor manera es que utilices la herramienta de ubicación del actor. El editor de escenas te permite ubicar un actor en la escena para que verifiques cómo le afectan la disposición y la escala. ¡No es necesario que ejecutes el juego a toda hora para comprobar los resultados de tus esfuerzos editoriales! Encontrarás el comando "Place actor" (ubica un actor) en la barra de herramientas o en el menú principal (Actor->Place actor).


Pulsa el botón y SceneEdit te pedirá que especifiques el archivo del actor que desees cargar. Navega al directorio "data\actors\molly\" y selecciona el archivo "molly.actor". Una vez que el actor se haya cargado en el programa, puedes usar el ratón para moverlo por la escena. Si pulsas el botón derecho, cambiarás la orientación del actor. Pulsando el botón izquierdo ubicarás el actor en esa posición. Si necesitas cambiar su posición más tarde, vuelve a pulsar el botón "Place actor". Al ubicar el actor en diferentes lugares de la escena, averiguarás fácilmente el factor de escala correcto para cada nivel de escala.

Nota: la herramienta de ubicación del actor sólo sirve como ayuda al diseño; no afecta a la configuración de la escena.


Regiones de decoración

Ya hemos acabado la disposición de la escena. Ahora añadiremos la guinda al pastel. Supongamos que nos gustaría que el actor se oscureciese cuando estuviera en el rincón de la habitación.

Tenemos la posibilidad de añadir regiones especiales que afectan al color y a la escala del actor. Estas regiones se denominan "decoration regions" (regiones de decoración); recuerda que ya conoces otros dos tipos de regiones: las de disposición y las bloqueadas.

Añadiremos las regiones de decoración de la misma manera que añadimos otras regiones; pulsando el botón "Add region" (asegúrate de tener seleccionada "main" de la lista de capas).


Pulsa el botón y se añadirá una nueva región a la escena. Ponle el nombre de "shade" (sombra) y cambia el botón de radio de la posición "Layout" a "Decoration". En el panel "Region properties" (propiedades de la región) a la izquierda, verás la cajetilla de "Color". La usaremos para seleccionar un color para la región. Cuando el actor entre en dicha región, sus colores se mezclarán con el color de la región. Selecciona gris claro.


Nota: También podría cambiar el factor de escala de dicha región. Sustituiría el factor de escala definido por los niveles de escala.

Nota: El coloreado sólo funcionará si:
  • el juego se ejecuta en modo acelerado; en modo compatibilidad los efectos de color están desactivados
  • el objeto a colorear tiene el atributo "Colorable" con el valor de "true" (verdadero)
Ahora mueve la región a la posición correcta, y cambia su forma:


Nota: Las regiones de decoración no afectan a la disposición de la escena. Sin embargo, el actor cambia su color tomando como referencia la región más elevada que encuentre, por lo que las regiones de decoración deberían colocarse al final de la lista de nodos.

Puedes comprobar el resultado directamente usando la herramienta de ubicación del actor (descrita arriba).

Guarda la escena, apaga SceneEdit, ejecuta el juego y échale una ojeada a los cambios realizados en este paso. El actor debería tener el tamaño adecuado, caminar alrededor de la silla, y cuando esté en el rincón de la habitación, su coloración debería oscurecerse ligeramente.

Nuestra escena tiene ahora buena pinta; añadiremos algo de interactividad en el Paso 7: Entes de región, cursores, scripts.

 10 
 on: June 22, 2017, 12:41:49 PM 
Started by neo_one - Last post by HelLRaiseR
¿Quieres un consejo? Ahora mismo lo mas viable que yo veo es Unity con el asset Adventure Creator.

Pages: [1] 2 3 ... 10

Page created in 0.264 seconds with 14 queries.