MRが楽しい

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

AcerWindowsMixedRealityHeadset(AH101)の購入レビュー その2(どのくらいの大きさのメガネが入るか)

前回に引き続き、AcerWindowsMixedRealityHeadset(AH101)の購入レビューです。
bluebirdofoz.hatenablog.com

個人的にHMDで重要だと考えているスペックの一つに「どのくらいの大きさのメガネが入るか」という要素があります。
OculusRiftCV1ではフィット領域の横幅が狭く、別途小さいメガネを購入しなければなりませんでした。
同じ苦い経験を持つ人は必ず気になる数値だと思いますので、真っ先に調べてみました。

まずはレンズの中央を中心に、定規を当ててフィット領域の縦幅と横幅を計りました。
f:id:bluebirdofoz:20171019003306j:plain
結果、横 13.4cm × 縦 6cm ほどの広さでした。

しかし、これはOculusRiftと大体同じくらいのサイズです。
f:id:bluebirdofoz:20171019003319j:plain
(メガネを入れやすくするため、スポンジ部分をビニール紐で縛るという小細工をしています)

それにも関わらず、何故かAH101の方は大きいメガネがすんなり入る。
例えば、同じメガネを試してみると……。
f:id:bluebirdofoz:20171019003353j:plain
AH101にはテンプルを立てた状態でも入る。
f:id:bluebirdofoz:20171019003404j:plain
でもOculusRiftCV1だとそもそもフレームが引っ掛かかり、どう傾けても入りさえしない。

何故かな、と色々眺めてみましたが、機器を下から垂直に見てみると理由が分かりました。
AH101を下から見た図。
f:id:bluebirdofoz:20171019003422j:plain
OculusRiftCV1を下から見た図。
f:id:bluebirdofoz:20171019003454j:plain

OculusRiftCV1はスポンジ部分までプラスチックカバーが真っ直ぐ伸びていますが。
AH101はスポンジ部分のところだけ、プラスチックカバーを広げているんですね。
f:id:bluebirdofoz:20171019003510j:plain
おかげでAH101はスポンジ部分が1cmくらい凹みます。左右で計2cmぐらい余裕を持って広く使えます。
OculusRiftCV1の方は0.5cm凹むかどうかくらい。左右で1cmも広くは使えない。

スポンジがどれくらい余裕があるかなので通常時にも隙間は無く、没入感にも影響しない。
素晴らしいです。OculusRiftも次世代機では、この形状にして貰いたい。

最後に私のメガネのサイズを載せておきます。
これくらいのサイズのメガネまでならAH101は問題なく利用可能です。
f:id:bluebirdofoz:20171019003606j:plain

縦幅が入らないという事はまず無いと思うので、注意すべきは横幅でしょうか。
凡そ56口サイズのメガネまで入ると言えるので、ほとんどのメガネは問題ないと思います。

AcerWindowsMixedRealityHeadset(AH101)の購入レビューとセットアップ

本日はAcerWindowsMixedRealityHeadset(AH101)の購入レビューとセットアップ手順です。
10月17日、遂にWindowsMixedRealityHeadsetのコンシューマ向け販売が開始されました。
早速、私もAcerのAH101を購入しました。
f:id:bluebirdofoz:20171018092259j:plain

主なスペックは開発者向けのものと変わりません。
以前、開発者向けのデバイスについてまとめを行ったので機器のスペックはこちらを参照ください。
bluebirdofoz.hatenablog.com

箱を開くと、ヘッドセット本体、左右のコントローラ、取説、単3電池4本が入ってます。
f:id:bluebirdofoz:20171018092323j:plain
あとアイマスクみたいなものが?顔に痕が付くのを防止するものでしょうか。

HDMIとUSBの接続端子をWindowsPCに差し込めばポータル画面が起動し、セットアップが開始します。
f:id:bluebirdofoz:20171018092338j:plain
インストーラ等の準備も不要です。とてもシンプル。

ただしWindows 10 Fall Creators Updateのアップデートを実施済みである必要があります。
自動認識されない場合は以下の手順でWindowsが最新状態か確認してください。

デスクトップのメニューから 設定 -> 更新とセキュリティ で「更新プログラムのチェック」をクリックします。
f:id:bluebirdofoz:20171018092414j:plain
「利用可能な更新プログラムはありません」が表示されれば問題ありません。

話がそれました。セットアップの続きです。
今回はGTX1050搭載のノートPCで試してみました。(デスクトップPCには既にOculusRiftが接続してあるので)

まだヘッドセットを装着する必要はなく、デスクトップ上の画面からセットアップを実施します。
起動した画面から「開始する」をクリックします。
f:id:bluebirdofoz:20171018092643j:plain

ガイドラインが表示されますので「同意する」をクリックします。
f:id:bluebirdofoz:20171018092654j:plain

PCの性能チェックが行われます。問題なければ「次へ」をクリックします。
f:id:bluebirdofoz:20171018092706j:plain

コントローラのセットアップ画面が表示されます。「次へ」をクリックします。
f:id:bluebirdofoz:20171018092715j:plain

コントローラの説明画面が表示されます。「次へ」をクリックします。
f:id:bluebirdofoz:20171018092724j:plain

コントローラのペアリング画面が表示されます。
まずはコントローラに単3電池をセットして、ウィンドウズボタンを2秒間長押しすると電源が入ります。
後はBluetoothペアリングボタンを長押しすれば接続が完了します。
左コントローラ、右コントローラが「接続済み」となったら「次へ」をクリックします。
f:id:bluebirdofoz:20171018092733j:plain

次にセットアップの選択画面が表示されます。
f:id:bluebirdofoz:20171018092742j:plain
「あらゆる使い方のセットアップ」が推奨ですが、今回利用する部屋は動き回れるほど広くありません。
今回は「座ったり立ったりして使うときのセットアップ」を選択しました。
f:id:bluebirdofoz:20171018092751j:plain
「あらゆる使い方のセットアップ」を選択するとここで部屋の広さ設定を行うものと思われます。

ヘッドセットの位置調整画面が表示されます。
画面の指示に従って、ヘッドセットをPCの手前に置いて「中央」ボタンをクリックします。
f:id:bluebirdofoz:20171018092803j:plain

音声認識のセットアップ画面が表示されます。「はい」をクリックします。
f:id:bluebirdofoz:20171018092811j:plain
特に音声認識の必要がなければ「いいえ」を選択しても問題ありません。
しかし、ヘッドセットを利用中はキーボードが見えないので音声入力はあった方が便利でしょう。

WindowsMixedRealityのソフトウェアのダウンロードが始まります。
f:id:bluebirdofoz:20171018092820j:plain
サイズが大きく、それなりに時間がかかるので気長に待ちましょう。

以上でセットアップは完了です。
f:id:bluebirdofoz:20171018092828j:plain
ヘッドセットを装着すると、移動やコントローラ操作のチュートリアルが開始されます。

因みに「MixedRealityポータル」画面には「プレビューの開始」ボタンがあります。
f:id:bluebirdofoz:20171018092848j:plain

これをクリックすると、ヘッドセットで見ている映像がポータル画面に表示されます。
利用時の映像キャプチャを撮るときに便利です。
f:id:bluebirdofoz:20171018092900j:plain

ポータル画面の「×」ボタンを押すと、MixedRealityが終了します。
f:id:bluebirdofoz:20171018093611j:plain


さて以下は使ってみての感想です。

まずセットアップが感動するくらいに簡単です。外部センサもないので接続が簡単。
ソフトのセットアップも特に事前調査の必要もありません。(必要スペックの確認くらい?)
OSレベルでサポートされている点の強みを最大限活かしてます。
VRの敷居がかなり下がったように感じました。ソフトウェアさえ充実すれば一般向けにもすぐに普及しそうです。

Acerのヘッドセットに関してはメガネを装着していてもかなり利用しやすく、これも良い点でした。
それでいてしっかり顔にフィットして外の光が遮断されているので没入感もばっちり。
ラッキング性能も、ヘッドトラッキング、コントローラ共に満足な性能です。


OculusRiftを初めて利用したときは、性能には満足しつつもセットアップの大変さから一般普及はまだまだ時間かかりそうだという感想でした。
しかし、WindowsMixedRealityは違います。新しいインプットアウトプットのデバイスの選択肢として、十分な敷居の低さです。いやホント。

3Dモデルのダウンロードサイトをまとめる

本記事では私が利用した3Dモデルのダウンロードサイトをまとめます。
動画作成で利用した空力シミュレーションやレインボーブリッジの3Dデータもこれらのサイトから取得しています。

・UNITY-CHAN!
unity-chan.com

おいかけっこアプリでキャラクターモデルを利用させていただきました。
ユニティちゃんというUnity用の3Dモデルキャラクターのアセットが取得できます。
3Dモデルだけでなく、モーションやボイスも付属しており、Unityでゲームを作る際は真っ先にお世話になるサイトです。

・ニコニ立体
3d.nicovideo.jp

主にMMDのモデルはこちらから取得して利用させていただいてます。
pmx 形式のファイルに対応している公開サイトがここくらいなので、MMDのモデルを利用する際はお世話になるでしょう。
モデル毎に利用規約が異なるので、利用の際は注意が必要です。

・3D Warehouse
 https://3dwarehouse.sketchup.com/index.html

レインボーブリッジの3Dモデルを利用させていただきました。
ブラウザ上でモデルを確認して取得することができます。ファイル形式は skp ファイルです。
Unityなどでモデルを利用する際は skp ファイルを編集可能なソフトが必要です。
bluebirdofoz.hatenablog.com


・SimScale
 https://www.simscale.com/

空力シミュレーションの3Dデータを利用させていただきました。
クラウドのシミュレーションサービスです。公開されているデータは3Dモデルではなくシミュレーション結果です。
3Dモデルとして出力するには別途、可視化ソフトを通す必要があります。
bluebirdofoz.hatenablog.com
シミュレーションデータの取得方法は以下にまとめてあります。
bluebirdofoz.hatenablog.com



その他にも様々なウェブサービスが存在します。利用の都度、追記していきます。

BandicamとMovieStudioでHololensアプリ紹介動画を作成する その3(字幕・ナレーション)

前回のMovieStudio調査枠の続きです。
bluebirdofoz.hatenablog.com

今回はナレーションの追加方法を試します。
ナレーションはマイク入力で声を録音しても良いですが、今回は機械音声を利用してみます。
フリーソフトの「SofTalk」を利用します。
www35.atwiki.jp

いわゆる「ゆっくり実況」などで用いられる音声と言えば分かる人も多いでしょうか。
ダウンロードページから取得します。即利用が可能で、特にインストール作業は不要です。
f:id:bluebirdofoz:20171016022034j:plain

起動したら、テキスト入力欄に音声メッセージを入力します。
声の種類や速度、音程を調節して「●」ボタンをクリックすれば WAVE ファイルが出力されます。
f:id:bluebirdofoz:20171016022042j:plain
実際にはテキストの読み方など何度か再生を繰り返して調整する必要があります。
例えば、上記の例だと「hololens」は適切に発声されないので「ホロレンズ」と書き換えます。

さて早速、MovieStudioのプロジェクトに作成した WAVE ファイルをインポートします。
MovieStudioのプロジェクトを開きます。
f:id:bluebirdofoz:20171016022049j:plain

ここに作成した WAVE ファイルを差し込みたい所ですが、既にボイス欄には音声が挿入されています。
これは動画の元音声です。今回は動画の音声を消してみます。

このとき、音声を選択して削除を行うと一緒に映像まで消えてしまいます。
これは映像と音声がグループ化され、関連付けられているためです。まずはグループ化を解除しましょう。
映像にマウスを合わせて右クリック グループ -> グループから削除 を選択します。
f:id:bluebirdofoz:20171016022057j:plain

これで映像と音声のグループが解除されるので、音声ファイルのみを削除できます。
f:id:bluebirdofoz:20171016022105j:plain

ではナレーションを追加します。
先ほど SofTalk で作成した音声ファイルをドロップ操作でボイス欄に追加するだけです。
f:id:bluebirdofoz:20171016022112j:plain

