投稿

3月, 2014の投稿を表示しています

[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 を制御するのはうまく行かない といったことを挙げておきます。

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

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

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

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




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


このアセットは、『ユニティちゃんライセンス』で提供されています。
このアセットをご利用される場合は、『キャラクター利用のガイドライン』も併せてご確認ください。 2014/3/16 : 素材画像のサイズが 2 倍になっていたのを修正
2015/2/22 : ユニティちゃんライセンス表記

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

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


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

&amp;lt;a href="http://www.nicovideo.jp/watch/sm23007448"&amp;gt;【ニコニコ動画】【初音ミク + OculusRift】 Mukilus 【あっち向いてホイ】&amp;lt;/a&amp;gt;

「正直この発想はあった」であろう、OculusRift の角度センサーであっち向いてホイを実際に作ってみたらこうなりましたミクといえば歌とニコニコ動画。みんな知ってるあの曲から、BPM240 のあの曲まで、弾幕あふれる世界の中でリズムに乗ってノンストップあっち向いてホイ!プレイヤーの手はみんな持ってるマウスでの操作です
参加予定だったニコニコ自作ゲームフェス3にはちょっと遅れてしまいましたが、OculusRift をお持ちの方はぜひミクさんと遊んでみてください。

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

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