ぼっちプログラマのメモ

UE4とかUE5とかについて書いたり書かなかったり。

OculusRift+MMDforUnityで、ミクさんと一緒に散歩してみる その3(完成?)

前回の続き

OculusRiftに対応したSkyboxを使ってみる

通常のSkyboxをOculusRift用のステレオカメラに適応しても上手く重ならないので、
↓のサイトで紹介されている「SkyboxMesh.cs」を使ってみる。
http://d.hatena.ne.jp/hecomi/20130721/1374372218


f:id:pafuhana1213:20130901015837j:plain

これまでの一色の背景に比べると、見栄えが段違いに良くなるな~
製作者に感謝感謝

※ 注意
SceneビューにもSkyboxを表示されることは以下のサイトにある方法で可能ですが、
SkyboxMesh.csと競合しているせいなのか、OculusRift上で上手く重ならなくなりました

http://www40.atwiki.jp/spellbound/pages/1339.html#id_24f01384

ImageEffect(ポストエフェクト)を使ってみる

せっかくのUnity proなので、pro限定のImageEffectを使ってみる。
OculusRiftを使う場合、OVRCameraController下のCameraLeft,CameraRightに
ImageEffectコンポーネントを追加することで、ポストエフェクトを導入することができます。

UnityのImageEffect一覧:http://docs-jp.unity3d.com/Documentation/Components/comp-ImageEffects.html

とりあえず、使用前(左)と使用後(右)の比較画像を
f:id:pafuhana1213:20130901020719j:plain

使用したImageEffect
・Antialiasing As Post Effect
・Screen Overlay
・Sun Shafts

ただでさえ可愛いミクさんが、エフェクトで神々しい感じに…というイメージで
OculusRiftで見ると、SunShaftsは飛び出して見えて面白い感じ

一応、全部のImageEffectを触ってみたのですが、
DOFなどのガチ画像編集系だと上手く働かないことが多かったです。
OculusRiftへ適応するための歪み処理が影響しているからかも…?

MMD用のステージデータを使ってみる

最後に、MMD用に作られたステージをUnityで使えるか試してみる。

まず、ステージデータはこのサイトを参考に探す所から
http://www6.atwiki.jp/vpvpwiki/pages/410.html

軽く見ただけですが、「.x」「.pmd」「.pmx」形式が使用されているみたい。

各形式のUnityでの使用法についてですが、

.pmd:モデルデータと同様の流れで使用可能
.x :PMDエディタで.pmd形式に変換。あとは同じ流れ
.pmx:PMDエディタで(ry

…PMDエディタが優秀過ぎる


で、今回は↑のサイトから「アキ〇バラステージ」(x形式)を使用
f:id:pafuhana1213:20130901034746j:plain
f:id:pafuhana1213:20130901034922j:plain

キタ━━━━(゚∀゚)━━━━!!(SunShafts効きすぎ…)


画像じゃ伝わりませんが、OculusRift着けて見上げると
なかなかの迫力!買ってよかった、OculusRift!


※ステージデータを使用する過程で引っかかった部分
PMD Loaderで生成したPrefabをHierarchyに追加して実行すると
こんな感じのエラーメッセージが表示されて止まります

NullReferenceException
UnityEngine.Component.GetComponent[MMDSkinsScript] ()

解決策は、ステージデータPrefabの子であるExpressionの
「Expression Manager Script」を無効化すること
(特に、描画に影響は見当たらないのでたぶん大丈夫…)


今回でミクさんとのお散歩は終了。記念に実行ファイルをアップ
OculusRiftなしでも一応実行できますが、↑の画像と同じように分割された絵になります…
https://dl.dropboxusercontent.com/u/30427841/Unity_web/walk_inAkiba.zip


次からはゲームっぽいものを作ろうかな~