Search Unity

  1. Unity 2019.2 is now released.
    Dismiss Notice

[Official] 5.0 - Feedback request for PBR/Standard Shader

Discussion in 'Unity 5 Pre-order Beta' started by Erik-Juhl, Dec 1, 2014.

  1. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    3,560
    Who are you?

    Jason Booth, I'm currently the graphics programmer for Disruptor Beam, and previously worked at Harmonix and Turbine. I've been in the industry in a number of roles over the last 20 years..

    What kind of game are you trying to build or would like to build?

    Currently working on a Star Trek game.

    How does PBR fit into that? What use-cases do you have?

    We're mostly using PBR for the ships and space stations. The planets and such are all custom shaders and lighting solutions.

    What are the GOOD things about PBR that you like?

    The improved specular response, reflection probes, and more consistent material pipeline.

    What are the BAD things about PBR that you dislike?

    - Lack of control over render probe real-time rendering. I'd like to be able to reduce LOD levels, adjust draw distances, etc to make probe rendering faster. Also, I'd expect on hardware with a geometry shader that it could be done in one pass instead of 6.
    - Standard Shader. We don't really use it much, but it adds several megs of shader variants to the build. I'm also not a big fan of mega shaders, because they never have the options you need and lead to an explosion of shader variants at compile time.
    - Lack of documentation on writing non-surface shaders. I've had to dig through most of the code to find various calls, and the standard shader is no help due to the amount of options it contains.
    - Lack of documentation on what happens under different hardware specs, and what to do about it. Which hardware supports HDR, Linear workflow, Deferred, etc? We're basically running LDR/Gamma/Forward because it's the safest choice, though I'd much prefer HDR/Linear/Deferred.

    How can we make it BETTER?

    - Ditch the mega shader approach and approach it with a comprehensive shader graph; one that easily allows the community to write their own nodes, and exposes the types of optimizations needed for mobile (computing in the vertex shader and sending the result into the pixel shader). The standard shader places too many restrictions on texture packing, uv's and workflow for a modern pipeline.

    - Add temporal antialiasing and other techniques to deal with aliasing issues. Once you go PBR you tend to crank up the shiny, which tends to produce more aliasing issues that MSAA won't deal with in forward, and FXAA is just a slightly better 1/2 pixel blur for deferred.
    - Provide examples and documentation of all the random magic flags and various functions in the shader pipeline


    Do you like the PBR workflow?

    The specular approximation, reflection probes, and basic setup are much preferred to the old model.

    How do you spend most of your time working with our PBR features? Anything bogging you down?

    Mostly writing more optimal/customized shaders for our use cases, which mostly use our own lighting model but your specular and reflection models.

    When you learned to use our PBR, what stumped you or had a steep learning curve?

    Lack of documentation and examples of non-surface shaders.
     
  2. jaelove

    jaelove

    Joined:
    Jul 5, 2012
    Posts:
    291
    How can we make it BETTER?
    Definitely needs a Subsurface Scatter option for materials like skin.
     
    shkar-noori likes this.
  3. Cascho01

    Cascho01

    Joined:
    Mar 19, 2010
    Posts:
    1,101
    New standard shader in conjunction with ambient skylight gives a much better and realistic image quality than before. Also to have one "intelligent" shader that can be used for allmost all needs is pretty comfortable!
    I really like it. But:
    Please add a separate custom lightmapping section (usually on UV1)!
    This has often been requested from me and other users here and on other threads.
    Custom lightmaps on UV1 will collide with the detail maps for which we can choose between UV0 or UV1 right now.
    This would have the consequence that in the end detail maps will move to UV2.
    Please!
     
    Last edited: Feb 21, 2015
    Marc-Saubion likes this.
  4. The_Least

    The_Least

    Joined:
    Jan 21, 2015
    Posts:
    27
    Who are you?

    Writer and 3D generalist, now solo indie developer. Relatively new to Unity, but have worked in studios large (400+) and small (3-5).

    What kind of game are you trying to build or would like to build?

    Top-down explosive action in a large city environment with lots of physics and particle effects - targeting desktop.

    How does PBR fit into that? What use-cases do you have?

    Using it for basically all physical assets - buildings, vehicles, characters.

    What are the GOOD things about PBR that you like?

    Very easy to set up a new material quickly. Very flexible, easy to make quick changes and see immediate results. Works for 95% of my assets.

    What are the BAD things about PBR that you dislike?

    Is still quite basic in terms of the nodes/channels it supports - so as soon as I want a material that has different needs, the Standard shader becomes useless. Eg: Particles - I want smoke particles that have normal maps, transparency and take GI lighting, but also blend in a manner like the "Soft Particles" option when clipping other geometry.

    How can we make it BETTER?

    More optional channels! The more, the merrier. Especially options that make the shader useful for particle effects that are meant to look physical. SSS is always welcome too, though I wouldn't use it for my current project. Also, I haven't found an option to make transparent materials refractive... but that may just be my own noobiness.

    Do you like the PBR workflow?

    Yes. It's straightforward, and familiar (given my background in 3D art).

    How do you spend most of your time working with our PBR features? Anything bogging you down?

    I build all of my assets in Cinema 4D, so I generally pre-vis all of my materials there before taking them into Unity. Since C4D's standard shader is very similar, it's quite easy to recreate materials in Unity 5.

    When you learned to use our PBR, what stumped you or had a steep learning curve?

    The lack of a "Specular Map", and difficulty understanding the "Metallic" and "Smoothness" channels.