後はブロックを移動して再生位置の調整や、ボリュームの調整を行います。
因みにボリュームの調整はブロック毎にも可能です。
音声ブロックの上部をマウス選択するとゲインの調整UIが表示されます。
f:id:bluebirdofoz:20171016022120j:plain

これだけでも良いですが、折角なので字幕も入れてみましょう。
まずテキスト欄を選択します。
字幕の挿入位置にターゲットを移動したらメニューから 挿入 -> テキストメディア を選択します。
f:id:bluebirdofoz:20171016022128j:plain

「ビデオメディアジェネレータ」ダイアログが開きます。
プレビューに変形内容が表示されるので、再生時間、テキストのフォント、表示位置などを調整します。
f:id:bluebirdofoz:20171016022135j:plain

動画内で同じテキスト表示を使いまわす場合は、プリセットとしてフォーマットを保存しておくと良いです。
プリセット欄に、任意の名前を入力して「プリセットの保存」ボタンで記録できます。
f:id:bluebirdofoz:20171016022142j:plain

音声と字幕の設定を全て完了したら前回と同様の手順でレンダリングを行います。
bluebirdofoz.hatenablog.com

GIF表示のため、ブログでは音声は再生されませんが、以下のような感じで再生されます。
f:id:bluebirdofoz:20171016022202g:plain

MMDでライティング(Lighting)の設定を行う その4

本日は MMD の技術調査枠です。
前回記事の続きになります。
bluebirdofoz.hatenablog.com

MMD にモデルを読み込み、シェーダの適用を行うところまで進めました。
さて次は更に追加レイヤを読み込んでスフィアマップによる質感を追加します。

まず、前回作成したプロジェクトについてライティングを調整しました。
f:id:bluebirdofoz:20171015040232j:plain
肌は光が自然拡散している感じでセルフ影を薄めに、服は反射を強めにしています。

さてダウンロードしたM4レイヤーのフォルダを開きます。
事前に M4Layer.fx をテキストエディタで編集する必要があります。
f:id:bluebirdofoz:20171015040247j:plain

テキストを開くと、レイヤーモードに関する設定項目があります。
LAYER_MODE の値を 3 にして「乗算モード」に変更します。
・M4Layer.fx

// レイヤーモード
// 0: 通常
// 1: 加算
// 2: 減算
// 3: 乗算
// 4: スクリーン
// 5: オーバーレイ
// 6: ハードライト
// 7: ソフトライト
// 8: ビビッドライト
// 9: リニアライト
// 10: ピンライト
// 11: 覆い焼き
// 12: 焼き込み
// 13: 比較 (暗)
// 14: 比較 (明)
// 15: 差の絶対値
// 16: 除外
// 17: 色相
// 18: 彩度
// 19: カラー
// 20: 輝度
//#define LAYER_MODE 0
//↓以下に修正
#define LAYER_MODE 3

念のため、M4Layer_03.fx という別名で保存しました。
この場合は x ファイルについても同名のファイルを複製して作成する必要があります。
f:id:bluebirdofoz:20171015040301j:plain

作成したM4レイヤーをアクセサリとして読み込みます。
MMD をカメラ編モードで「アクセサリ操作」パネルの「読込」をクリックして読み込みます。
f:id:bluebirdofoz:20171015040316j:plain

右上の MMEffect をから「エフェクト割当」をクリックします。
f:id:bluebirdofoz:20171015040433j:plain

エフェクトファイル割り当てダイアログが開きます。
すると新たに「LayerRT」タブというものが表示されています。
これを開くと前回設定したシェーダとは別にエフェクトファイルの割り当てができます。
f:id:bluebirdofoz:20171015040520j:plain

肌の質感を変えてみます。
オブジェクトの中から肌の材質を選択して「ファイル選択」をクリックします。
f:id:bluebirdofoz:20171015040530j:plain

fx ファイルを設定できますので、ダウンロードした dAdultsShader から好みの質感を選択します。
f:id:bluebirdofoz:20171015040621j:plain
肌に赤みが増しました。

