MRが楽しい

MRやVRについて学習したことを書き残す

Meta Quest Developer Hubを利用してPCからQuestにアプリ(apkファイル)をインストールする

本日はMeta Questの小ネタ枠です。 Meta Quest Developer Hubを利用してPCからQuestにアプリ(apkファイル)をインストールする手順を記事にします。 前提条件 以下の記事の手順に従ってMeta Quest Developer Hubをのインストールを実施してください。 bluebir…

UnityのMathf関数を使って値を指定の範囲に制限する

今日はUnityの小ネタ枠です。 UnityのMathf関数を使って値を指定の範囲に制限する方法についてです。 UnityEngine.Mathf UnityEngine.Mathfは一般的な数学関数を扱うためのクラスです。 docs.unity3d.comClamp関数を利用して値を指定の範囲に制限することが…

mocopiReceiverPluginを使ってmocopiのモーションデータをUnityで利用する その3(キャラクターモデルにモーションを反映する)

本日はmocpiの技術調査枠です。 mocopiReceiverPluginを使ってmocopiのモーションデータをUnityで利用する方法を記事にします。 今回はキャラクターモデルにモーションを反映する手順です。 前回記事 以下の前回記事の続きです。 bluebirdofoz.hatenablog.co…

Meta Quest Developer Hubの環境構築手順

本日は環境構築の手順枠です。 Meta Quest Developer Hubの環境構築手順を記事にします。 Meta Quest Developer Hub Meta Quest Developer HubはMeta Questのアプリ開発を効率化するためのデスクトップツールです 本ツールを利用することでPCからMeta Quest…

MetaQuestでメニューのテーマ色(ダーク・ライト)を変更する

本日はMetaQuestの小ネタ枠です。 MetaQuestでメニューのテーマ色(ダーク・ライト)を変更する方法について記事にします。 MetaQuestでメニューのテーマ色(ダーク・ライト)を変更する メニューから[クイック設定 -> 設定]を開きます。 設定一覧が表示されるの…

UniRxのAsObservableを使ってMRTKのObjectManipulatorの掴みイベントを受け取る

本日はUniRxの小ネタ枠です。 UniRxのAsObservableを使ってMRTKのObjectManipulatorの掴みイベントを受け取る方法です。 前提条件 UniRxとMRTKの環境構築手順は以下の記事を参照ください。 bluebirdofoz.hatenablog.com bluebirdofoz.hatenablog.com今回は以…

MetaQuest3で画面キャプチャまたは録画を行う

本日はMetaQuest3の小ネタ枠です。 MetaQuest3で画面キャプチャまたは録画を行う方法について記事にします。 コントローラ操作による画面キャプチャ コントローラのMetaボタンと人差し指トリガーを同時押しした後、トリガーを離したタイミングで画面キャプチ…

MRTKv2.xでオブジェクトを両手でポイントして移動・回転・拡縮する その3(オブジェクトを直接掴む)

本日はMRTKv2.xの小ネタ枠です。 MRTKv2.xでオブジェクトを両手でポイントして移動・回転・拡縮する方法を記事にします。 今回はオブジェクトを直接掴む方法についてです。 前回記事 以下の前回記事の続きです。 bluebirdofoz.hatenablog.com オブジェクトを…

MRTKv2.xでオブジェクトを両手でポイントして移動・回転・拡縮する その2(操作に制約を加える)

本日はMRTKv2.xの小ネタ枠です。 MRTKv2.xでオブジェクトを両手でポイントして移動・回転・拡縮する方法を記事にします。 今回は操作に制約を加える方法についてです。 前回記事 以下の前回記事の続きです。 bluebirdofoz.hatenablog.com ConstraintManager…

MRTKv2.xでオブジェクトを両手でポイントして移動・回転・拡縮する

本日はMRTKv2.xの小ネタ枠です。 MRTKv2.xでオブジェクトを両手でポイントして移動・回転・拡縮する方法を記事にします。 ObjectManipulator MRTKのObjectManipulatorは、片手か両手を使ってオブジェクトの移動、回転、拡大縮小を行うコンポーネントです。 O…

