world_position_offset_p2

en Tutoriales, UE4

World position offset (Parte 2)

Esta es la segunda parte de la serie de tutoriales sobre world position offset

Parte 1: Transformada de posición
Parte 2: Redimensionar objetos

En el caso de que quisieramos redimensionar nuestro cubo en vez de aplicar una transformada de posición, esto tambien lo podriamos hacer utilizando el World Position Offset. En esta segunda parte del tutorial vamos a aprender como.

Para poder hacer esto vamos a necesitar encontrar una manera de enviar diferente información a cada vértice. Si enviamos el mismo desplazamiento de posición a todos los vertices estariamos desplazando el cubo de su posición, pero si cada vértice tiene un desplazamiento diferente entonces el modelo sufre una deformación.

cube_deformation

Podriamos decir que es un vector director del vértice. Podríamos utilizar la magnitud del vector para incrementar o reducir la distancia del desplazamiento, y su dirección controlaría la dirección del movimiento.

Para guardar esta información en los vértices del modelo vamos a utilizar la técnica del pintado de vértice o vertex painting.

Podemos abrir nuestro anterior modelo en Blender y activar la vista Vertex painting utilizando el selector de vista.

blender_vertex_paint

Para seleccionar solo un vértice podemos activar la opción de vértice justo al lado del selector de vista, y son la herramienta Select Box seleccionar el vértice en la vista 3D utilizando el click izquierdo del ratón. Podemos mantener pulsado Shift para seleccionar multiple vertices a la vez.

blender_vertex_select

Para elegir el color con el que vamos a pintar podemos hacer click derecho en la pantalla y nos aparecerá un selector de color.

blender_color_picker

Para pintar todos los vértices seleccionado utilizaremos la opción del menu Paint > Set Vertex Colors

blender_setcolor

Utilizando estos pasos vamos a pintar los vértices de la parte superior del modelo de blanco y los de la parte inferior de negro.

4cube_vertexpainting

Estamos utilizando el color como una máscara. Los vértices negros no se moverán de su posición original cuando utilizemos el world position offset, pero los vertices blancos si lo harán. Como vamos a definir solo un desplazamiento vertical utilizando el world position offset los cubos obtendrán una deformación igual a escalarlo en el eje vertical.

Ahora podemos utilizar este parámetro en nuestro Material de UE4 para aplicar la «máscara».

Cuando un modelo con información de Vertex Color es añadido a nuestro proyecto necesitamos comprobar que la opción de Vertex Color está en Replace para importar esta información de nuestro modelo.

ue4_import_vertex_color

En nuestro material podemos utilizar el nodo Vertex Color para obtener esta información.

material_vertex_color_node

Ahora podemos modificar nuestro anterior material para utilizar la información de color del vértice.

ue4_material_cube_scale

Utilizando este material los cubos de nuestro modelo tendran un escalado vertical en vez de desplazarse desde su posición original.

cube_deformation

Tutorial files

Ayudanos con este blog!

El último año he estado dedicando cada vez más tiempo a la creación de tutoriales, en su mayoria sobre desarrollo de videojuegos. Si crees que estos posts te han ayudado de alguna manera o incluso inspirado, por favor considera ayudarnos a mantener este blog con alguna de estas opciones. Gracias por hacerlo posible!

Escribe un comentario

Comentario