因みにレイヤーモードを乗算にしているため、エフェクトファイルを割り当てていない場合でもオブジェクトは有効にします。
ExcellentShadow他の追加アクセサリが無効化されていたのでチェックを入れておきます。
設定が完了したら「OK」で作業を確定します。
f:id:bluebirdofoz:20171015040629j:plain

後は再びコントローラで微調整していきます。
前回記事では調整しませんでしたが「証明操作」パネルで照明自体の調整も可能です。
ライティングは照明の影響を受けるので RGB 各値は 200 以上の高めの値にしておくのが良いです。
f:id:bluebirdofoz:20171015040640j:plain

ついでに hololens も追加して、改めてシェーダを割り当てます。
画像出力すると、こんな感じに。
f:id:bluebirdofoz:20171015040650j:plain
f:id:bluebirdofoz:20171015040700j:plain
それっぽくなりました。しかし、綺麗な絵作りを目指すにはまだまだ調整が必要そうです。

因みに今更ですがこれらのライティング処理を使うと処理がかなり重くなります。
作業にはそれなりのハイスペックPCが必要です。


記事のまとめは以上です。

MMDでライティング(Lighting)の設定を行う その3

本日は MMD の技術調査枠です。
前回記事の続きになります。
bluebirdofoz.hatenablog.com

MMD のプロジェクトにライティング用のエフェクトを追加するところまで進めました。
さて次は MMD にモデルを読み込み、シェーダの適用を行っていきます。

前回作成したプロジェクトにモデルを読み込みます。
f:id:bluebirdofoz:20171015022206j:plain

表示 -> エッジ太さ を選択し、エッジの太さを 0 に設定しておきます。
f:id:bluebirdofoz:20171015022217j:plain

次にシェーダを割り当てていきます。
その1でダウンロードした N2+CShader には割り当て用の基本セットが用意されています。
f:id:bluebirdofoz:20171015022232j:plain

まずはこれらの基本セットを割り当てて調整を行うのが良いでしょう。今回はAセットを割り当てます。
f:id:bluebirdofoz:20171015022246j:plain

右上の MMEffect をから「エフェクト割当」をクリックします。
f:id:bluebirdofoz:20171015022257j:plain

エフェクトファイル割り当てダイアログが開きます。
シェーダの割り当てを行うオブジェクト(ここでは山風モデル)を選択し「ファイル選択」をクリックします。
f:id:bluebirdofoz:20171015022306j:plain

先ほどのAセットフォルダを開き、N2+C(A-01).fx ファイルを割り当てます。
f:id:bluebirdofoz:20171015022321j:plain

モデルにシェーダが割り当てられ、モデルにライティングの効果が現れました。
f:id:bluebirdofoz:20171015022330j:plain

今回はモデル全体に一つのシェーダを割り当てましたが。
実際には肌と服などで光の反射具合を変更したいという事があると思います。

そういった材質毎にシェーダを割り当てたい場合は以下の操作を行います。
材質毎にシェーダを割り当てたいオブジェクトを右クリックして「サブセット展開」をクリックします。
f:id:bluebirdofoz:20171015022340j:plain

すると以下のように材質毎の設定項目が展開されます。
f:id:bluebirdofoz:20171015022352j:plain

材質毎に「ファイル選択」を行い、別々のシェーダを割り当てると個別にライティングを調整できるようになります。
以下のシェーダを材質毎に設定しました。
・N2+C(A-01)
・N2+C(A-瞳)
・N2+C(A-肌1)
・N2+C(A-髪の毛)
「OK」をクリックして反映します。
f:id:bluebirdofoz:20171015022403j:plain

さてシェーダを割り当てましたが、このままではシェーダ毎の調整はできません。
モデルに割り当てたシェーダと同じ名前の PMX ファイルを読み込むことでシェーダのコントローラとなります。
モデル操作の「読込」をクリックします。
f:id:bluebirdofoz:20171015022417j:plain

今回、私が割り当てたシェーダだと以下のファイルを読み込みます。
f:id:bluebirdofoz:20171015022431j:plain
因みに 全体 と名のついたコントローラは読み込むとAセットのシェーダ全ての操作が同時に行えます。

