Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DX12 raytracing & IET updates for the HDRP template #7531

Merged
merged 30 commits into from
Oct 3, 2022

Conversation

pierre-unity
Copy link
Contributor

@pierre-unity pierre-unity commented Jul 5, 2022

Purpose of this PR

  1. The project has been switched to DX12 to allow for raytracing to be enabled easily.

  2. Two new HDRP assets and corresponding quality levels have been created for raytracing, called "Very High" and "Ultra"
    image

  3. The IET has been updated to reflect recent changes, and the images showing the former material ball have been updated
    image

  4. A new 3rd person character control has been added by Motiejus (the old one still exists in the hierarchy)
    image

  5. Added "Additional properties" page for the IET
    image

  6. Fixed wrong position for the collision proxy of the lounge chair
    image

  7. Added missing prefab edition scene
    image

  8. The default low/medium/high values for SSR and RTAO have been retuned to offer better results out of the box

  9. Lowered the handrails.
    image


Testing status

No particular testing done so far.


Comments to reviewers

When enabling raytracing, some bugs might be visible, these are not directly related to this PR but already exists.
For instance, this flickering in the 3rd room: https://jira.unity3d.com/browse/UUM-7911
Feel free to add more bugs related to raytracing.

@pierre-unity pierre-unity marked this pull request as ready for review August 12, 2022 11:39
@pierre-unity pierre-unity changed the title [DRAFT - DO NOT MERGE YET] DX12 raytracing & IET updates for the HDRP template DX12 raytracing & IET updates for the HDRP template Aug 12, 2022
@remi-chapelain
Copy link
Contributor

Very nice improvements ! 👏
I have a few comments:

  • Is it expected that by default DXR Activated is not checked by the wizard just after opening the project ?
    image
  • Is it possible to offset by only a little the spotlight so that they appear when using the pathtracer ? The culling must be a little different and when the camera is close they just disappear when using the pathtracer (see video1 video2)
    This is also true for spotlights inside the corridor (see video)
  • In Raytracing we should probably disable the receive motion occluder parameter to remove noise from the 3rd person controler (see video)
  • RTGI fallbacking on Reflection probe on the top of the room1 creates some lights artifacts that can be solved by just increasing the radius of one of the probe (see video)
  • Since there is 10% clear coat on the "SandblastMetal_Mat" (the baseboards), The Ray Traced Reflection are on the clear coat smooth layer and are calculated only to contribute at 10%. Even if it's subtle, I would suggest removing clear coat at all so that the RTR are calculated for the base layer and not for the 10% clear coat.
  • Directional fallback intensity should be at 1 outside and 0 inside (and blend nicely around the stairs) this leads to darkened reflection on the ROOM1 (see video)
  • There seems to be an issue with RTR. There shouldn't be the peter paning like this (I'll make a bug)
    image

The last ones are pretty subjective feedback and suggestion so I don't expect them to be "fixed" specifically, but still want to share them:

  • I know it's probably common, but I'm really disturbed by the shoulder offset of 1 of the character. Maybe it's just me, but since the camera is "far away", I, personnally, really would prefer the character to be centered. :)
  • Now that we have a nice 3rd person controller that can jump, could we also use it for the FPS (with a camera distance of 0 or something) to have one controller to rule them all ? Instead of having one complex and one very simple with different collider ?
  • How about making the helmet front more metallic to showcase a little more how RTR can look ? :p
    image

- slightly moved spotlights in 2 lamp prefabs for optimal path tracing
- disabled receive motion occluder for ssgi
- probe near exit of room 1 increased in size
- removed clear coat from sandblast metal
- set directional shadow fallback for room 1
  - Changed the way textures were resized. Used bicubic smoother instead of sharper
  - Manually painted the body normal map to fix some issues
@iM0ve
Copy link
Contributor

iM0ve commented Sep 8, 2022

This is how it looks after my last commit. I updated the textures (saved 1mb of space and fixed some things), adjusted the camera position.

Close up
Unity_APSUvEfDtZ

Starting position
Unity_BqNdhpCHmD

Rtx
rtx

@pierre-unity pierre-unity removed the request for review from RemyUnity September 10, 2022 11:59
@pierre-unity
Copy link
Contributor Author

Ready for review again, all known remaining issues have been fixed.

@remi-chapelain
Copy link
Contributor

remi-chapelain commented Sep 13, 2022

To me there's two slight things remaining, that are only really visible in the debug modes so I won't block anything for it.
It's more for the sake of it:

  • For the same reasons of RTGI, we could disable Receive Motion Rejection for the RTAO. (video)
  • Since RTGI ray miss fallbacks on reflection probe and sky, in the entrance of the room2, there's this big reflection probe (ReflectionProbe Room 1 Exit) that have a small blend distance for its size and it shows when looking at the debug mode as well. (video)
    It could be easily fixed by just increasing the blend distance to 5 or more.

@iM0ve iM0ve removed their request for review October 3, 2022 09:30
@sebastienlagarde sebastienlagarde merged commit f501983 into master Oct 3, 2022
sebastienlagarde added a commit that referenced this pull request Oct 3, 2022
* converted to DX12, added 2 new RT quality levels

* rebaked reflection probes and updated hdrp asset to work with new reflection probe atlas system

* updated RT settings, recaptured a few tutorial images

* Added 3rd person controller for testing
  - Renamed Scripts folder to Controllers
  - Deleted script SimpleCameraController because it was not used
  - Added 3rd person controller

* updated IET pages, cleaned up hierarchy, updated a few RT settings

* merged master, minor cleanups

* updated IET

* pushed auto updated materials

* updated materials

* pushed updated quality levels

* added "addtionnal properties" page

* added prefab editing scene

* fixed collision on chair (pivot was incorrect)

* fixed typos

* Added First person controller. Need to remove old one if this is better.

* Small tweaks to Controllers
  - Enabled Dithering
  - Tweaked the camera to feel more personal for 3rd
  - Created a prefab for 1st

* Removed old controller

* Update low/mid/high volume settings for RTAO and SSR

* implemented rendering feedback from Remi

- slightly moved spotlights in 2 lamp prefabs for optimal path tracing
- disabled receive motion occluder for ssgi
- probe near exit of room 1 increased in size
- removed clear coat from sandblast metal
- set directional shadow fallback for room 1

* Modified 3d Controller textures and changed its camera positioning
  - Changed the way textures were resized. Used bicubic smoother instead of sharper
  - Manually painted the body normal map to fix some issues

* Fixing last commit, didnt push material changes

* changed mask maps to be TIFs, fixed aliasing around visor, tuned iridescence, set max light cluster to 18 for raytracing to avoid light popping

* set texture to 8bit per channel rather than 16

* disabled receiver motion rejection for RT AO as well

* Renamed RTX presets, RT shadows are enabled for both, updated 1 tutorial pagae and 1 image

* Update CHANGELOG.md

* bump package version to 15.1

Co-authored-by: Motiejus Viltrakis <motiejus.viltrakis@hq.unity3d.com>
Co-authored-by: sebastienlagarde <sebastien@unity3d.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants