MRが楽しい

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

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

UnityでColiderの形状をエディター上で編集する

本日はUnityの小ネタ枠です。 UnityでColiderの形状をエディター上で編集する方法です。 UnityでColiderの形状をエディター上で編集する 以下のColliderコンポーネントはInspector上の[Edit Collider]から当たり判定の形状を調整できます。 ・BoxCollider ・…

MRTKv2.xのビジュアルプロファイラーの表示をスクリプトから切り替える

本日はMRTKv2.xの小ネタ枠です。 MRTKv2.xのビジュアルプロファイラーの表示をスクリプトから切り替える方法を記事にします。 MRTKのビジュアルプロファイラー MRTKのビジュアルプロファイラーはアプリケーション内で表示可能なパフォーマンスの診断ツールで…

MRTKv2.xのビジュアルプロファイラーを表示しない

本日はMRTKv2.xの小ネタ枠です。 MRTKv2.xのビジュアルプロファイラー(Diagnostics)を表示しない方法を記事にします。 MRTKのビジュアルプロファイラー MRTKのビジュアルプロファイラーはアプリケーション内で表示可能なパフォーマンスの診断ツールです。 Pr…

Unityでスクリプトから色を規定値で設定する

本日はUnityの小ネタ枠です。 Unityでスクリプトから色を規定値で設定する方法についてです。 スクリプトから色を規定値で設定する UnityのColorクラスには以下の11色が規定値として定義されています。 変数名 色名 RGBA値 black 黒色 0, 0, 0, 1 blue 青色 …

Unityで同じアニメーションをもう一度再生する

本日はUnityの小ネタ枠です。 Unityで同じアニメーションをもう一度再生する方法についてです。 同じアニメーションをもう一度再生する UnityのAnimatorは通常ステートを遷移することで再生されます。 今回は以下のような遷移できないステートや現在のステー…

UnityのスクリプトからHSV(色彩、彩度、明度)でカラーを設定する

本日はUnityの小ネタ枠です。 UnityのスクリプトからHSV(色彩、彩度、明度)でカラーを設定する方法についてです。 スクリプトからHSV(色彩、彩度、明度)でカラーを設定する Color.HSVToRGBメソッドはHSV(色彩、彩度、明度)の値からColorクラスの値を返します…

Unityのカラーピッカーで色彩を変えずに彩度を上げ下げする

本日はUnityの小ネタ枠です。 Unityのカラーピッカーで色彩を変えずに彩度を上げ下げする方法についてです。 カラーピッカーで色彩を変えずに彩度を上げ下げする Unityのカラーピッカーで色彩を変えずに彩度を変更するにはカラーピッカーのRBGの指定をHSVに…

Unityでエディター上で特定のオブジェクトにフォーカスする

本日はUnityの小ネタ枠です。 Unityでエディター上で特定のオブジェクトにフォーカスする エディター上で特定のオブジェクトにフォーカスする エディター上では以下のオブジェクトへのフォーカスが利用できます。 名前 ショートカット 説明 Frame Selected F…

Unityで子オブジェクトを全て選択するなど色々な選択を利用する

本日はUnityの小ネタ枠です。 Unityで子オブジェクトを全て選択するなど色々な選択を利用する方法についてです。 オブジェクトの選択方法 Hierarchyでは以下の特殊な選択方法が利用できます。 名前 ショートカット 説明 Select All Ctrl + A 全て選択する De…

Unityでそれまでの操作履歴を参照して特定の操作まで状態を戻す

本日はUnityの小ネタ枠です。 Unityでそれまでの操作履歴を参照して特定の操作まで状態を戻す方法についてです。 Undo History Undo Historyにはそれまで行った操作の履歴が一覧で表示されます。 履歴を選択することで特定の操作時点まで編集状態を戻すこと…

UnityのSaveとSave Projectの違い

本日はUnityの小ネタ枠です。 UnityのSaveとSave Projectの違いについてです。 Save メニューから[File -> Save]を実行できます。 本コマンドはシーンやプロジェクト設定など全ての情報を保存します。 Save Project メニューから[File -> Save Project]を実…

Quest3アプリでシーンモデルが利用できないときは疑似床に切り替える

本日はMetaQuest3の小ネタ枠です。 Quest3アプリでシーンモデルが利用できないときは疑似床に切り替える方法を記事にします。 前提条件 本記事では以下の記事で作成したシーンモデルの可視化を設定したプロジェクトを基に設定を行います。 bluebirdofoz.hate…

Quest3アプリでシーンモデルの可視化をスクリプトから切り替える

本日はMetaQuest3の小ネタ枠です。 Quest3アプリでシーンモデルの可視化をスクリプトから切り替える方法を記事にします。 前提条件 本記事では以下の記事で作成したシーンモデルの可視化を設定したプロジェクトを基に設定を行います。 bluebirdofoz.hatenabl…

Unityでレイヤーマスク毎にエディター上で表示するレイヤーを指定する

本日はUnityの小ネタ枠です。 Unityでレイヤーマスク毎にエディター上で表示するレイヤーを指定する方法です。 前回記事 以下の記事で作成した3つの別レイヤーのオブジェクトがあるシーンで動作を確認します。 bluebirdofoz.hatenablog.com レイヤーマスク毎…

MRTKv2.xを使ってMetaQuest3向けのUnityプロジェクト作成を行う その29(TextMeshProのシェーダをオクルージョンに対応させる MetaXRSDKv67以降)

本日はMetaQuest3の技術調査枠です。 MRTKv2.xを使ってMetaQuest3向けのUnityプロジェクト作成を行う手順を記事にします。 本記事はMetaXRSDKv67以降でTextMeshProのシェーダをオクルージョンに対応させる手順です。 前提条件 本記事では以下の記事で作成し…

