VR、ゲーム制作、プログラミング。Unity とか Oculus Rift とか。

2014年3月17日月曜日

[Unity]OculusRiftでモデルの首をスクリプトで動かせないときの対処

OculusRift でプレイヤーモデルの首を動かしたいのにうまく動かない、というときのための対処法です。

基本的にプレイヤーモデルの顔はカメラに映りませんが、カメラを目の位置=顔の中心からずれた位置に設置している場合、OculusRift の回転に合わせて顔も回転させておかないと、上を向いたときに髪の毛が映ったり頭の中が見えたりしてしまいます。


(モデルは Mukilus でお借りした Tda 式ミク さんと hzeo 式 KAITO さん)

カメラが顔の中心ではないため NearClip では対処しづらく、特に借り物のモデルでは顔だけを非表示にするのは難しいと思います。

そこで顔は表示させたまま首を動かし、カメラとモデルの目の位置が合っている状態を維持しようと考えるのですが、普通にやると初めは以下のような問題にぶつかるのではないかと思います。
  • OculusRift のカメラの Rotation をモデルの首に代入するスクリプトを作成し、単体では正しく動く
  • モデルにメカニムアニメーションを適用すると、アニメーションによって首が制御されスクリプトがうまく動かない
これについては、まずは以下のサイトなどを参考に、アニメーション側で首ボーンを動かさないように設定できるか試してみるのがよいと思います。

MMD for Unity を使って Oculus 用アプリを作ってみた - 凹みTips

メカ徒然日記 OculusRift+Unity失敗 解決事例 主にカメラ


しかし、自分のケースでは上記がうまく行かなかった(アニメーション側のマスク設定で、首のチェックを外せなかった)ため、以下のようなちょっと強引な方法で解決しました。


画像のように、アバターの Head にモデルの Neck を関連付けることでモデルの Head をメカニム制御対象外として、スクリプトではモデルの Head を回転させるという方法です。

トライ&エラーの上でのいわゆる dirty hack のため、詳細はあまり書いても仕方がないですが、

  • アバターの Head は必須
  • アバターの Head を正しく設定したまま Neck だけ外し、スクリプトで Neck を制御するのはうまく行かない
といったことを挙げておきます。


余談として、メカニムで特定の部位だけを動かすのはアバターボディマスクを使うのが正当なやり方ですが、Base Layer にはマスクを設定できません。

今回は試していませんが、Base Layer にはアニメーションを全く設定せずに、頭部を除外したボディマスクを指定したレイヤにのみアニメーションを設定すれば、こちらでもうまく行くかもしれません。(2013/3/23 追記 : これはうまく行かなさそうです)

スクリプトで直接 rotation を操作するのではなく、各向きの顔アニメーションを用意して 2D ブレンディング を使うのが真っ当なやり方のような気はしますが、これはけっこう面倒なので…。


2014/3/23 : ボディマスクの方法も試したので追記

2014年3月15日土曜日

[ドット絵]ユニティちゃん

ユニティちゃんやユニティ関連のみなさんのドット絵を置いていくかもしれないページです。

まだユニティちゃんだけです。




32x32 (実質 24x32), 32 色です。

ユニティちゃんライセンス
このアセットは、『ユニティちゃんライセンス』で提供されています。
このアセットをご利用される場合は、『キャラクター利用のガイドライン』も併せてご確認ください。

2014/3/16 : 素材画像のサイズが 2 倍になっていたのを修正
2015/2/22 : ユニティちゃんライセンス表記

2014年3月2日日曜日

[OculusRift]Mukilus : 初音ミクとあっち向いてホイ

OculusRift で目の前の初音ミクさんとあっち向いてホイで遊べる、Mukilus (むきらす) を作ってみました。


>>> ダウンロード (for Windows) <<<
(DK1 / 個人利用の範囲のみでお願いします)




  • 「正直この発想はあった」であろう、OculusRift の角度センサーであっち向いてホイを実際に作ってみたらこうなりました
  • ミクといえば歌とニコニコ動画。みんな知ってるあの曲から、BPM240 のあの曲まで、弾幕あふれる世界の中でリズムに乗ってノンストップあっち向いてホイ!
  • プレイヤーの手はみんな持ってるマウスでの操作です

参加予定だったニコニコ自作ゲームフェス3にはちょっと遅れてしまいましたが、OculusRift をお持ちの方はぜひミクさんと遊んでみてください。

粗い部分も多々ありますが 現在バージョンアップ版も鋭意作成中です


2014/3/7 : ページ更新
2014/11/9 : 注意書きなど追記