UnrealEngine

UE4: Spline

Publicado por

Sirve para poder manipular un modelo estático (debe ser modelado pensando en esta finalidad) con el objetivo de colocarlo en el escenario de la manera más personalizada posible.

Como se controla

Cada punto del “Spline” tiene su propio “Gizmo” y a su vez, tiene otros dos puntos internos con otros dos “Gizmos”. De esta manera cambiando la posición de sus puntos de manera individual podremos conseguir que la tangente del SPLINE se vaya curvando y con ella, el modelo estático, se podría decir que es un sistema casero de esqueleto.

Si hacemos click encima del modelo, podremos tratarlo como cualquier actor en el nivel, para acceder a sus propiedades debemos hacer click en los puntos del “Spline”.

Si hacemos click en un punto externo del modelo también tenemos otra opción, si seleccionamos el punto principal (Blancos, no los naranjas) y tenemos el alt presionado mientras movemos su posición, crearemos una copia del modelo estático original que ira acoplada de forma correcta al modelo ya existente. Con un ejemplo lo vemos mejor:

Ahora solo falta practicar un poco para entender al 100% la lógica de lo explicado.

Programación

Para preparar un actor de tipo SPLINE abriremos un “Blueprint Class” y añadiremos un componente de tipo SPLINE.

Después debemos sustituir el “DefaultSceneRoot” por el nuevo componente, quedando así:

Una vez hecho esto, el viewport debería de verse de esta manera:

Ahora sí, podemos pasas a su “constructor” y empezar la secuencia de código. Declararemos 3 variables, llamadas “staticMesh” de tipo staticMesh, “forwardAxis” de tipo enum (esta variable la crearemos haciendo un “promote to variable” de un nodo del código) y “collision” de tipo boolean. 

IMPORTANTE!!!!

Declararemos las 3 variables públicas, para hacer esto haremos click sobre el ojo cerrado que tienen a la izquierda, quedando públicas de esta manera.


Crearemos el código que debe de quedar de esta manera, Consejo… -> intenta entenderlo, es difícil de explicar punto por punto pero se puede entender perfectamente.

IMPORTANTE!!!!

El tipo de colisión debe de ser “query only»

Información facilitada por parte del usuario @SirOdrid

Dejar un comentario