コントローラを読み込みました。
モデル操作でコントローラを選択すると「表情操作」のパネルでシェーダの設定が可能になります。
f:id:bluebirdofoz:20171015022444j:plain

因みにコントローラを操作する際「ボーン操作」のパネルで「選択」を選んでいるとシェーダが適用されません。
「回転」または「移動」を選択すると、シェーダが適用された状態が表示されます。
f:id:bluebirdofoz:20171015022505j:plain

試しに「N2+C【A-髪の毛】」のコントローラを選択して「強制発光」のステータスを調整してみると……。
f:id:bluebirdofoz:20171015022524j:plain
発光しました。成功です。

「N2+C【A 全体】」のコントローラも試してみました。
f:id:bluebirdofoz:20171015022535j:plain
こちらは変更がモデル全体に反映されることが分かります。
個別のシェーダの変更に加算される形で色味が変わるようです。
基本的には「全体」で操作を行い、気になるところのみ、個別シェーダで調整するという形が良さそうです。

MMD でのシェーダの設定が行えました。ここまででも十分色々な表現が行えそうです。
以降は次回です。次は追加レイヤを読み込んで更にスフィアマップを追加します。
bluebirdofoz.hatenablog.com

MMDでライティング(Lighting)の設定を行う その2

本日は MMD の技術調査枠です。
前回記事の続きになります。
bluebirdofoz.hatenablog.com

ライティング設定用の PMX モデルを作成するところまで進めました。
さて次は MMD 上でエフェクトの設定を行う訳ですが、その前に実施しておくことがあります。

MME の導入です。これを導入することで MMD 上でエフェクトファイルが利用可能になります。
www.nicovideo.jp

ダウンロードすると以下のファイルが同梱されています。
・d3d9.dll
・MMHack.dll
・MMEffect.dll
これらのファイルを MikuMikuDance.exe と同じフォルダにコピーすることで MME の導入完了です。

次は MMD プロジェクト上での作業となります。MMD を起動します。
MME のインストールが成功していれば、右上に MMEffect の項目が表示されています。
f:id:bluebirdofoz:20171014185939j:plain

まずアクセサリ操作の「読込」ボタンをクリックして N2+CShader にある ExcellentShadow.x を読み込みます。
3バージョン用意されている中のノーマル版を利用します。
f:id:bluebirdofoz:20171014185951j:plain

設定値は以下の通りとします。値を変更したら「登録」ボタンをクリックして確定します。
f:id:bluebirdofoz:20171014190001j:plain

次に HgSAO.x を読み込みます。こちらもノーマル版を利用します。
f:id:bluebirdofoz:20171014190008j:plain

設定値を以下の通りとします。値を変更したら「登録」ボタンをクリックして確定します。
f:id:bluebirdofoz:20171014190018j:plain

その他、AmbientController.x を読み込み、設定値を以下の通りとします。
f:id:bluebirdofoz:20171014190030j:plain
表示のチェックを外している点に注意です。

BackLightController.x を読み込み、設定値を以下の通りとします。
f:id:bluebirdofoz:20171014190040j:plain
表示のチェックを外している点に注意です。

SoftLightA.x を読み込み、設定値を以下の通りとします。
f:id:bluebirdofoz:20171014190050j:plain

SoftLightB.x を読み込み、設定値を以下の通りとします。
f:id:bluebirdofoz:20171014190101j:plain

この時点で真っ暗な画面になっていればOKです。
f:id:bluebirdofoz:20171014190111j:plain

ついでに表示設定を以下のように設定します。
・「モデル編集時カメラ・証明追従」 オン
・「地面影表示」 オフ
・「アンチエイリアス」 オフ
f:id:bluebirdofoz:20171014190435j:plain
「モデル編集時カメラ・証明追従」 はオンになっていない場合、リアルタイムで陰影調整ができません。

この辺りまでが基本セットなので、この時点でプロジェクトを保存しておくと流用できて便利です。
f:id:bluebirdofoz:20171014190137j:plain
アンチエイリアス」の設定のみは MMD の再起動のたびに「オン」に戻るのでその点は注意してください。


以降は次回です。次はモデルを読み込んでシェーダの調整を実施します。
bluebirdofoz.hatenablog.com