This week I've continued working on procedural spline trees, the world canvas masking system, troubleshooting those, and spent a lot of time trying to flesh out my idea conceptually a bit more.
TREES
The strategy I'm using to develop my trees has changed a bit - last week I had started building it by generating cylindrical segments along a spline. My new idea is similar, but instead I am using spline meshes to deform a single mesh between each point on a spline - so the deformation of a single mesh defines the curve of the tree rather than being comprised of a bunch of smaller segments. Originally I had been worried about too much stretching between these points, but I don't think I am going to need to deform so much per segment that this would pose a problem. This first image shows this using a cylinder as the spline mesh and offsetting the vertices along their vertex normal by a noise projected in world space in the shader using World Position Offset. It's got a tiling paint strokey normal map on it that I was testing with. Right now, as is, this is pretty bland looking and there are some seam issues. Alternatively, it might be more suitable and still provide enough variation to create a customized trunk mesh, or maybe a couple customized trunk meshes, and simply deform them between a start and an end point. This is what I'm doing here with this branch mesh. It seems like this can still provide quite a variety of outputs in silhouette. The deformation of this branch is also affected by the scaling and rotation of the tangents of these start and end points. |
My method for breaking down these trees into parts is nothing too complex - a spline mesh for the trunk, the possibility to generate branches along the trunk, the ability for the trunk to split off into several different main branches, secondary branches that can come off of those branches, and finally, tertiary branches that will most likely be planes with texture maps of branches and leaves. The trunk, primary, and secondary branches would be controllable per-instance by user-controlled deformation along spline meshes.
| I spent a bit of time trying to figuring out the style for my creation of normal maps. I know I want something a bit chunkier looking, that imitates the blotchy nature of paint strokes. This normal map was sculpted in Zbrush. I'm excited to start working with diffuse and roughness to begin developing the look I want in my materials. |
DYNAMIC CANVAS MASKING
Here's a quick video of a test showing my still in progress world mask based on drawing to a dynamic texture on cross-sections. I worked out a few quirks this week, but this still requires a lot of additional layers to get it looking like a nice, stylized, smooth unveiling. You can see where I paint on each cross-section plane is hooked up to the opacity mask of a shader that has been applied to a sphere. Normally, in game, these planes wouldn't be visible. Instead of using this as a constant mechanism, I'd like it to be triggered only occasionally, at areas where the transitioning to the other dreamscape would occur.
STRUCTURE
This week I zoomed out to the bigger picture of my project again. Figuring out the level of how far I want to take the idea of an emergent, procedural environment has been a major hurdle for me. I want this to feel fluid, but having so little set in stone has been tough and abstract to think about and deal with, and achieve the sense of an intentional environment that I want. I had initially thought about even making the landscape in tiles and randomly generate those as you move through space and reach the end of one tile. Working too much with procedural generation of the world might inhibit me from designing and directing the very purposeful space and mood that I want. I've decided that I'd still like to work with procedurally constructing assets, because I feel like that enables a lot of potential for a living and dynamic environment, but I feel like the actual landscape and for the most part, the space different objects occupy, will be predetermined.
CONCEPT
I've developed my ideas for the two dreamscapes thematically, based on the mood I get from the kinds of spaces my mind makes up.
The first space is based around the idea of things that are familiar to us, a part of our every day lives, and the way that we combine those experiences in different ways. This dreamscape will be a woodsy area, warmer in color palette with the feeling of patchy, early morning light. Incorporated in this natural environment will be unexpected manmade features; city elements like traffic lights strewn between hills across a valley, architectural elements on trees, cross sections of houses scattered across the landscape. Pieces of our every day lives in surreal, juxtaposed vignettes. This space would be dream-like and disorienting in the way that something isn't quite right, but not unsettling. A dynamic element might be making trees grow with where you are looking.
The second space is a bit darker, a beach with an overcast sky, and large, encompassing, cage-like rock formations. I intend this space to feel a bit more claustrophobic and isolated. The tone would be more in line with our fears, the forgotten, and the foreign. This wouldn't be necessarily a nightmare, just more reflective of our thoughts that are a bit less comforting, unfamiliar to us, and colder. I'd like to incorporate the visual of a large candle melting, but melting a golden amber substance that encapsulates things that have been lost or forgotten, like old electronics, junk, or maybe even graves. Cave entrances could lead into attic-like spaces. I could envision an interesting transition with a boat sitting on the water and the water seeping away, leaving the boat immobile on the sand.
I want the ability to transition back and forth between these spaces while navigating - there won't be an "ending" or a linear chain to follow. These transitions would be at predefined locations/interactions but the transition would still be open and responsive to the player.
The first space is based around the idea of things that are familiar to us, a part of our every day lives, and the way that we combine those experiences in different ways. This dreamscape will be a woodsy area, warmer in color palette with the feeling of patchy, early morning light. Incorporated in this natural environment will be unexpected manmade features; city elements like traffic lights strewn between hills across a valley, architectural elements on trees, cross sections of houses scattered across the landscape. Pieces of our every day lives in surreal, juxtaposed vignettes. This space would be dream-like and disorienting in the way that something isn't quite right, but not unsettling. A dynamic element might be making trees grow with where you are looking.
The second space is a bit darker, a beach with an overcast sky, and large, encompassing, cage-like rock formations. I intend this space to feel a bit more claustrophobic and isolated. The tone would be more in line with our fears, the forgotten, and the foreign. This wouldn't be necessarily a nightmare, just more reflective of our thoughts that are a bit less comforting, unfamiliar to us, and colder. I'd like to incorporate the visual of a large candle melting, but melting a golden amber substance that encapsulates things that have been lost or forgotten, like old electronics, junk, or maybe even graves. Cave entrances could lead into attic-like spaces. I could envision an interesting transition with a boat sitting on the water and the water seeping away, leaving the boat immobile on the sand.
I want the ability to transition back and forth between these spaces while navigating - there won't be an "ending" or a linear chain to follow. These transitions would be at predefined locations/interactions but the transition would still be open and responsive to the player.
Interpretations of dreams seem to try to look for deep-seated psychological reasons why you might be dreaming about something, like that your teeth falling out is symbolic for your fear of losing money. In my opinion, that's a pretty far reach and a very overgeneralized assumption.
I find the reason why we dream things is pretty unfounded. Sometimes it's a direct and obvious correlation to something happening in our lives. Other times our brain just pairs up various experiences and directs them in a way that takes on the way we might be feeling about something, but isn't directly related to events in our lives. And the remaining times, we might dream things entirely haphazardly. Our brains just pick something and our subconscious reacts and gets carried away with it.
I find the reason why we dream things is pretty unfounded. Sometimes it's a direct and obvious correlation to something happening in our lives. Other times our brain just pairs up various experiences and directs them in a way that takes on the way we might be feeling about something, but isn't directly related to events in our lives. And the remaining times, we might dream things entirely haphazardly. Our brains just pick something and our subconscious reacts and gets carried away with it.
WORK LOG
Testing stylized normal map creation: 5 hours
Dynamic masking system: 4 hours
Tree and spline testing: 6 hours
Blog and blog response: 2 hours
Painting: 2 hours
Brainstorming and conceptualizing: All of the rest of my free time
"Researching" dreams: Every night, and sometimes naps
Dynamic masking system: 4 hours
Tree and spline testing: 6 hours
Blog and blog response: 2 hours
Painting: 2 hours
Brainstorming and conceptualizing: All of the rest of my free time
"Researching" dreams: Every night, and sometimes naps
Next week, I'll be working towards a complete method for generating the tree asset in its entirety, deformable by splines per instance with procedurally generated sockets for branches. I hope to also show some tests with materials and modifying the look of the world mask.