MRTKv2.xでレイの衝突先が空間メッシュか否か判定する

本日はMRTKv2.xの小ネタ枠です。 MRTKv2.xでレイの衝突先が空間メッシュか否か判定する方法を記事にします。 前提条件 本記事の動作確認を実施するため、以下の前回記事の環境を利用します。 bluebirdofoz.hatenablog.com レイの衝突先が空間メッシュか否か…

MRTKv2.xで空間メッシュと視線の衝突位置を取得する

本日はMRTKv2.xの小ネタ枠です。 MRTKv2.xで空間メッシュと視線の衝突位置を取得する方法を記事にします。 前提条件 本記事の動作確認を実施するため、以下の前回記事の環境を利用します。 bluebirdofoz.hatenablog.com 空間メッシュとの当たり判定を取得す…

UnityのMeshクラスで作成したメッシュをAssetsフォルダに出力する

本日は Unity の技術調査枠です。 UnityのMeshクラスで作成したメッシュをAssetsフォルダに出力する手順を記事にします。 Mesh スクリプトからメッシュの作成や変更を行うUnityEngineのクラスです。 Meshクラスには頂点データや面データが含まれていてサーフ…

MRTKv2.xでシミュレータ内にテスト用の空間メッシュを表示する その2(用意した3Dモデルのテスト空間を表示する)

本日はMRTKv2.xの小ネタ枠です。 MRTKv2.xでシミュレータ内にテスト用の空間メッシュを表示する方法を記事にします。 今回は用意した3Dモデルのテスト空間を表示する方法についてです。 前回記事 以下の前回記事の続きです。 bluebirdofoz.hatenablog.com 3D…

MRTKv2.xでシミュレータ内にテスト用の空間メッシュを表示する

本日はMRTKv2.xの小ネタ枠です。 MRTKv2.xでシミュレータ内にテスト用の空間メッシュを表示する方法を記事にします。 SpatialAwarenessの設定 MRTKv2.xでは空間メッシュはSpatialAwarenessの設定で管理されます。 本項目のオブザーバにSpatialObjectMeshObse…

UnityでHierarchy階層の一番上のオブジェクトを参照する

本日はUnityの小ネタ枠です。 UnityでHierarchy階層の一番上のオブジェクトを参照する方法についてです。 Transform.root Transform.rootはそのTransformの階層の一番上のTransformの参照を返します。 また、そのTransform自身が一番上のTransformである場合…

Unityでオブジェクトのグローバルスケールを参照・設定する

本日はUnityの小ネタ枠です。 Unityでオブジェクトのグローバルスケールを参照・設定する方法についてです。 Transform.lossyScale グローバルスケールはワールド空間におけるオブジェクトの絶対的なスケール値です。 Transform.lossyScaleにアクセスするこ…

mocopiReceiverPluginを使ってmocopiのモーションデータをUnityで利用できない問題の対処

本日はmocpiの技術調査枠です。 mocopiReceiverPluginを使ってmocopiのモーションデータをUnityで利用できない問題の対処を記事にします。 前提条件 以下の記事を参考にmocopiReceiverPluginを利用するUnityのサンプルプロジェクトを作成しました。 bluebird…

mocopiReceiverPluginを使ってmocopiのモーションデータをUnityで利用する その2(mocopiアプリからモーションデータを送信する)

本日はmocpiの技術調査枠です。 mocopiReceiverPluginを使ってmocopiのモーションデータをUnityで利用する方法を記事にします。 今回はmocopiアプリからモーションデータを送信する手順です。 前回記事 以下の前回記事の続きです。 bluebirdofoz.hatenablog.…

mocopiReceiverPluginを使ってmocopiのモーションデータをUnityで利用する その1(プラグインのインポート)

本日はmocpiの技術調査枠です。 mocopiReceiverPluginを使ってmocopiのモーションデータをUnityで利用する方法を記事にします。 今回はプラグインのインポートです。 mocopiReceiverPlugin mocopiReceiverPluginはUnity,MotionBuilder,Unreal Engineにmocopi…

