General
At the beginning of this sprint, we finalized the task distribution for the team.
My main responsibility on this cinematic project is to develop the water and waterfall systems.
I am also supporting Gabe S. by using Substance Designer to create several textures.
For this sprint, my primary focus is still the water work.
Since I was sick last week, I have been working hard this week to catch up with the schedule. At this point, I have completed the first version of the water shader/system.
Meetings and Documentation
At the beginning of this week, all of the Tech Art and 3D Art team members had a longer meeting to define the overall art style for the project. As a technical artist, one of my responsibilities was to help gather environment-related artist references.
Water
Since I am responsible for the water, I looked for several useful tutorials and breakdowns before starting development.
The most interesting reference I found was this one:
Stylized Water in UE5 Breakdown
This artist shared several techniques on X for creating stylized water in Unreal Engine.
His breakdown was very helpful for me.
He mentioned that he learned a lot from the following video, and I did as well:
How scrolling textures gave Super Mario Galaxy 2 its charm
This video explains many old-school water techniques used in Super Mario Galaxy. Even though these techniques are older, they are still valuable references today.
I recreated some of these ideas in Unreal. The current implementation is still simple, but after further refinement, some of these techniques should be useful for version 2 of my water system.
Because of the limited time for this version, my main goal was to establish the foundation and complete the basic rendering result.
The features and textures currently completed are:
Refraction and reflection effects
Adjustable shallow/deep water control
WPO waves + recalculated normals
Stylized shoreline wave effect
Water normal texture creation
Foam noise texture creation
The current water effect is partially compatible with Unreal's Water plugin. However, since the final environment will be built around an island, Unreal's official Water plugin may not always be the most convenient solution for our needs. Because of that, I implemented the wave motion using World Position Offset.
For the Gerstner wave implementation, I referenced this article.
Although the article is written for Unity, the logic can still be adapted to Unreal as long as the coordinate system differences are handled correctly. Unreal and Unity are both left-handed coordinate systems, but Unreal is Z-up while Unity is Y-up.
In the next version, I plan to start exploring:
Caustics effect
Sparkle/highlight effect
More stylized parameter controls
The goal is to push the water further toward a more stylized and cartoony look.
没有评论:
发表评论