My PBR render is far from expectation

I am trying to make beach sand using PBR for better visuals. I have made a few textures that are added here to this post. I suspect one or more of those textures is causing the weirdness, but it could also be code related since I am new to babylon.js. Please let me know whether I need to work on the texture or the code? what is the problem here?

FIY: the look I am going for is more like the “albedo” itself, but with all the details, reflections and height maps.

Here is the render result:
render

Playground:

Hi and welcome to the Community,
You wouldn’t happen to have a picture of ‘your expectation’ at hand?
And then, without a PG it will be hard to tune it correctly. Don’t you have dropbox or git or any other allowed external sources?
Else, I can may be download the files for you and set-up the PG.
First thing that strikes me is how you assign some of these textures. Like the normal as a detailMap (with no normal). The reflectivity as a specular and then there are no levels set for either of these, starting with metallic which I believe for rocks would need a bit of a change on levels from the defaults. You’re also using PBR without an environment (except for that mostly black specular for reflectivity), and that sure doesn’t help either.
Well, let me know if you manage to set-up this PG or not and we’ll see how we can improve this.
Meanwhile, again, welcome to the forum and have a great day :sunglasses:

4 Likes

Hi Mawa,

Thank you for the suggestions. I have updated my post with a playground. As far as the “expectation”, I am looking for the albedo texture itself, just with the PBR features and not the pixel-like image.

LoL, didn’t think you would make it in time (my apologies :wink:)
Meanwhile, did set-up another base for you.
The pixelised image on my side comes from the source pictures I could download only at low-res from the link above. I tiled them 4 times so to be able to see a bit more than just a bunch of pixels :grinning:

This is just a base where I mostly copied your textures and assignment. Did a few real necessary twist to it. However, there are parts I feel not really needed (or even inappropriate) for this. Like MetallicReflectance and even the clearCoat (for rocks and sand). I mean they are not painted. I would rather have used a better normal and a better detail map. Anyways, currently, it already looks a bit better I suppose…

4 Likes

As you can see this is my first time creating PBR. For texture resolution, do I need to upscale to 4k or should I downscale to 512 instead?

PS: This is going to be a web-based bowling game. Eventually!

I’d say you can use the 2k version on desktop. For mobile however, particularly iOS, textures should not exceed 1k (and for iOS stay below 1mb).

Edit: I should have mentioned that it depends what the texture is for. If it’s a terrain, a fairly large terrain, you can use 4k or up to 8000px if its a single texture covering a medium terrain. But this texture will not load on mobile. Else you would have to tile it or use a mixMaterial