Unityでレイヤーマスク毎に衝突するレイヤーを指定する

本日はUnityの小ネタ枠です。 Unityでレイヤーマスク毎に衝突するレイヤーを指定する方法です。 LayerCollisionMatrix Unityではレイヤーごとに衝突検出を行うことができます。 LayerCollisionMatrix設定ではどのレイヤーとレイヤーが衝突するかを個別に設定…

Unityでレイキャストが反応するレイヤーを指定する

本日はUnityの小ネタ枠です。 Unityでレイキャストが反応するレイヤーを指定する方法です。 Physics.Raycast 光線(レイ)を飛ばして直線状の衝突判定をチェックします。 引数からレイの距離や衝突する対象レイヤーの指定が行えます。 docs.unity3d.comレイヤ…

Unityでスクリーンへのタッチ状態を取得する その4(ピンチイン/ピンチアウト操作を判定する)

本日はUnityの小ネタ枠です。 Unityでスクリーンへのタッチ状態を取得する方法です。 今回はピンチイン/ピンチアウト操作を判定する手順です。 Input.touchCount Touch構造体はスクリーンに指がタッチされた状態を保持する構造体です。 Input.GetTouchメソッ…

Colliderのクリック判定で表面のみに反応させる

本日はUnityの小ネタ枠です。 Colliderのクリック判定で表面のみに反応させる方法です。 Colliderのクリック判定の表裏 IsTriggerを有効にしたMeshColliderやBoxColliderなどには裏表の判定がありません。 以下のスクリプトを設定した裏表のPlaneを並べた場…

Unityでレイキャストをエディター上でデバッグ表示する

本日はUnityの小ネタ枠です。 Unityでレイキャストをエディター上でデバッグ表示する方法です。 Debug.DrawRay Debug.DrawRayはエディターのSceneビューにレイを表示します。 Gameビューのギズモの描画が有効になっている場合、Gameビューにも描画されます。…

Unityでスクリーンへのタッチ状態を取得する その3(タップからレイキャストを飛ばして3Dポインターのように動かす)

本日はUnityの小ネタ枠です。 Unityでスクリーンへのタッチ状態を取得する方法です。 今回は更にタッチ状態を参照してタップ座標からレイキャストを飛ばして3Dポインターのように動かしてみます。 Camera.ScreenPointToRay Camera.ScreenPointToRayメソッド…

Unityでスクリーンへのタッチ状態を取得する その2(マルチタップを検出する)

本日はUnityの小ネタ枠です。 Unityでスクリーンへのタッチ状態を取得する方法です。 Input.touchCount 同時にスクリーンに指がタッチされた数を返します。 フレーム毎でのタッチ数が返ります。 docs.unity3d.comTouch構造体はスクリーンに指がタッチされた…

Unityでスクリーンへのタッチ状態を取得する

本日はUnityの小ネタ枠です。 Unityでスクリーンへのタッチ状態を取得する方法です。 Touch Touch構造体はスクリーンに指がタッチされた状態を保持する構造体です。 Input.GetTouchメソッドを呼び出して毎フレーム最新の状態を取得することができます。 docs…

Unityでランダムなベクトルをオブジェクト自身から見た特定ベクトル方向に投射する

本日はUnityの小ネタ枠です。 Unityでランダムなベクトルをオブジェクト自身から見た特定ベクトル方向に投射する方法についてです。 Vector3.Project Vector3.Projectメソッドは特定ベクトルを別の指定ベクトルに投影します。 これにより特定ベクトルの指定…

Unityでオブジェクトをオブジェクト自身から見たベクトル方向に移動する

本日はUnityの小ネタ枠です。 Unityでオブジェクトをオブジェクト自身から見たベクトル方向に移動する方法についてです。 Transform.up/right/forward Transform.up/right/forwardはオブジェクト自身から見た上下左右前後ろ方向のワールド座標のベクトルを返…

Unityアプリで利用しているUnityバージョンを取得する

本日は Unity の小ネタ枠です。 Unityでスクリプトから利用しているUnityバージョンを取得する方法を記事にします。 Unityバージョンを取得する ApplicationクラスのunityVersion変数を参照することでUnityバージョンを取得できます。 docs.unity3d.com docs…

MRTKv2.xを使ってMetaQuest3向けのUnityプロジェクト作成を行う その28(シーンモデルを利用できるかチェックする)

本日はMetaQuest3の技術調査枠です。 MRTKv2.xを使ってMetaQuest3向けのUnityプロジェクト作成を行う手順を記事にします。 本記事はシーンモデルを利用できるかチェックする手順です。 前提条件 本記事では以下の記事で作成したシーンモデルの利用を有効にし…

MRTKv2.xを使ってMetaQuest3向けのUnityプロジェクト作成を行う その27(シーンモデルを可視化する)

本日はMetaQuest3の技術調査枠です。 MRTKv2.xを使ってMetaQuest3向けのUnityプロジェクト作成を行う手順を記事にします。 本記事はシーンモデルを可視化する手順です。 前提条件 本記事では以下の記事で作成したパススルーを有効にした Unity プロジェクト…

Questアプリでアプリ内からアプリを終了する

本日はUnityの小ネタ枠です。 Questアプリでアプリ内からアプリを終了する方法についてです。 Application.Quit() Application.Quit()はアプリケーションを終了する静的メソッドです。 Questアプリで本メソッドを呼び出すとアプリが即座に終了してホーム画面…

Questアプリでメニューボタンでウィンドウが開いたことを検知する

本日はUnityの小ネタ枠です。 Questアプリでメニューボタンでウィンドウが開いたことを検知する方法についてです。 OnApplicationFocus OnApplicationFocusmメソッドはアプリがフォーカスを取得またはロストしたときに呼び出されます。 本メソッドはMonoBeha…