Categories
3D Computer Animation Fundamentals Immersion

Unreal Engine – Immersion Project – 5+6 – Curtain

One of the biggest aspects of the room I want to create is the curtain, it represents a large and comforting first step to the nightmare our player is going to experience. Once the curtain has been drawn, the game essentially begins. I began by looking for assets, and opted to create my own cloth in order to have more control over the dynamics.

I am essentially learning Blender from scratch, so I’m documenting my process here too to look back on. I start by adding a line mesh.

Then, subdividing it and selecting all points, selecting in checker mode and moving every odd point forward on the X axis.

I then extruded it down the Z axis and subdivided it, ensuring that I also subdivide on the top and side edges in order to have something to constrain it by. This will make sure the overall shape of the curtain is maintained.

I wasn’t quite sure what the problem was here, maybe I had accidentally extruded it on the X axis, creating an object that acts more as a cushion than a flat cloth.

Here is the cloth mesh with all the appropriate subdivisions.

Separating and creating vertex groups in order to control the cloth animation more.

Here I show the lines I selected in order to do so.

By viewing and correcting normals, I can ensure that the animation won’t have jagged or unnatural movements.

This is the end result. After the curtain was simulated using cloth dynamics, I removed the pressure in order to have it rest at a natural position. I then keyframed animation to have the curtain expand on an axis, this was baked in and the asset was exported as an FBX.

Then, I added the FBX file to UE. Adding a blueprint, painting the mesh with a cloth brush – leaving the polygons at the top. I then tweaked the cloth settings in order to create a more natural, realistic look.

Here is a bug I encountered, causing the curtain to bug even though there aren’t any objects colliding with it and I had self-collisions turned off.

I intend for the animation to play once the play has clicked on the curtain, this is what the event player looks like.

I then added a few more nodes so that the animation doesn’t play again once it’s already been triggered



Just some further experimentation with ideas, I like the visual of having a creature so big that it can stand up at a high windowsill and look in, this was quite fun to draw as well.

And now for some more practical experiements:

I got started on getting the room together, this curtain asset proved helpful for creating a sense of scale and knowing how things will be positioned in my scene, but I want to actually create my own assets so that I can produce and manipulate cloth dynamics, and make my game feel a little bit more alive.

For this, I have been using Blender. I am actually completely new to this software, but its modeling capabilities and malleability is actually a lot better than C4D so you know what? Sure. I’ll bite. Here are a few screenshots from my journey in creating this curtain mesh.

Already noticing how easy it is to manipulate points and splines in Blender.
Just learning how to fix the normals in this screenshot

And here is the first issue I ran into during this project! I think I had extruded the polygons incorrectly, causing the dynamics to act as if the mesh is more of a pillow than a curtain, this took me a while to fix but when I had it sorted it was kind of smooth sailing.

I introduced some dynamics and then baked a position I liked into a mesh, this will essentially be what UE starts off with before I reapply cloth dynamics to it, allowing it to rest in a more natural position that it would be in otherwise.

In this screenshot I start playing around with these cloth dynamics, the way it’s handled in UE is quite unique compared to c4d and Blender but I’m getting the hang of it. After a little while, once I had read up on the mechanics online I got it into a shape that I was happy with.
Clearly I had some more learning to do.
One thing I forgot to mention, I animated the curtain expanding (closing) in blender and exported it alongside the curtain mesh in unreal, here is my first node logic attempt. In retrospect, now I know how node logic actually works, this is kind of funny.
Here I find a few meshes that I liked and positioned them in the scene to both start shaping everything out and to also have a better idea of how I want the game mechanics to work together. The smaller window is a copy of the big one but with half of it booled off, I use UE’s boole function a lot to quickly model parts of the scene.
In this screenshot I display how I set up the event to trigger at the end of the curtain animation, which should in theory stop the animation from looping. I don’t use this as there are better and easier ways to track this sort of stuff, but I just wanted to show my thought process.

I familiarised my self with boolean variables and custom events here, I also learned how to utilise components within blueprints as references. This BP doesn’t have a lot of capabilities that I end up adding in later on.

Here is some node logic that I played around with for hours trying to make work, the idea here was to make it so that the curtain animates where I click, so that there is some distortion and an increased connection between the player and the game. I want to make it look like a hand is pulling at the curtain as it moves towards closing. Unfortunately, this took way too long and I was making zero progress, I tried every single way I could imagine but to no avail, time to move on.

Leave a Reply

Your email address will not be published. Required fields are marked *