/ / Mappatura dei parametri Unity3D Light a OpenGL - opengl, unity3d

Mappatura dei parametri Unity3D Light in OpenGL - opengl, unity3d

La mia azienda ha creato un editor di livello interno in Unity3D per un gioco basato su OpenGL. Il problema è che ho problemi a mappare il modello di illuminazione di Unity con OpenGLs.

La maggior parte delle impostazioni sulle spie di Unity ha senso, anche se ho problemi a mappare "range" all'attenuazione costante, lineare e quadratica di OpenGL.

In Unity "range" sembra essere la distanza in cui "nessuna luce" (una quantità minuscola) viene ricevuta dalla superficie. Ho ottenuto delle approssimazioni per funzionare, tuttavia mi piacerebbe conoscere la mappatura corretta.

risposte:

0 per risposta № 1

La gamma non ha in realtà alcun senso, dal momento chetecnicamente la luce è governata da un decadimento di 1 / r². La pipeline a funzione fissa OpenGL offre due fattori di attenuazione: uno lineare e uno quadratico. Nel caso lineare il fattore lineare sarebbe semplicemente 1 / range, ma l'illuminazione risultante non sembrerebbe naturale: in un caso di attenuazione quadratica si potrebbe assumere la distanza per cui la luce si è attenuata a 1/10 come intervallo (assumendo il falloff per il bit meno significativo suona meglio in teoria, ma porterà a un falloff troppo breve).