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
Main Camera にある Camera の Projectionにある Clipping Planes の Near を変更します。
ニアクリッピングの設定を有効にする
Main Camera に ある Magic Leap Camera の Fix Problems On Startup と Enforce 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
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技術全般をブログマガジンを連載しています。