MRが楽しい

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

2024-06-01から1ヶ月間の記事一覧

MRTKv2.xでオブジェクトを両手でポイントして移動・回転・拡縮する その4(掴むオブジェクトの優先度を設定する)

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

UniRxのCompositeDisposableを使ってまとめて購読を解除する

本日はUniRxの小ネタ枠です。 UniRxのCompositeDisposableを使ってまとめて購読を解除する方法です。 前提条件 UniRxの環境構築手順は以下の記事を参照ください。 bluebirdofoz.hatenablog.com CompositeDisposable CompositeDisposableはUniRxで利用できる…

C#でToDictionaryを使ってリストからDictionaryを作成する

本日はC#の小ネタ枠です。 C#でToDictionaryを使ってリストからDictionaryを作成する手順です。 Enumerable.ToDictionary Enumerable.ToDictionaryメソッドはIEnumerable型からDictionary型を作成します。 作成時に指定された値のキーが重複した場合は例外が…

RiderのTODOリストを使ってコードの要修正箇所を管理する

本日はRiderの小ネタ枠です。 RiderのTODOリストを使ってコードの要修正箇所を管理する方法についてです。 Riderの環境構築 JetBrains Rider の環境構築手順は以下を参照ください。 bluebirdofoz.hatenablog.com TODOリスト RiderのTODOリストはコード内の残…

UnityのMathf関数を使って無限大の値を利用する

今日はUnityの小ネタ枠です。 UnityのMathf関数を使って無限大の値を利用する方法についてです。 UnityEngine.Mathf UnityEngine.Mathfは一般的な数学関数を扱うためのクラスです。 docs.unity3d.com本クラスのStatic変数のMathf.Infinityで無限大の値を表現…

C#で文字列のゼロ幅スペースを削除する

本日はC#の小ネタ枠です。 C#で文字列のゼロ幅スペースを削除する方法についてです。 ゼロ幅スペース ゼロ幅スペースは非表示文字で文字の切れ目を示すために用いられます。 UniCodeでは文字コード 8203(200b) に割り当てられています。 www.wikiwand.com非…

C#で文字列の文字コードをチェックする

本日はC#の小ネタ枠です。 C#で文字列の文字コードをチェックする方法についてです。 string型をcharの配列として取得する string型に対して、System.Linq.Enumerable.Selectを使うとchar型のシーケンスを取得できます。 learn.microsoft.comこれを利用して…

iPhoneのネットワーク共有(テザリング)機能を利用する

本日はiPhoneの小ネタ枠です。 iPhoneのネットワーク共有(テザリング)機能を利用する方法についてです。 ネットワーク共有 iPhoneのネットワーク共有はWi-FiやBlueTooth、USB経由で他のデバイスとインターネット接続を共有する機能です。 本機能を有効にする…

Windows 11のモバイルホットスポット(テザリング)機能を利用する

本日はWindows 11の小ネタ枠です。 Windows 11のモバイルホットスポット(テザリング)機能を利用する方法についてです。 モバイルホットスポット WindowsのモバイルホットスポットはWi-Fi経由で他のデバイスとインターネット接続を共有する機能です。 本機能…

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

今日はUnityの小ネタ枠です。 UnityのMathf関数を使って値を指定の範囲に制限する方法についてです。 今回はMathf.Repeatを使って指定値の余剰値で値を制限します。 UnityEngine.Mathf UnityEngine.Mathfは一般的な数学関数を扱うためのクラスです。 docs.un…

mocopiReceiverPluginを使ってmocopiのモーションデータをUnityで利用する その4(Questアプリでモーションデータを利用する)

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

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.…