Color is not matching after applying URP post processing

Hello, I am trying to replicate google model viewer rendering look and feel in Unity.
I am using URP sample demo project with high configurations.
I have added the same HDRI setup in my Unity scene.

To match the rendering view with google model viewer, I am applying post-processing, but with it actual color of the model is changing. even when I am using Unlit textures then also due to post processing it’s changing.

global volume

  • in Color adjustments: contrast, saturation, post exposure.
  • in Color Curves: Master curve, red hue curve.
  • also tried comparing both modes tone-mapping mode, and both has slight differences in color mainly.
Unity Viewer Neutral VS Godel Viewer Neutral 
Unity Viewer ACES VS Google viewer ACES

Lighting settings

  • Environmental lights, Neutral HDRI and reflections with realtime GI.
  • HDRI’s exposure and angle mapped exactly. color difference exist there also.

Maybe I should not use post processing, but then model looks very off-color/grey/bright etc.
And with Post-processing mainly color is getting messy.

Should I use some other configuration rather then post-processing?

Any help or clue would be really appreciative related to this.
Thank in advance!

Tonemapping plays a big role with modern rendering especially when dealing with HDRs, it’s very likely the google model viewer has a different tonemapper than what unity has (Neutral, ACES).

the only way to really know is to look into the details of the google model viewer. And if so, you’d have to implement that tonemapper to get the same look.

Thank you for replying @sacb0y !

Surely here Neutral tone-mapping is being which is same on google model viewer.
Actually tried comparing both modes, and both has slight differences in color mainly.

Unity Viewer Neutral VS Godel Viewer Neutral
Unity Viewer ACES VS Google viewer ACES

Additionally

  • Using only Environmental lights and reflections with realtime GI.
  • HDRI’s exposure and angle mapped exactly. color difference exist there also.

Even what could be described as neutral could be different.

PBR Neutral Tone Mapping (modelviewer.dev)

I remembered someone posted this on discord, perhaps what google uses as neutral is different than what unity uses. Hard to say.

the only solution might be to copy the tonemapper and implement it yourself.

You may also need to bake the scene as well since i think ambient colors aren’t updated automatically anymore.

Gotcha @sacb0y , Yeah I tried replicating PBR neutral tone mapper in Unity, after multiple iterations of creating it as per reference. it’s still having huge differences.

To exactly build it as per reference will take longer and I am quite near to deadline to complete this project.

Do we have any pre-available solution for this problem?