Interactive Fiction | 3D Environment | 3D Modeling | Shaders & Materials | Blender | Unity
Overview
An interactive fiction set in a mysterious and untamed world. You take on the role of a wild creature navigating a lush, vibrant landscape that initially appears to be pure, untouched nature. However, as you venture deeper into this Madagascar-inspired environment, you begin to uncover hidden truths that challenge the perception of the world around you.
My Role
3D Modeling – Designed and created environmental assets, including trees, rocks, and bushes using Blender.
Technical Art – Implemented 3D assets and created visual effects & shaders to enhance the atmosphere and immersion.
Development – Utilized the 360 tool - a visual programming tool created by my instructor. To enhance the experience further, I customized the interactions feedback using the tool’s built-in options and implemented additional scripts for effects that couldn't be achieved solely with the tool.



Project Breakdown
3D Modeling
Our main inspiration was the baobab trees of Madagascar, known for their thick trunks, small branches, and wide-spread leaves. My partner suggested keeping the scene simple with low-poly models, using their geometric style as a key visual element. After creating the models, I exported them to Unity without textures or materials, allowing us to apply and fine-tune the colors with a toon shader in Unity.

Toon Shader Graph
For the toon shader, I began by following DomangoDev’s tutorial, "How to Make a Toon Shader in 2 Minutes | Unity". Since the shader was tied to our asset colors, I made it customizable with various variables, ensuring it was modular and easy to manage. After fine-tuning the shader, I tested it across different models to see how it interacted with the scene. Once we were satisfied with the base look of the shader, my designer partner adjusted the color palette in the material inspector to finalize the color theme of our project.


Water Shader Graph
For the water shader, I used Flaroon’s tutorial, "Unity Low Poly Water in Shader Graph With Foam" as a starting point. Since we wanted to create a waterfall without dealing with complex geometry, we kept the approach simple by using two planes—one for the falling water and another for the spilled water forming a small river. This method allowed us to achieve a natural river flow while maintaining an optimized setup.

Water Challenges & Solutions
One of the initial challenges we faced was the lack of volume the water shader had which blended too much with the ground.
To solve this, I placed a cube beneath the water plane, adding depth and dimension. This also created a visually appealing effect—when the water blended with the cube, it gave a natural-looking wave texture, enhancing the illusion of a flowing river.
To solve this, I placed a cube beneath the water plane, adding depth and dimension. This also created a visually appealing effect—when the water blended with the cube, it gave a natural-looking wave texture, enhancing the illusion of a flowing river.
Another issue arose with the waterfall. Since it was separate meshes for the vertical and horizontal water flow, it appeared disconnected and lacked a sense of continuous flow.
To solve this, I added steam particle effects to simulate mist rising from the waterfall and to seamlessly blend the split planes. it successfully created the illusion and the cohesive motion we were aiming for.
To solve this, I added steam particle effects to simulate mist rising from the waterfall and to seamlessly blend the split planes. it successfully created the illusion and the cohesive motion we were aiming for.