MRが楽しい

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

hololens用DevicePortalの機能についてまとめる(Performance Tracing[パフォーマンス トレース])

DevicePortal調査枠です。
bluebirdofoz.hatenablog.com

hololens用DevicePortalの「Performance Tracing (パフォーマンス トレース)」ページについてまとめます。
f:id:bluebirdofoz:20170917231412j:plain

1.[Available profiles] (使用可能なプロファイル)
  ドロップダウンから使用可能なWPRプロファイルを選択して[Start Trace]をクリックするとトレースを開始します。
2.[Custom profiles] (カスタムプロファイル) セクション
  PCから参照するWPRプロファイルを選択して[Start Trace]をクリックするとトレースを開始します。
3.[Start Trace] (トレース開始)
  トレースを開始します。

トレースを開始すると以下のような画面になります。
f:id:bluebirdofoz:20170917231425j:plain

4.[Stop Trace] (トレース停止)
  トレースを停止します。

トレースを停止すると、以下のようにトレース結果のファイルが表示されます。
f:id:bluebirdofoz:20170917231551j:plain

5.[DELETE] (削除)
  トレース結果ファイルを削除します。
6.[SAVE] (保存)
  トレース結果ファイルをhololensからPCにダウンロードします。

WPRプロファイル:Windows Performance Recorder(WPR)の説明は以下にあります。
Windows Performance Recorder
 https://msdn.microsoft.com/en-us/library/windows/hardware/hh448205.aspx
要はカスタマイズしたパフォーマンストレースが行えるということでしょうか。
使う機会があれば別途まとめます。

ダウンロードしたトレース結果ファイル(ELT)は Windows Performance Analyzer で確認できます。
f:id:bluebirdofoz:20170917231455j:plain



参考ページ
・Using the Windows Device Portal
 https://developer.microsoft.com/en-us/windows/mixed-reality/using_the_windows_device_portal

hololens用DevicePortalの機能についてまとめる(Mixed Reality Capture[キャプチャ])

DevicePortal調査枠です。
bluebirdofoz.hatenablog.com

hololens用DevicePortalの「Mixed Reality Capture (キャプチャ)」ページについてまとめます。
f:id:bluebirdofoz:20170916024624j:plain

[Capture] (キャプチャ) セクション
1.[Holograms] (ホログラム)
  ビデオ ストリームのホログラフィック コンテンツをキャプチャします。
  ホログラムは、ステレオではなくモノラルでレンダリングされます。
2.[PV camera] (PV カメラ)
  写真/ビデオ カメラからビデオ ストリームをキャプチャします。
3.[Mic Audio] (マイク オーディオ)
  マイク配列からオーディオをキャプチャします。
4.[App Audio] (アプリ オーディオ)
  現在実行中のアプリからオーディオをキャプチャします。
5.[Live preview quality] (ライブ プレビューの品質)
  ライブ プレビューの画面解像度、フレーム レート、ストリーミング レートを選択します。
6.[Live preview] (ライブ プレビュー)
  ボタンをクリックまたはタップすると、キャプチャ ストリームを表示します。
7.[Stop live preview] (ライブ プレビュー 停止)
  キャプチャ ストリーム中にボタンが表示されます。キャプチャ ストリームを停止します。
8.[Record] (録画)
  クリックまたはタップすると、指定された設定を使って Mixed Reality ストリームのレコーディングを開始します。
9.[Stop recording] (録画停止)
  録画中にボタンが表示されます。レコーディングを終了して保存します。
10.[Take photo] (静止画キャプチャ)
  クリックまたはタップすると、キャプチャ ストリームから静止画像を取得します。

[Videos and photos] (ビデオと写真) セクション
11.[FILE LIST] (ファイル リスト)
  デバイスで取得されたビデオと写真のキャプチャの一覧を表示します。
12.[DELETE] (削除)
  対象のファイルをストレージから削除します。
13.[SAVE] (保存)
  対象のファイルをhololensからPCにダウンロードします。
