Export PBR textures from Blender (Water)


Being inspired by projects like these: In-Game Realistic Ocean Thunderstorm, Seamless, endless, and performant custom water using skinned meshes and PBR.
I wondered how they were able to create such realistic looking water textures. I saw this thing called PBR: Physically Based Rendering and it’s implementation in Roblox: SurfaceAppearance, and set out to try creating realistic water.

In this tutorial I will show you how you can use Blender (an awesome piece of FOSS) to export PBR materials for use in Roblox.

You should be pretty familiar with Blender to follow this tutorial, as I won’t be covering every step. Make sure to ask questions if you have any.

Let’s start!
To export textures, I used this awesome Blender plugin: GitHub - danielenger/Principled-Baker: Blender Add-on: Bake PBR textures with a few clicks
This tutorial can help you with the installation: Baking PBR Materials to Textures from Blender to Unity | NODRAGEM GAMES

For making the water material I used this resource: Realistic Water Shader - CYCLES volumes - Blender Tests - Blender Artists Community

Here’s my modified version:

For finally baking the material, make sure to tick these boxes inside the “Bake list”:
The exported images go respectively under ColorMap, MetalnessMap, RoughnessMap and NormalMap.

Here’s the finished result:

Make sure to post any improvements or mistakes I made, and I will try to update this post.
Thanks for reading!


I wasn’t very pleased with the texture of my water, so I looked around for some more realistic textures and I found this video.
The shader in blender looks like this:

And here’s how it looks in-game with EnvironmentSpecularScale set to 1:

Much better!

I also didn’t use the ColorMap property. This way I can easily change the color of the ocean, whilst still retaining the realistic reflections:

Here are the assetId’s:
Colormap: empty
MetalnessMap: 6697862789
NormalMap: 6697865338
RoughnessMap: 6697866266