MRが楽しい

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

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

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…

UniTaskを使って徐々に変化するゲージバーを作成する その2(連続で呼び出された場合は前の処理を省略する)

本日はUniTaskの小ネタ枠です。 UniTaskを使って徐々に変化するゲージバーを作成する方法を記事に残します。 今回は少し応用して連続で呼び出された場合は前の処理を省略するコードを作成します。 前回記事 以下の前回記事の続きです。 bluebirdofoz.hatenab…

UniTaskを使って徐々に変化するゲージバーを作成する

本日はUniTaskの小ネタ枠です。 UniTaskを使って徐々に変化するゲージバーを作成する方法を記事に残します。 前回記事 今回は以下の前回記事で作成したゲージバーのサンプルシーンを利用します。 bluebirdofoz.hatenablog.comUniTaskの環境構築手順は以下を…

Unityで見えない床を作成する

本日はUnityの小ネタ枠です。 Unityで簡単に見えない床を作成する方法です。 見えない床を作成する 重力落下するCubeオブジェクトを配置したサンプルシーンを作成しました。 ここにCubeを受け止める透明な床を作成します。 シーンに通常の床オブジェクトを配…

UnityでGetInstanceIDを使ってオブジェクトの一意なIDを取得する

本日はUnityの小ネタ枠です。 UnityでGetInstanceIDを使ってオブジェクトの一意なIDを取得する方法です。 Object.GetInstanceID オブジェクトの InstanceID を返します InstanceID は常にユニークです。新しく作成されたオブジェクトには負数のインスタンスI…

System.LinqのOrderByとThenByを使ってリストの複数の要素を元にソートを行う

本日は C# の小ネタ枠です。 System.LinqのOrderByとThenByを使ってリストの複数の要素を元にソートを行う方法を記事にします。 OrderByとThenBy System.Linq の OrderBy メソッドはリスト全体の要素を参照して昇順に並べ替えを行います。 並べ替えに使用す…

C#でリストを昇順降順で並び替える

本日はC#の小ネタ枠です。 C#でリストを昇順降順で並び替える方法についてです。 昇順の並べ替え Sort メソッドを使う場合 Sort メソッドを使うとリストの要素を昇順に並べ替えることができます。 名前空間 System.Collections.Generic から利用できます。 L…

foreachで要素とインデックスを取得する その2(ListのForEachメソッドを利用する場合)

本日はC#の小ネタ枠です。 foreachで要素とインデックスを取得する方法です。 今回はListのForEachメソッドを利用する場合です。 ForEachで要素とインデックスを取得する ForEach メソッドでは直接インデックスは取得できないため、この場合も Select メソッ…

foreachで要素とインデックスを取得する

本日はC#の小ネタ枠です。 foreachで要素とインデックスを取得する方法です。 foreachで要素とインデックスを取得する Enumerable.Select メソッドを利用することでforeachで要素とインデックスを同時に取得することができます。 foreach (var (value, index…

Blenderのメジャー機能を使ってモデルの距離や厚みを測る

本日はBlenderの小ネタ枠です。 Blenderのメジャー機能を使ってモデルの距離や厚みを測る方法です。 メジャー機能 Blenderのメジャー機能は指定した2点間の距離や角度を測る機能です。 3Dビューの[メジャー]アイコンをクリックして機能を有効にします。 左ク…

ペイントで色1と色2を使って色の塗分けや色の置換を行う

本日はペイントの小ネタ枠です。 ペイントで色1と色2を使って色の塗分けや色の置換を行う方法です。 色の塗分け 色1と色2を使ってマウスの左クリックと右クリックで色の塗分けが行えます。 [鉛筆]または[塗りつぶし]を使うとき、左クリックで[色1]、右ク…

ペイントの透明の選択を使って任意の色を透明色として切り出しを行う

本日はペイントの小ネタ枠です。 ペイントの透明の選択を利用する方法についてです。 通常の切り出し サンプルとして以下の背景色を白色に設定した画像を作成しました。 [選択]を有効にして通常の切り出しを行います。 星型の図形を範囲選択して四角の図形に…

ペイントのレイヤー機能を利用する

本日はペイントの小ネタ枠です。 ペイントのレイヤー機能を利用する方法についてです。 ペイントのレイヤー機能 ペイントの「レイヤー」ボタンをクリックすると、ペイントで編集中の画像のレイヤーが表示されます。 「+」ボタンを押すことで新規レイヤーを…

ペイントで写真の背景部分を削除して切り抜く

本日はペイントの小ネタ枠です。 ペイントで写真の背景部分を切り抜く方法についてです。 背景の削除 ペイントの「背景の削除」機能を利用することで画像の背景部分を削除できます。 「背景の削除」を実行すると以下の通り、画像の背景部分が自動で判定され…

UnityのSliderを一定間隔ごとにスライドさせる

本日はUnityの小ネタ枠です。 UnityのSliderを一定間隔ごとにスライドさせる方法についてです。 Slider UnityのSliderオブジェクトはHierarchy上で右クリックから[UI -> Slider]で追加できます。 docs.unity3d.com デフォルトではSliderの値は0~1のfloat値…

UniRxを使ってUnityのスライダーUIの値の変化をチェックする

本日は UniRx の小ネタ枠です。 UniRxを使ってUnityのスライダーUIの値の変化をチェックする方法を記事にします。 ObserveEveryValueChanged ObserveEveryValueChangedはUniRxで定義されている全クラスの拡張メソッドです。 この関数を利用することで、様々…

UnityのInspectorビューに自作のデータ形式を表示する

本日はUnityの小ネタ枠です。 UnityのInspectorビューに自作のデータ形式(struct, class, record)を表示する方法についてです。 カスタム製のシリアル化 [System.Serializable]属性を利用することで自作のデータ形式をシリアル化することができます。 これに…

Unity環境での各種データ型の最小値から最大値を確認する

本日はUnityの小ネタ枠です。 Unity環境での各種データ型の最小値から最大値を確認する方法についてです。 各種データ型の最小値から最大値を確認する Unityがサポートするプログラミング言語はC#のため、数値型の利用可能なデータ範囲はC#に依存します。 C#…

UnityのTextMeshProでアウトラインを表示する

本日はUnityの小ネタ枠です。 UnityのTextMeshProでアウトラインを表示する方法です。 Outline TextMeshProのアウトラインの設定はTextコンポーネントを設定したオブジェクトのマテリアルから設定できます。 [Outline -> Thickness]の値を1に寄せるほどアウ…

Unityのスクリプトでユーザ名からYouTubeみたいな自動生成アイコンを作る

本日はUnityの小ネタ枠です。 Unityのスクリプトでユーザ名からYouTubeみたいな自動生成アイコンを作ってみたので記事にします。 ユーザ名からアイコンを自動生成する ランダムな背景色にユーザ名の文字が書き込まれたユーザアイコンを生成するため、以下のI…