14.[FILENAME] (ファイル名)
  画像ファイルを開く。または、動画ファイルを再生します。


参考ページ
・HoloLens 用 Device Portal
 https://docs.microsoft.com/ja-jp/windows/uwp/debug-test-perf/device-portal-hololens
・Using the Windows Device Portal
 https://developer.microsoft.com/en-us/windows/mixed-reality/using_the_windows_device_portal

hololens用DevicePortalの機能についてまとめる(3D View[3D ビュー])

DevicePortal調査枠です。
bluebirdofoz.hatenablog.com

hololens用DevicePortalの「3D View (3D ビュー)」ページについてまとめます。
f:id:bluebirdofoz:20170915003448j:plain

1.[Tracking] (トラッキング状態)
  視覚追跡がアクティブかどうかを示します。

3DView画面上でのマウス操作
2.左クリック+マウス操作
  視点を回転します。
3.右クリック+マウス操作
  視点を移動します。
4.マウスのスクロール操作
  ズームインまたはズームアウトを行います。

[Tracking options] (追跡オプション) セクション
5.[Force visual tracking]
  連続的な視覚追跡を有効にします。
6.[Pause]
  視覚追跡を停止します

[View options] (表示オプション) セクション
7.[Show floor] (フロアを表示)
  3DView画面にチェック模様のフロア平面を表示します。
8.[Show frustum] (視錐台を表示)
  3DView画面に視野を示す視錐台を表示します。
9.[Show stabilization plane] (手ブレ補正平面を表示)
  HoloLens でモーションの手ブレ補正用に使われる平面を表示します。
10.[Show mesh] (メッシュを表示)
  周囲を表すサーフェス マッピング メッシュを表示します。
11.[Show spatial anchors] (空間アンカー)
  アクティブなアプリの空間アンカーを表示します。
  アンカーを取得して更新するには、「Update」ボタンをクリックする必要があります。
12.[First person view] (一人称視点)
  3DView画面を一人称視点(カメラからの視点)に切り替えます。
13.[Show details] (詳細を表示)
  手の位置、頭部の回転の四元数、デバイスの原点のベクトルを、動きに合わせてリアルタイムで表示します。
14.[Full Screen] (フルスクリーン)
  フルスクリーンモードで3DView画面を表示します。
  ESCキーを押すと、全画面表示を終了します。

[Spatial mapping] (空間マッピング) セクション
15.[Update] (アップデート)
  デバイスから最新のメッシュを取得します。
16.[Save] (セーブ)
  現在の空間マッピング メッシュを obj ファイルとして PC に保存します。

[Spatial anchors] (空間アンカー) セクション
17.[Update] (アップデート)
  デバイスからアプリで使用中の最新の空間アンカーを取得します。



参考ページ
・HoloLens 用 Device Portal
 https://docs.microsoft.com/ja-jp/windows/uwp/debug-test-perf/device-portal-hololens
・Using the Windows Device Portal
 https://developer.microsoft.com/en-us/windows/mixed-reality/using_the_windows_device_portal

Blenderでpythonスクリプトをコマンドラインで利用する

本日は Blender の技術調査枠です。
以前、Blenderpython スクリプトを利用する技術を試しました。
bluebirdofoz.hatenablog.com

しかし操作内容を python スクリプトで書いているのに態々 blender を起動するのは手間な話です。
そんなときはコマンドライン上からも実行可能です。
・BlenderWiki
https://wiki.blender.org/index.php/Doc:JA/2.6/Manual/Render/Command_Line
Blender起動時オプション
http://blendstudy.readthedocs.io/en/latest/02_launchblender/introduction.html

Windows上で利用する場合、コマンドプロンプトを開きます。
Blender がインストールされたディレクトリに移動してから、blender コマンドを実行することで利用可能です。

python スクリプトの利用は -P または --python オプションで可能です。

試しに、ファイルを自動で読み込んで別形式で保存出力するスクリプトを作成します。
・TestFBXMaker.py

