MRが楽しい

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

2021-01-01から1年間の記事一覧

HoloLens2でホロモンアプリを作る その88(ホロモンがうんちから逃げる)

本日はアプリ作成枠です。 HoloLens2でホロモンアプリを作る進捗を書き留めていきます。 今回はホロモンがうんちから逃げるメモです。 対象オブジェクトの反対側の座標へ逃げる ホロモンがうんちを発見したら逃げるようにするため、対象の反対座標に向けて逃…

HoloLens2でホロモンアプリを作る その87(ホロモンが名前を言われたアイテムを取りに行く)

本日はアプリ作成枠です。 HoloLens2でホロモンアプリを作る進捗を書き留めていきます。 今回はホロモンが名前を言われたアイテムを取りに行くメモです。 操作UIのアイテム名と音声認識の対応 操作UIで表示されるアイテム名全てに、対応する音声認識を設定し…

HoloLens2でホロモンアプリを作る その86(ホロモンとアイテムが空間の狭間に落下した際に自動復帰する)

本日はアプリ作成枠です。 HoloLens2でホロモンアプリを作る進捗を書き留めていきます。 今回はホロモンとアイテムが空間の狭間に落下した際に自動復帰するメモです。 空間の狭間に落下する ホロモンアプリは HoloLens の空間認識を元に現実空間の地面を判定…

HoloLens2でホロモンアプリを作る その85(一定距離以上に離れたプレイヤーを追いかける)

本日はアプリ作成枠です。 HoloLens2でホロモンアプリを作る進捗を書き留めていきます。 今回は一定距離以上に離れたプレイヤーを追いかけるメモです。 ホロモンの視界距離を定義する 以下の通り、ホロモンの視界距離を定義するクラスを作成しました。 ホロ…

Blender3.0で利用可能なpythonスクリプトを作る その93(指定の頂点グループに所属している頂点の数を取得する)

本日は Blender の技術調査枠です。 Blender3.0で利用可能なpythonスクリプトを作ります。 指定の頂点グループに所属している頂点の数を取得する 頂点と頂点グループの関連情報は Vertex データ側に情報が保持されています。 docs.blender.orgこのため、頂点…

Blender3.0で利用可能なpythonスクリプトを作る その92(選択中の頂点から頂点グループを作成する)

本日は Blender の技術調査枠です。 Blender3.0で利用可能なpythonスクリプトを作ります。 選択中の頂点から頂点グループを作成する 選択中の頂点から頂点グループを作成するには以下の オペレータを利用します。 本オペレータは編集モードで動作するため、…

HoloLens2でホロモンアプリを作る その84(プレイヤーが伏せるとホロモンも伏せる)

本日はアプリ作成枠です。 HoloLens2でホロモンアプリを作る進捗を書き留めていきます。 今回はプレイヤーが伏せるとホロモンも伏せるようになるメモです。 プレイヤーが伏せた状態の判定 以下の記事で試したオブジェクトの地面からの高さを計測するスクリプ…

Blender3.0で利用可能なpythonスクリプトを作る その91(アドオンで追加したボタンのOperatorに引数を設定する)

本日は Blender の技術調査枠です。 Blender3.0で利用可能なpythonスクリプトを作ります。 アドオンで追加したボタンのOperatorに引数を設定する 今回は全選択を行うボタンと選択範囲の反転を行うボタンを作成してみます。 それぞれ以下の通り、Operator を…

MRTKの空間認識メッシュを使ってオブジェクトの地面からの高さを計算する

本日は MRTK の小ネタ枠です。 MRTKの空間認識メッシュを使ってオブジェクトの地面からの高さを計算する方法を記事にします。 MRTKの空間認識 MRTK の空間認識システムではアプリケーション内で現実世界のジオメトリを表すメッシュのコレクションが提供され…

Blender3.0で利用可能なpythonスクリプトを作る その90(モードによってUIの有効無効を切り替える)

本日は Blender の技術調査枠です。 Blender3.0で利用可能なpythonスクリプトを作ります。 UIの有効無効を切り替える UIの有効無効を切り替えるには UILayout の enabled プロパティを変更します。 docs.blender.orgUILayout には active というプロパティも…

Blender3.0で利用可能なpythonスクリプトを作る その89(ハンドラーを使って状態の変化を検知する)

本日は Blender の技術調査枠です。 Blender3.0で利用可能なpythonスクリプトを作ります。 ハンドラーを使って状態の変化を検知する Blender の Python API では Application Handlers を使ってプロジェクトの様々な状態変化を検知して処理を実行することが…

Blender3.0で利用可能なpythonスクリプトを作る その88(3Dビューで選択中の現在のモードを取得する)

本日は Blender の技術調査枠です。 Blender3.0で利用可能なpythonスクリプトを作ります。 現在のモードを取得する Blender で現在のモードをチェックするには bpy.context.mode の値を参照します。 docs.blender.org 例えばオブジェクトモードでは‘OBJECT’…

HoloLens2でホロモンアプリを作る その83(ホロモンを掴んだ時にぶら下がり状態になる)

本日はアプリ作成枠です。 HoloLens2でホロモンアプリを作る進捗を書き留めていきます。 今回はホロモンを掴んだ時にぶら下がり状態になるメモです。 掴まれ状態の判定方法 ホロモンが掴まれた事を検出するに MRTK の ObjectManipulator の機能を使います。 …

HoloLens2でホロモンアプリを作る その82(ホロモンが満腹時や疲労時に特定の行動をしなくなる)

本日はアプリ作成枠です。 HoloLens2でホロモンアプリを作る進捗を書き留めていきます。 今回はホロモンが満腹時や疲労時に特定の行動をしなくなるメモです。 体調パラメータの参照 ホロモンの空腹度や疲労度は以下で作成した内部パラメータを参照して取得し…

C#でリストやディクショナリのプロパティを読み取り専用で参照する

本日は C# の小ネタ枠です。 C#でリストやディクショナリのプロパティを読み取り専用で参照する方法について記事にします。 サンプルコード ・ExampleReadOnlyListData.cs using System.Collections; using System.Collections.Generic; namespace Construct…

C#でインスタンス生成時にプロパティを設定する方法

本日は C# の小ネタ枠です。 C#でインスタンス生成時にプロパティを設定する幾つかの記法について記事にします。 オブジェクトの初期化 オブジェクトの初期化構文ではコンストラクタで指定できないプロパティを設定できます。 本記法は C#3.0 以降から利用可…

Unityでオブジェクトの参照マテリアルをデフォルトマテリアル(Default-Material)に戻す

本日は Unity の小ネタ枠です。 Unity でオブジェクトの参照マテリアルをデフォルトマテリアル(Default-Material)に戻す方法を記事にします。 Default-Material Default-Material は Unity のシーンで3Dオブジェクトを新規作成した際にデフォルトで設定され…

HoloLens2のアプリでキャプチャの実行イベントを取得する

本日は HoloLens2 の技術調査枠です。 HoloLens2 のアプリでキャプチャの実行イベントを取得する方法を記事にします。 AppCapture HoloLens2 のアプリでキャプチャの実行状態を参照するには AppCapture クラスを利用します。 docs.microsoft.com本クラスの C…

MRTKのObjectManipulatorで箱を開く動作を行う その2(反対方向への回転を考慮する)

本日は MRTK の小ネタ枠です。 MRTKのObjectManipulatorで箱を開く動作を試してみたので記事にします。 前回記事 以下の記事の続きです。 こちらで紹介したスクリプトにあった問題点を改修しました。 bluebirdofoz.hatenablog.com bluebirdofoz.hatenablog.c…

Blenderでハングしてしまった誤操作をCtrl+Cで強制終了する

