bevyengine / bevy

A refreshingly simple data-driven game engine built in Rust
https://bevyengine.org
Apache License 2.0
35.66k stars 3.53k forks source link

"emissive strength" should have a separate field in StandardMaterial, rather than needing large color channel values #12251

Open bcolloran opened 7 months ago

bcolloran commented 7 months ago

Bevy version

0.13

What you did

After updating to 0.13, tried updating my Bevy render settings to approximate what I see in Blender (at least as well as they had under 0.12).

What went wrong

I got everything looking pretty good other than emissive materials, which were too dim. I tried poking around for the Bevy equivalent of Blender's "emissive strength" material option expecting to find a component somewhere that is separate from the color or texture used foe emission.

After looking around for a while, I asked on discord and learned that color channel values can go above 1.0 in the case of the emissive field, and there is no separate field for emissive strength.

IMO, this is problematic because:

wentao commented 3 months ago

I encounter the same issue when exporting a blender model with emissive color and strength of 20. In bevy, the emissive color is not emissive at all. If I increase the strength in blender to be something like 2000, then the bevy will render it with glowing effect. However, 2000 strength in blender is just too bright to be usable.

It looks like the emissive color + strength defined in blender is not rendered consistently in bevy.