import bpy

bpy.context.scene.objects.unlink(bpy.data.objects['Cube'])

bpy.context.scene.objects.unlink(bpy.data.objects['Camera'])

bpy.context.scene.objects.unlink(bpy.data.objects['Lamp'])

bpy.ops.import_scene.x3d(filepath='D:\Paraview\Output\WingTest\WingGeo0000.x3d')

bpy.ops.export_scene.fbx(filepath='D:\Paraview\Output\WingTest\Test\TestWingGeo0000.fbx', version='BIN7400', ui_tab='GEOMETRY', use_mesh_modifiers=True, mesh_smooth_type='OFF')

早速コマンドプロンプトで使ってみましょう。

……と、私の環境では Blender が D ドライブにあるため、コマンドプロンプトのドライブ移動に手間取りました。
情報を残して置きます。「C:\> D:」で移動できます。
nemoplus.hateblo.jp

では早速、Blender のインストールフォルダに移動して以下のコマンドを実行します。
blender.exe -P D:\Blender\pythonScript\TestFBXMaker.py
f:id:bluebirdofoz:20170914005401j:plain

しかし、Blender が起動するだけで python スクリプトは実行されませんでした。
f:id:bluebirdofoz:20170914005422j:plain

どうやらスクリプト実行のコントロール設定で実行の許可を与えないといけない模様です。
スクリプティングとセキュリティ
https://wiki.blender.org/index.php/Doc:JA/2.6/Manual/Extensions/Python/Security

セキュリティ的に当然ですね。以下の通り、ユーザ設定で自動実行を許可します。
f:id:bluebirdofoz:20170914005515j:plain

では再度実行します。
f:id:bluebirdofoz:20170914005535j:plain

今度は処理が実行され、ファイル出力も行われました。
因みに上記のキャプチャの通り、本実行コマンドではGUIが起動します。

GUIの起動も不要という場合は以下の通り、-b オプションまたは--backgroundを追加する事で GUI を表示せず実行が可能です。
blender.exe -b -P D:\Blender\pythonScript\TestFBXMaker.py
または
blender.exe --background --python D:\Blender\pythonScript\TestFBXMaker.py
f:id:bluebirdofoz:20170914005639j:plain

hololens用DevicePortalの機能についてまとめる(Home[ホーム])

DevicePortal調査枠です。
bluebirdofoz.hatenablog.com

hololens用DevicePortalの「Home (ホーム)」ページについてまとめます。
f:id:bluebirdofoz:20170913012645j:plain

1.[Device Status] (デバイスの状態)
  デバイスの正常性を監視し、重大なエラーを報告します。
2.[Windows information] (Windows の情報)
  HoloLens の名前と、現在インストールされている Windows のバージョンを表示します。

[Preferences] (設定) セクション
3.[IPD](瞳孔間距離 (IPD))
  瞳孔間距離 (IPD) を設定します。
  これは、ユーザーがまっすぐ前を向いたときの瞳孔の中心間の距離をミリメートル単位で示すものです。
  設定はすぐに反映されます。
  既定値は、デバイスのセットアップ時に自動的に計算された値です。
4.[Device name] (デバイス名)
  HoloLens に名前を割り当てます。
  この値を変更した場合、変更を有効にするにはデバイスを再起動する必要があります。
  Save をクリックすると、デバイスを今すぐ再起動するか、後で再起動するかをたずねるダイアログが表示されます。

[Sleep settings] (スリープの設定)セクション
5.[When on battery, go to sleep after]
  バッテリで動作しているときの、スリープ状態に移行するまでの待ち時間の長さを設定します。
6.[When plugged in, go to sleep after]
  デバイスが電源に接続されているときの、スリープ状態に移行するまでの待ち時間の長さを設定します。


参考ページ
docs.microsoft.com

hololens用DevicePortalの機能についてまとめる

本日は hololens の技術調査枠です。
DevicePortalの機能についてページ毎にまとめていきます。

