microsoft / microsoft/MixedReality-GraphicsTools-Unity

Box projection for reflection probes

Aperta
#54 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

enhancement good first issue
Lingua principale
C#
Stelle
209
Fork
49
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Original issue: https://github.com/microsoft/MixedRealityToolkit-Unity/issues/9150

Describe the problem

Box projection doesn't seem to work on the MRTK standard shaders, which causes really bad reflective surfaces for head mounted displays (especially in rooms)

Describe the solution you'd like

Enable box projection for reflection probes to work with the MRTK standard shader

Describe alternatives you've considered

Writing some custom shader

Additional context

the MRTK/Standard shader does not account for box projection (or reflection probe blending). We should call this out in the docs.

To properly support box projection we need to introduce a call to the BoxProjectedCubemapDirection method within UnityStandardUtils. There is a great example of the changes need on this page: https://catlikecoding.com/unity/tutorials/rendering/part-8/

Thanks @Cameron-Micka I tweaked the shader so the worldReflection parameter reads as follows:

float3 worldReflection = BoxProjectedCubemapDirection(reflect(incident, worldNormal), i.worldPosition, unity_SpecCube0_ProbePosition, unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax);

I didn't add blending as I didn't need it (yet), so this does the trick so far

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia individuando lo MRTK standard shader e il suo utilizzo di UnityStandardUtils, quindi confronta il percorso delle reflection probes con l'esempio BoxProjectedCubemapDirection collegato nell'issue. Il lavoro è completato quando la proiezione a riquadro funziona per le reflection probes nello MRTK standard shader e il comportamento rilevante dello shader è stato verificato su superfici riflettenti.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
unity
Ambito
computer-graphics
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.