開発環境構築手順 mocopi編

本日は環境構築の手順枠です。 mocopiを購入したのでそのセットアップ手順を記事に残します。 mocopi mocopiはソニーが販売しているフルボディトラッキング可能なモーションキャプチャ―システムです。 6つの小型センサーを装着してスマホとセンサーで簡単に…

MRTKv2.xで手のひらに追従するUIを作成する

本日はMRTKv2.xの小ネタ枠です。 MRTKv2.xで手のひらに追従するUIを作成する方法を記事にします。 HandConstraintPalmUp MRTKには手のひらがユーザーの方を向いているときにオブジェクトを動作するためのHandConstraintPalmUpコンポーネントが用意されていま…

MRTKでHoloLens2の空間メッシュの表示方法や有効無効を動的に切り替える その3

本日はMRTKの小ネタ枠です。 MRTKで空間メッシュの表示方法や有効無効を動的に切り替える方法を記事にします。 今回は初期状態を無効状態にして空間メッシュを有効に切り替える方法です。 前回記事 以下の前回記事の続きです。 bluebirdofoz.hatenablog.com …

SerializeField属性またはHideInInspector属性を使ってフィールドをInspector上に表示する

本日はUnityの小ネタ枠です。 SerializeField属性またはHideInInspector属性を使ってフィールドをInspector上に表示する方法です。 SerializeField属性 SerializeField属性はprivateフィールドを強制的にシリアライズします。 これにより、privateフィールド…

Header属性を使ってInspectorのフィールドにコメントを表示する

本日はUnityの小ネタ枠です。 Header属性を使ってInspectorのフィールドにコメントを表示する方法です。 Header属性 Header属性はInspectorのフィールドにヘッダーを追加するために利用できます。 スクリプト内のフィールドに本属性を設定すると、Inspector…

MRTKでHoloLens2の空間メッシュの詳細レベルや範囲を動的に切り替える その2

本日はMRTKの小ネタ枠です。 MRTKで空間メッシュの詳細レベルや範囲を動的に切り替える方法を記事にします。 今回はメッシュの範囲を切り替える方法です。 SpatialAwarenessの設定 MRTKを利用してHoloLens2アプリを作成する場合、空間メッシュはSpatialAware…

TextMeshProのSpacingOpetionを使って行間や文字間隔を調整する

本日はUnityの小ネタ枠です。 TextMeshProのSpacingOpetionを使って行間や文字間隔を調整する方法です。 SpacingOpetion TextMeshProのSpacingOpetionでは以下の行間または文字間隔の設定を行えます。 ・Character:文字間隔 ・Line:行間 ・Word:単語ごと…

MRTKでHoloLens2の空間メッシュの詳細レベルや範囲を動的に切り替える

本日はMRTKの小ネタ枠です。 MRTKで空間メッシュの詳細レベルや範囲を動的に切り替える方法を記事にします。 今回はメッシュの詳細レベルを切り替える方法です。 SpatialAwarenessの設定 MRTKを利用してHoloLens2アプリを作成する場合、空間メッシュはSpatia…

MRTKでHoloLens2の空間メッシュの表示方法や有効無効を動的に切り替える その2

本日はMRTKの小ネタ枠です。 MRTKで空間メッシュの表示方法や有効無効を動的に切り替える方法を記事にします。 今回は空間メッシュ自体の有効無効を切り替える方法です。 前回記事 以下の前回記事の続きです。 bluebirdofoz.hatenablog.com SpatialAwareness…

MRTKでHoloLens2の空間メッシュの表示方法や有効無効を動的に切り替える

本日はMRTKの小ネタ枠です。 MRTKで空間メッシュの表示方法や有効無効を動的に切り替える方法を記事にします。 SpatialAwarenessの設定 MRTKを利用してHoloLens2アプリを作成する場合、空間メッシュはSpatialAwarenessの設定で管理されます。 SpatialAwarene…