初めに、ページの最上部にあるツールバーについてです。
f:id:bluebirdofoz:20170913012327j:plain
順に以下の機能を提供します。

1.[Online] (オンライン)
  デバイスWi-Fi に接続しているかどうかを示します。
2.[Shutdown] (シャットダウン)
  デバイスを電源断します。
3.[Restart] (再起動)
  デバイスを再起動します。
4.[Security] (セキュリティ)
  Device Security ページを開きます。
5.[Cool] (低温)
  デバイスの温度を示します。
6.[A/C]
  デバイスが電源に接続され、充電されているかどうかを示します。
  電源に接続されていない場合、残電力量を示します
7.[Help] (ヘルプ)
  REST インターフェイスのドキュメント ページを開きます。


次に、ページの左部にあるメニューバーについてです。
f:id:bluebirdofoz:20170913012339j:plain
クリックすることで以下の各ページに遷移できます。
それぞれの機能についてはページ毎にまとめていきます。

1.[Home] (ホーム)
bluebirdofoz.hatenablog.com

2.[3D View] (3D ビュー)
bluebirdofoz.hatenablog.com
3.[Mixed Reality Capture] (キャプチャ)
bluebirdofoz.hatenablog.com
4.[Performance Tracing] (パフォーマンス トレース)
bluebirdofoz.hatenablog.com
5.[Processes] (プロセス)
bluebirdofoz.hatenablog.com
6.[System Performance] (システム パフォーマンス)
bluebirdofoz.hatenablog.com
7.[Apps] (アプリ)
bluebirdofoz.hatenablog.com
8.[App Crash Dumps] (アプリのクラッシュ ダンプ)
bluebirdofoz.hatenablog.com
9.[File Explorer] (ファイルエクスプローラ)
bluebirdofoz.hatenablog.com
10.[Logging] (ログ)
bluebirdofoz.hatenablog.com
11.[Simulation] (シミュレーション)
bluebirdofoz.hatenablog.com
12.[Networking] (ネットワーキング)
bluebirdofoz.hatenablog.com
13.[Virtual Input] (仮想入力)
bluebirdofoz.hatenablog.com


参考ページ
docs.microsoft.com

Inspectorのコメント(ヘッダ)表示を編集する

本日は Unity の技術調査枠です。
Unity の Inspector ビューにコメントを表示する方法について試してみます。
以下の記事を参考にします。
unity-xeion.seesaa.net
tsubakit1.hateblo.jp
docs.unity3d.com

例えば、以下のような Inspector ビューに用途の分からない変数があるときに便利です。
f:id:bluebirdofoz:20170911231430j:plain

スクリプトに以下のようにヘッダを設定してみます。
・NavMeshLogic.cs

    public class NavMeshLogic : MonoBehaviour, INavMeshLogic
    {
        [Header("NavMesh操作ロジック設定変数")]

        /// <summary>
        /// NavMeshAgentの参照
        /// </summary>
        public NavMeshAgent p_Agent;

        [Header("追いかけっこ完了判定領域")]

        /// <summary>
        /// 追いかけっこ完了判定領域オブジェクト
        /// </summary>
        public GameObject p_HuntCheckCollider;

すると Inspector ビューに以下のようにコメントが挿入され、その用途が分かりやすくなりました。
f:id:bluebirdofoz:20170911231453j:plain

因みにヘッダはあくまで直下の変数に対するヘッダです。
よって以下のようにヘッダだけ Inspector ビューに表示するような使い方はできません。
・NavMeshLogic.cs

    public class NavMeshLogic : MonoBehaviour, INavMeshLogic
    {
        [Header("NavMesh操作ロジッククラス")]

        /// <summary>
        /// 初期化関数
        /// </summary>
        /// <param name="iRControlLogic">上位アクセスクラス</param>
        /// <returns>成否判定</returns>
        public void Init(IRControlLogic iRControlLogic)
        {