Will High Fidelity support PBR materials?


#1

With Unity 5 and Unreal Engine 4 embracing PBR, a lot of modern tooling and resources have emerged to support PBR workflows as well. Smaller engines are following the big ones’ lead in adopting PBR material systems.

So far it seems High Fidelity only supports the older diffuse, normal and specular workflow. Is this final?


#2

it also does lightmaps


#3

I can’t speak for HiFi, of course, but unless they are mis-using the term ‘alpha’, then nothing is final at the moment. Alpha software classically means things can change suddenly and backward-compatibility is not-at-all guaranteed. Once they start calling it ‘beta’ the basics would then be considered locked-in.

Even voxels (originally talked of as one of the big revolutionary features™ of HiFi) ended up on the back-burner, presumably because it didn’t live up to expectations - I am only guessing the reason there as I was not there and am not privy to internal discussions, only what is posted here!).

Oh, and having never heard of PBR materials, I went and looked it up. Most interesting.


#4

@sam is the graphics guru, a few weeks ago he was talking to us at the meeting and seemed to have way more ideas than time. Most of what he was talking about went over my head , but he was talking about https://www.shadertoy.com/
i think he mentioned PBR which I’m taking to mean physically based rendering ( I googled it to check and found professional bull riders)


#5

Yeah they mentioned it a few week ago at a meeting that they are going to support PBR materials, I tried some textures but it dont seem to be implemented yet.


#6

Re: Professional Bull Riders:

Heh. While the domain seems to have gone vacant within the past few weeks, I kept ending up at the site of OpenSim - some sort of medical/health simulation software which had nothing to do with OpenSimulator - when forgetting to type the full address. And there was a third-party SL viewer some time back - forget which - that was always landing me at some body-building site when I forgot to put the country-code on the end of the address.


#7

Well… if HiFi does ever decide to support Professional Bull Riders, I’m leaving. Those guys are mean.


#8

There is already much that the material system supports, really the key to PBR rendering for content developers will be having to change your diffuse channel and add roughness typically.

I can work with what we got for now, key to try and think about good normal maps and other baked textures. I find that hard enough getting that to high quality as is.


#9

:stuck_out_tongue: :wink:


I actually landed back on this thread while looking around at PBR in High Fidelity. @sam are we there yet? @Judas, any luck with bringing in PBR’s from blender models?

re: https://alphas.highfidelity.io/t/physically-based-rendering-judas-learning/10132/8


#10

As soon as we can manually override textures via scripts, technically it is feasible.

Current rendering is similar (light calculated from environment map + sun), but not quite PBR. I won’t call it PBR even though it has been mentioned that HiFi already has it.

This is because we are still missing ability to define maps specific to PBR, as FBX only supports non-PBR gen engine methods.

Eagerly still waiting for this to be implemented, but again doubtful considering their recent shift of focus.


#11

If we pay attention to the PRs, there is this little gem (since the devs seem to be too busy just to respond with anything either)

It will probably also lead to the ability to switch these textures via script, but right now it seems to be very Autodesk heavy, would like to have indirect support for Blender (or other suites) without having to purchase an Autodesk Subscription… I say indirect, because exporting from Cycles to fbx is a no go because it is a node based pbr. Thats why they are materials usually applied to the model within Unreal or Unity instead of read from the model.

Could be even just another entity property (for the texture) that is a jsonObject file where we define the list of materials (of the mesh object) which contain pointers to textures for normals, albeto, glossyness, metallicness, ao, etc. etc.

{
   "steel": {
      "normal": "example.png",
      "albedo": "example-albedo.png",
      "ao":"example-ao.png",
      "glossyness":"glossyness.png",
   ...
   },
   ...

}

instead of the


texture-name : texture.jpg 

that it currently is there that is not seemingly doing anything.

The some of us could create plugins into blender allowing these to be exported from cycles as “hifi materials”


#12

:> I was about to link to that PR. Those interested can go and test it and make comments in the PR. https://github.com/highfidelity/hifi/pull/7191


#13

vs Latest build on the PR

Seems like the color values set within blender are now fully ignored (see pupils, this including the overriding of the white values on specular reflectivity ) forcing us to put the values as absolutely how it is going to render on the textures them selves now.


#14

@Menithal can you add this to the PR


#15

Added a comment with the newest version of the PR.


#16