top of page
PS3.png
Rectangle 78.png

Rosemist Windvale​

Rectangle 84.png

Introduction

Rosemist Windvale is a small town tucked between forests and rolling hills. At dawn, a blush-tinted mist rises from the grass and hedges like cloud wisps stirred by the windmill softly glazing the village edges in rose. Locals believe the fog carries messages from the wind, so when lanterns glow at dusk, people often linger by the plaza fountain, waiting for the haze to thin before deciding whether to follow the path toward the distant windmill and the castle ruins beyond.

Rectangle 84.png

Background

This scene is set in a small valley town surrounded by forests and soft hills. A light pink mist rolls in during mornings and evenings, making the streets and rooftops feel calm and dreamy. There is a fountain in the center, plus a windmill and old ruins in the distance, hinting that there is more to discover if you keep walking.

Date of completion: Dec 2025

Rectangle 84.png

Software&Role

PyCharm
Unreal Engien
Blender
Substance Designer
Photoshop

Environment Artist
Technical Artist: Rendering

Detail

89898989.png
2344.png

UE Landscape

Rectangle 84.png
1 58.png
Rectangle 84.png

I blocked out the terrain with broad hills and set the main height shapes first, then painted several grass and dirt layers on the surface. For materials, I set up an RVT workflow, writing landscape data into a Runtime Virtual Texture and sampling it in the grass material. Texture scale is controlled with a tiling parameter, and I used a few color parameters for overall color adjustment.

1212 1.png
393939.png
89898989.png
Rectangle 84.png

I modeled simple grass cards in Blender, set up UVs, and prepared an opacity mask texture, then created a wind noise texture and a grass detail texture in Substance Designer. In Unreal, I built the grass material by panning the noise texture and exposing parameters like Tiling, Speed, and Amount, then wired the result into color variation and the SimpleGrassWind setup. Finally, I used Blueprint to create a dynamic material instance and drove the wind parameters with a Timeline.

Stylize Grass

89898989.png

VDB Cloud

I wrote a Blender addon in Python called VDB Cloud Fog Helper and placed it in the View3D sidebar. It validates the selection and only activates when a Fluid Domain is selected. The addon includes two preset buttons, Fog Profile and Cloud Profile, which apply common domain settings like resolution, time scale, vorticity, and noise. It also provides Bake Data / Bake Noise / Bake All buttons that set the cache to OpenVDB, sync the cache frame range with the timeline, and trigger Blender baking via a context override.

Rectangle 84.png
屏幕截图 2025-12-13 211645 2.png
89898989.png
Rectangle 84.png

I implemented a custom HLSL volume shading helper for VDB clouds and integrated it into an Unreal Engine material via Custom nodes. The shader evaluates density, scattering albedo, and emission separately, and exposes art-directable controls such as a height-based gradient, camera-distance fade, and soft sphere/box falloff masks for shaping the cloud volume. To break up uniformity, it layers 3D noise to add internal variation and depth. In the material graph, I compute 0–1 local volume UVW from the object bounds, sample the imported sparse volume texture, and route the resulting density/albedo/emission into UE’s real-time volumetric shading to achieve the layered pink cloud look.

Contact

I'm always looking for new and exciting opportunities. Let's connect.

+86 18978911207

© 2025 by Yiyi Huang (Freya). Powered and secured by Wix
bottom of page