Over my spring break, I went on a week long trip to the Southwest with the College of Imaging Arts and Sciences honors group at Rochester Institute of Technology. Seeing so many unique rock formations was enlightening and a great source of appropriately timed inspiration and reference. This past week I've been dipping my toes back into my project with some newfound perspective.
Here are several things I've worked on this week, or will be working on in the near future:
- Populating the environment. Although minimalism can sometimes feel dream-like, the map I've been working with has primarily been a test scene. I'd like to give this shoreline area a sense of space and add more rocks to accompany the main rock arch I've been testing with.
- Pushing the painted visual style to be even more loose and expressive. I've started to do that this week just a bit with the rock, but I'll be continuing to work on this for the ground, the ocean waves, and the boat.
Recently I rediscovered my love for JMW Turner's paintings. His ability to effectively capture and communicate a scene or a moment with such expressive brush strokes and colors is something that's really inspiring to me, and my vision for this piece. I admire the way solid objects seem to dematerialize into atmosphere -- that fluidity of matter is something I'd like to achieve in my work as well. With all of his seaside themed paintings, it's a wonder I haven't been looking to these paintings all along! But it's never too late for some fresh inspiration.
- Melting rocks. My vision for the rocks on the beach was that they represent hardened, fossilized memories. Your memories from your conscious brain are what dictate the things your subconscious dreams of. As the player, you can melt them to access these memories and fuel your dreams, creating more of the environment around you. I hope to have the rocks melt and form the ocean that the boat materializes onto. I've been thinking of this as a mechanism that will tie the interactive environment together into a cohesive, self-contained dream playground.
Here's a test I did with flow maps for the wax melting. This setup involves a normal and height map's UVs panning by a 2D flow map I've painted. It is revealed by a linear gradient mask being pushed down. The mask is blended with the flow mapped height map and a noise to break up the linear quality.
What works pretty simply on a cylinder is a little bit more difficult on a complex model. So I've been spending some time trying to work out a method to get the wax flowing along the surface angle of the rock arch model seamlessly. I've painted a world space flow map using Mari's Vector Brush tool, and I'm using that as a flow map to modify the projected UVs of my flow texture.
- Materialization effects. I want to create the feeling that the environment is forming organically as you continue to walk, or dream. Here is an example of the material effect I've been working on where the rock arch is materializing as you walk forward.
- A sky. Here's something I've neglected so far! A sky can be quite expressive and contribute a lot to the mood of an environment. I've started to set one up, though this still has a ways to go. My idea is to use flow maps to create clouds that move in a streaky, swirling pattern. As you near the boat, I'd like this sky to darken and become even more tumultuous.
- Refinements. This week I tweaked the boat's buoyancy and added a rock to it so it isn't a straight up and down bob. This is done by simply modifying the rotation of the meshes within the boat Blueprint on a sine wave over time.
- Procedural spline tree system, animated to enable growing trees. I hadn't worked with it in a while, but last semester I spent quite a bit of my time developing a procedural spline tree system, which is based around Unreal Engine 4's spline and spline mesh actors and uses a recursive method in a Blueprint for generating branches. The idea that motivated me to develop this was to enable trees to grow around you dynamically.
This week I've started to figure out my method for animating the components of the spline tree. My idea is to have an auxiliary spline that serves as a motion path curve that the spline points of each component can follow. Their movement, or distance along this motion path spline would be determined by a Timeline in the level blueprint, so that its movement can ease and not be completely linear.
This works well for the trunk so far. The issue with the primary branches and all of the following tiers will be maintaining the relative position of the child branch on its parent branch as they both animate. Additionally, a custom set motion path for every single branch would be a ridiculous amount of setup and user control, so I hope to automate the motion paths for the recursive, procedurally generated branches.
Here are some lower priority, but still important tasks I've been considering:
A character. I've been imagining this environment being explored in third-person, perhaps by a flying light orb character with a ribbon-like light trail.
Music. An ambient soundscape would set a nice, quiet mood for this environment.