Segmented Dimming questions

Give us as much detail as possible regarding the issue you're experiencing.

Unity Editor version: 2022.2.0b10
ML2 OS version: 1.1.0-dev2
MLSDK version: v1.1.0-dev2
Host OS: (Windows/MacOS) Windows 11

The following questions and information will be based on the Segmented dimming and Global dimming documentation. I have integrated global dimming into our working project on the ML2 device. I have followed the segmented dimming guide and believe I have properly followed the guide to the point where I know the headset has segmented dimming activated in settings as well as being activated in the default script provided in the documentation.

Currently not noticing differences in the visuals of the objects I have placed segmented dimming masks on.

The following information will hopefully state my questions as well as thoughts on the segmented dimming experience so far. Global dimming has a "SetValue()" function that allows you to manipulate the strength of the darkening effect. I had expected a similar functionality with the Segmented dimming especially considering the documentation(dimming design guidelines) itself has examples of this exact functionality.

In what method are we to know the strength of the Segmented dimming? Is the segmented dimming currently an automated or static value? Is it directly connected to the global dimming SetValue? In what way can we alter for added or reduced effect the segmented dimming value?

1 Like

Hi @robert.ellis Thank you for your post. I spoke to our Dimming team, please see the following:

Each object with segmented dimming should have a material that returns a value between 0 and 1 on all 4 channels. This value will be the dimmer strength.

The Segmented Dimmer Render Pass take its value from the material so it should be manually specified.

The Segmented Dimmer’s maximum value is clamped by the user’s max global dimmer setting. To reduce the dimmer, a darker value should be set in the shader. For example, a dimmer value of 0 is fully transparent and a dimmer value of 1 is fully opaque.

Please let me know if this helps you.


Hi @kdowney This is very helpful I do see now that the SegmentedDimmer/MaskShader has a "display opacity" variable used for changing the dimmer strength of the material.

By default the display opacity variable seems to be set to max dimming of 1 or full opaque yet these shaders are hidden and the value unchangeable while hidden.

I do believe it should be a simple fix on our side to copy the shader.

Thank you again, I will check over results after making some changes and get back to you and your team with further questions!


I also meant to add:

For the provided segmented dimmer material in the Magic Leap XR Plugin package (called SegmentedDimmerMaterial), this value is called DisplayOpacity and can be accessed with the variable name _DimmingValue.