Ya hay muchos tutoriales de como instalar este poderoso motor en nuestros ordenadores por lo que no voy a hablar al respecto.
Cual quier duda sobre la instalacion o requerimientos lo pueden ver en la pagina oficial del motor grafico: http://ift.tt/1qWPAi0 .
Al abrir el UDK con el Editor veremos una ventana parecida a la siguiente:
1. Haremos clic en New Map para comenzar a crear nuestro nuevo mapa, nos pedirá que elijamos entre usar plantillas que ya nos ofrece el motor o crear un mapa desde 0, en este caso elegiremos "Blank Map":
Ahora veremos algo como esto:
Este es nuestro grid, donde crearemos nuestro nuevo "mapa".
2. Ahora comenzaremos a crear la geometría basica de nuestro mundo virtual, es decir, paredes, suelo etc.
Con este menu podremos cambiar entre las diferentes figuras geométricas que el motor nos ofrece para moldear a nuestro modo el terreno o el espacio en el cual nos moveremos.
SI queremos modificar medidas de estas figuras, podremos dar clic derecho en el menú, en la figura correspondiente y ver las propiedades de este.
3. Prepararemos la base en donde nuestro "player" o los objetos estarán asentados.
Podemos usar las medidas : X:512.000000, Y:512.000000, Z:25.000000 para hacer una base cuadrilátera.
Ahora, en el menú CSG:
3. CSG Add sirve para crear una superficie sobre la figura creada anteriormente.
Al hacer clic nos quedará algo asi:
4. Ahora podemos retirar el cuadro rojo que nos ayudó a crear la superficie, haciendo clic en cualquiera de los ejes del centro (las flechas) y moviendolo.
Al tener la superficie creada, lo unico que falta por hacer para poder usar el nivel es crear una luz y un Player Start.
5. Para crear un Player Start hay que hacer click derecho sobre la superficie creada:
Quedaría algo asi:
Debemos tener cuidado con donde posicionamos el icono de PS, si no lo ponemos sobre la superficie que creamos, al momento de iniciar el level, nuestro player se caerá.
6. Para la luz ir hasta donde dice Add Actor y sobre ese Sub-menu hacer click donde dice Add Light (Point).
Debemos mover la "luz" con las flechas (ejes) para dejarla donde nosotros queramos. Podemos agregar varias para crear diferentes entornos.
7. Para compilar la luz que acabamos de agregar, hacer click en Build en la parte superior del menu, y despues en Lighting.
Aparecerá otro menú que nos ofrece distintas opciones...
La dejaremos como en la imagen o la configuración default y aceptaremos.
Les saldrá otra ventana llamada Map Check, de momento no nos sirve de nada, solo damos en close.
8. Ahora solo nos falta construir los Paths, para eso hay que ir otra ves al menu de Build y luego hacer click a AI Paths, y despues cerrar la ventana que aparece otra vez.
9. Para probar el nivel, hay que hacer Click sobre el menu que dice Play, y despues clickear donde dice In Editor.
Y nos saldrá la siguiente pantalla:
Podremos controlar con w,a,s,d | las flechas y el mouse haciendo clic y moviendolo para mover la camara.
10. Ahora importaremos objetos (meshes) del content browser que nos ofrece este motor:
Clic en el icono del content browser o usar ctrl+shift+F
11. Aquí podremos encontrar muchas cosas ya "hechas" que podríamos usar en nuestros respectivos proyectos, como por ejemplo Sets de animaciones ( los cuales usaremos a continuación), diversos materiales, sistemas de particulas, efectos, Skeletal meshes ( los cuales usaremos a continuación), sonidos, texturas, terrenos, etc.
12. Filtraremos el contenido del navegador de contenidos (content browser) en object type:
Skeletal Meshes
13. Para este ejemplo elegiremos el mesh : SkeletalMesh'CH_IronGuard_Male.Mesh.SK_CH_IronGuard_MaleA' y lo arrastraremos a nuestro grid.
14. Bien, ya tenemos nuestro objeto en este caso un robot en nuestro entorno, ahora falta hacer que se mueva, tanto en el espacio como el mismo, es decir traslación + animación.
Para esto empezaremos a usar kismet... Abrimos kismet en el icono con la k verde
Se mostrará una ventana como esta:
Lo primero que haremos será trasladar nuestro robot en el espacio.
15. Hacer clic derecho en kismet, New Event> Input> key/button Pressed:
16. Con el evento seleccionado aparecen sus propiedades en la parte de abajo....
Clic en la cruz verde para agregar un nuevo elemento, es decir un botón o tecla que iniciará la acción.
Se agregará un campo, que aparecerá como "none", Aquí nosotros escribiremos la tecla que usaremos para la acción, es fácil e intuitivo por ejemplo para usar la flecha hacia arriba del teclado solo pondremos up, para abajo pondríamos down, para barra espaciadora es spacebar si no me equivoco... etc.
Y en esas mismas propiedades mas abajo en la sección Sequence Object hay un campo llamado Object Comment yo les recomiendo que en este campo pongamos la misma palabra que en el campo de arriba, esto nos ayudará a identificar en kismet de que se trata este evento sin tener que entrar a sus propiedades.
17. Lo siguiente es la acción o acciones que se ejecutarán cuando la tecla que le dijimos sea presionada.
-Vamos a obtener los valores de rotación y locación de nuestro robot.
*Clic derecho New Action> Actor> Get Location and Rotation.
+Nos saldrá un rectángulo "Get Location and Rotation" en donde
-In: es por donde se llamará a esta acción, es decir, en este momento seria cuando la tecla
sea presionada entonces in
-Target: es el actor del cual sacará los valores, en este caso el robot.
-Location: devuelve el vector de locación del robot
-Rotation: devuelve el vector de rotación del robot
*Ahora unimos la pestañita negra del evento ( Pressed ) con el in del Get Location and
Rotation.
*Lo siguiente es decirle quien es el target, para hacerlo facil, nos regresamos unos segundos
a la pantalla principal del UDK donde encontraremos nuestro robot, lo cliqueamos para
seleccionarlo, una vez seleccionado regresamos a kismet y hacemos clic derecho en la
pestañita rosa debajo de Target, y nos dará una opción que dirá "New Object Var Using
SkeletalMeshActor_1" clic alli.
*Ahora clic derecho en la pestaña debajo de Location y clic en la opción "Create New Vector
Variable"
*Como la variable que creamos nos regresa un vector, ahora hay que descomponerlo en x,y,z agregando un New Action>Math>Get Vector Components. Unimos el out de la acción anterior con el in del Get Vector Components para que se ejecute una después de otra.
Input Vector, lo uniremos con la variable que creamos hace unos momentos de la locación del robot y haremos clic derecho en pestañas de x,y,z cliqueando la opción Create New Float Variable.
*Ahora modificaremos los valores que recibimos en el vector para poder desplazar el robot.
New Action>Math>Add Float. Unimos out con in de la nueva acción, "A" lo ligaremos con el componente "x" para desplazarnos en x, "B" es el valor que se le sumará al valor de "A" (creamos una variable igual que en los pasos anteriores para "B" Seleccionamos la variable que pertenece a "B" y en sus propiedades en la parte de abajo en el campo Float Value pondremos el valor que se sume al vector. Y finalmente el Float Result será otra variable en la cual se guardará el resultado de la suma al valor de "A".
*Una vez sumados los valores volveremos a poner (set) los valores del vector
New Action> Math> Set Vector Components. Los procedimientos de variables son los mismos. Output vector, es el nuevo vector con los datos modificados, "X" lo ligamos con el resultado de la suma, y los demás componentes con los que obtuvimos inicialmente pues no estamos modificandolos.
*Y finalmente, "movemos" o cambiamos los valores de locación de nuestro robot con:
New Action> Actor> Set Actor Location. Donde "Location" la ligamos con el vector nuevo (output vector) que obtuvimos en el paso anterior. Target lo ligamos al target del principio (el Robot).
Ahora pueden probar ejecutándolo como en los primeros pasos o presionar la tecla F8. Prueben presionando la tecla que le dijiste que escuchara en el primer paso del kismet.
Hagan sus pruebas también en cuanto a la distancia que se mueve con cada ejecución, yo para este ejemplo puse un número aleatorio.
Esquema completo:
18.Es hora de usar Matinee para agregar animación a nuestro robot (Mesh).
-Primero, vamos a las propiedades del robot....Doble clic en el robot.
Buscar en Skeletal Mesh Component>Skeletal Mesh Component>Anim Sets
Agregar en la cruz verde un nuevo componente, nos aparecerá en "none", e iremos a elegir uno. Abrimos el "Content Browser", si aun tenemos el filtro de contenidos lo regresamos a all o simplemente damos clic en la parte izquierda donde dice All Assets. Paso siguiente en el buscador de la parte superior escribimos AnimSet, nos saldrán varias opciones, buscaremos el set llamado AnimSet'CH_AnimHuman.Anims.K_AnimHuman_BaseMale' ( a manera de ejemplo ). Lo seleccionamos al igual que seleccionamos el robot en el paso 17 asterisco 3. Y nos regresamos a las propiedades del robot, ahora cliqueamos en la flecha verde que apareció cuando cliqueamos la cruz verde...
Quedando de esta manera:
Cerramos el content browser y las propiedades del mesh.
Regresamos a kismet, hacemos clic derecho y agregamos New Matinee
-Ligamos el Play al "repeated" del evento del botón.
-Ligamos el Stop/Pause al "Release"
-Doble clic en el recuadro amarillo (de matinne) para abrir Matinee.
19. Clic derecho en la columna del lado izquierdo Add New Empty Group.
-Les pedirá un nombre para el grupo, pongan el que quieran.
-Al estar seleccionado el nuevo grupo nos muestra las propiedades de este. Haremos lo mismo que hicimos en las propiedades del robot, para establecer el set de animaciones que tendremos disponibles en este grupo.
-Clic derecho en el nuevo grupo que apareció en la columna izq.
-Seleccionar Add New Anim Control Track.
-Clic en el icono Add Key para agregar nueva secuencia
-Nos aparecerá otra ventana preguntando que animación usaremos del set en cuestión, buscaremos (para fines del tutorial) la animación run_fwd_rif
Ahora, la animación debió aparecer en la linea de tiempo, solo ajustamos los indicadores de donde empieza y donde acaba la animación para que no tengamos retrasos a la orar de reproducirla ...
Salimos y regresamos a kismet...
20. Prácticamente hemos terminado hay muchas cosas por descubrir muchas herramientas que hay que aprender a usar. Al final he cambiado algunos enlaces del evento Key/Button Pressed para que la animación funcione un poco mejor:
Pressed->Play (Matinee)
Repeated->Play(Matinee) && In(Get Location and Rotation)
Released->Stop && Pause (Matinee)
NOTA: Si debajo del recuadro de matinee no se hubiera creado la variable New Group unido al robot solo abría que darle clic en la pestaña New Group (estamos en el recuadro de matinee que se ve en kismet) y New Object Var Using Skeletal.....
Lo prueban, ya debe moverse y a la vez ver la animación del mesh.
Espero que les ayude a muchos este tutorial, ya que a mi me costó entender como funcionaba este motor gráfico.
via Taringa.net - �ltimos posts http://ift.tt/OUDmrm
No hay comentarios:
Publicar un comentario