本日は Blender の小ネタ枠です。 Blenderでハングしてしまった誤操作をCtrl+Cで強制終了する方法を記事にします。 システムコントロールの表示 Blender で個々の処理を強制終了するにはシステムコンソールを表示しておきます。 メニューから[ウィンドウ -> …

HoloLens2でホロモンアプリを作る その81(ホロモンの活動時間を計算する)

本日はアプリ作成枠です。 HoloLens2でホロモンアプリを作る進捗を書き留めていきます。 今回はホロモンの活動時間を計算するメモです。 ホロモンの活動時間 ホロモンは時間経過に合わせて徐々に空腹度やスタミナが変化します。 一定時間アプリを停止してい…

Unityで特定オブジェクトの全ての子オブジェクトを再帰的に処理する

本日は Unity の小ネタ枠です。 Unityで特定オブジェクトの全ての子オブジェクトを再帰的に処理する方法です。 オブジェクトの子オブジェクトを取得する オブジェクトの子オブジェクトは以下のように取得できます。 GameObject parentObject = this.gameObje…

Windows 10環境でtarファイルの作成/解凍を行う

本日は Windows 10 の小ネタ枠です。 Windows 10 環境でtarファイルの作成/解凍を行う方法を記事します。 tarファイルの作成と解凍 コマンドプロンプトまたはPowerShellで以下のコマンドを実行するだけです。 ・tarファイルの作成 tar -czvf (作成ファイル名…

HoloLens2アプリでアプリケーションのバージョン番号を取得して表示する

本日は HoloLens2 の技術調査枠です。 HoloLens2アプリでアプリケーションのバージョン番号を取得して表示する方法を記事にします。 アプリケーションのバージョン番号 UWP アプリケーションのバージョン番号は appxmanifest ファイルで定義される 4 つ整数…

HoloLens2アプリでホームボタンが押されたときにアプリを完全に終了させる

本日は HoloLens2 の技術調査枠です。 HoloLens2アプリでホームボタンが押されたときにアプリを完全に終了させる方法を記事にします。 ホームボタンをタップしたときの3Dアプリケーションの動作 HoloLens2 では3Dアプリケーションからホーム画面に戻るとき、…

開発環境構築手順 Blender 3.0編

本日は環境構築の手順枠です。 Blender 3.0 が 2021/12/3 に正式リリースされました。 改めて本記事では Blender 3.0 のインストール手順を記事にします。Blender 3.0 のダウンロードページは以下です。 www.blender.org[Download Blender]をクリックすると…

HoloLens2でホロモンアプリを作る その80(アイテムの大きさを徐々に変化させる)

本日はアプリ作成枠です。 HoloLens2でホロモンアプリを作る進捗を書き留めていきます。 今回はアイテムの大きさを徐々に変化させるメモです。 アイテムの大きさを徐々に変化させる 本スクリプトは以下の記事で実装したアイテムの管理スクリプトを修正します…

PCのシステムボリュームの情報を参照可能なC#アプリケーションを作成する

本日は .NET Framework の小ネタ枠です。 PCのシステムボリュームの情報を参照可能なC#アプリケーションを作成する手順を記事にします。 前提条件 本記事では .NET Framework 上で動作するオーディオライブラリ「NAudio」を利用します。 以下の記事を参考に…

.NET Framework上で動作するオーディオライブラリ「NAudio」を試す

本日は .NET Framework の小ネタ枠です。 .NET Framework上で動作するオーディオライブラリ「NAudio」をビルドして試したので手順を記事に残します。 NAudio .NET Framework上で動作するオーディオライブラリです。 オープンソースで開発されており、v2.0.0 …

HoloLens2でホロモンアプリを作る その79(ホロモンやアイテムの説明パネルを起動時に一回だけ表示する)

本日はアプリ作成枠です。 HoloLens2でホロモンアプリを作る進捗を書き留めていきます。 今回はホロモンやアイテムの説明パネルを起動時に一回だけ表示するメモです。 ホロモンやアイテムの説明パネル ホロモンアプリを初めて体験する方が音声コマンドや掴み…