見出し画像

Magic Leap2 の Global Dimming

はじめに

この記事は、Magic Leap2 Advent Calendar 2022 の3日目です。
Magic Leap2 の Global Dimming の実装方法について説明します。


OnePlanet XR について

https://1planet.co.jp/xrconsulting.html

このブログ記事は OnePlanet XR によるものです。
OnePlanet XR は、AR/MR/VPS技術に専門特化したコンサルティングサービスです。豊富な実績を元に、AR/MR技術を活用した新たな事業の立ち上げ支援や、社内業務のデジタル化/DX推進など、貴社の必要とするイノベーションを実現いたします。

ご相談から受け付けております。ご興味ございましたらお問い合わせください。


Magic Leap2 の Global Dimming

上記のようなトリガーを押すと、Global Dimmingの調整を行う方法を説明します。(デモはユニティちゃんですが説明ではシンプルなCubeで構築を行います。)


開発環境 / 動作環境

Unity Editor 2022.2.0b8.3023
Magic Leap SDK 1.1.0-dev1
Magic Leap XR Plugin 7.0.0.pre.1
Magic Leap2 OS 1.1.0-dev1 (B3E.221020.13-R.039_40)


ヒエラルキー

シーンを新規作成します。Main Cameraは削除し、XR Rigのプレファブをヒエラルキーに配置します。
2つのGame Objectを作成し、名前をGlobal Dimmer ExamplePlace Front Camera に変更します。Place Front Camera 配下 に Cube を作成します。


Global Dimmer Example

Global Dimming というスクリプトを作成し、コンポーネントとして追加します。

スクリプトは以下になります。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.XR.MagicLeap;

public class GlobalDimming : MonoBehaviour
{
    private MagicLeapInputs mlInputs;
    private MagicLeapInputs.ControllerActions controllerActions;
    private float dimmerDelta = 0.1f;

    // Start is called before the first frame update
    void Start()
    {
        mlInputs = new MagicLeapInputs();
        mlInputs.Enable();
        controllerActions = new MagicLeapInputs.ControllerActions(mlInputs);
        controllerActions.Trigger.performed += HandleOnTrigger;
    }

    // Update is called once per frame
    void Update()
    {
        
    }
    private void HandleOnTrigger(InputAction.CallbackContext obj)
    {
        float triggerValue = obj.ReadValue<float>();
        MLGlobalDimmer.SetValue(triggerValue);
    }
}

トリガーを押されたタイミングでトリガーの値をMLGlobalDimmerに設定することでGlobal Dimmingの設定値として反映されます。


Place Front Camera

Place From Cameraのスクリプトを追加します。設定は上記の図と同じように変更します。


Cube

スケールは0.5に縮小します。マテリアルは白など明るい色のマテリアルを作成しCubeに設定します。


実行

上記はユニティちゃんのデモですが、トリガーボタンを押すことでCubeが不透明にならず、その変わりに全体が暗く表示します。


OnePlanet XR

https://1planet.co.jp/xrconsulting.html

AR/MR/VPS技術に専門特化したコンサルティングサービス

Magic Leap2 を使ったソリューションのご検討の方からのお問い合わせ、お待ちしております。


お問い合わせ先

https://1planet.co.jp/xrconsulting.html#op_form



OnePlanet Tech Magazine

Magic Leap 1、Magic Leap2 、スマホAR(Niantic Lightship ARDK、WebAR、VPSなど)といったAR技術全般をブログマガジンを連載しています。