見出し画像

Magic Leap 2 ニアクリッピングプレーンを設定する方法(公式版)(一時的な対応方法)

はじめに

Magic Leap 2 は、今までニアクリッピングプレーンは、0.37メートルを強制的に設定されてました。Magic Leap 1 の時代から、ニアクリッピングプレーンは、0.37メートルが固定値であったため、変更不可でした。Magic Leap 2 においては、変更できた時期もありましたが、あくまでバグによるものでした。2023年2月のアップデートで、ニアクリッピングプレーンを任意に変更できるようになりました。(Magic Leap社はあくまで0.37メートルを推奨している。)今回、ニアクリッピングプレーンの変更方法について説明します。


OnePlanet XR について


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

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


Magic Leap 2 について

Magic Leap 2 についての概要は以下の記事をご覧ください。


注意

Magic Leap Unity 1.6.1 以降からニアクリッピングプレーンの変更ができなくなりました。



開発環境 / 動作環境

Unity Editor 2022.2.8f1
Magic Leap SDK 1.2.0-dev1
Magic Leap Unity 1.4.0
Magic Leap XR Plugin 7.0.0
Magic Leap 2 OS 1.2.0-dev1


Magic Leap XR Plugin 7.0.0 のインポート

ニアクリッピングプレーンの設定を行うには、Magic Leap XR Plugin 7.0.0をインポートする必要があります。しかし、Magic Leap Unity 1.4.0 の package.json に 登録している Magic Leap XR Plugin のバージョンが、7.0.0-pre.2 です。この7.0.0-pre.2を7.0.0に変更して、package.jsonを保存します。
その後、Package Manager を開いて、Magic Leap XR Plugin 7.0.0をインポートします。


ニアクリッピングの設定

Magic Leap 2 で使用するカメラは以下にあるPrefabを使用します。(もし、ヒエラルキーに標準のMain Cameraがあれば削除します。)

Packages/Magic Leap SDK/Runtime/Tools/Prefabs/Main Camera.prefab
または
Packages/Magic Leap SDK/Runtime/Tools/Prefabs/XR Rig.prefab

Clipping Planes Near を変更

Main Camera にある Camera の Projectionにある Clipping Planes の Near を変更します。


ニアクリッピングの設定を有効にする

Main Camera に ある Magic Leap Camera の Fix Problems On StartupEnforce Near Clip Distance の チェックを外します。

次に以下のスクリプトを作成して、ヒエラルキー上のGame Object(新規作成してもOK)に追加します。

using UnityEngine;
using UnityEngine.XR.MagicLeap.Rendering;

public class NearClipping : MonoBehaviour
{
    private void Awake()
    {
        RenderingSettings.enforceNearClip = false;
    }
}

これで実行すると、今までは0.37m固定だったニアクリッピングプレーンが、Clipping Planes の Near が、ニアクリッピングプレーンとして反映


まとめ

今回のMagic Leap XR Plugin 7.0.0 のアップデートで、今まで0.37m固定だったニアクリッピングプレーンの変更が公式でサポートすることになりましたが、Magic Leap XR Plugin が後発にリリースされたこともあり、Magic Leap SDK の方が、ニアクリッピングプレーンの設定項目が漏れていたり、現時点でドキュメントがない状態です。将来のリリースでは、コードを書かずにMagic Leap CameraコンポーネントがRenderSettings.enforceNearClipプロパティの設定が可能になるとのこと。早くて次のアップデート(2023年3月中)には提供されると思います。


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 Leap1 、Magic Leap2、スマホAR(Niantic Lightship ARDK、WebAR、VPSなど)といったAR技術全般をブログマガジンを連載しています。