SlideShare a Scribd company logo
1 of 35
Oculus Rift 勉強会 #01
ウダサン
 ウダサン
 @udasan_koubou
 Unity 楽しい!
 Oculus Rift 楽しい!
 素人がVRソフトを展示しながら考えた、没入
体験中の説明のしかたについて
◦ http://udasankoubou.blogspot.jp/2014/0
7/oculusriftvr.html
 見えない状態でのコンテンツ内外の説明とか
 Oculus Rift 自体を入力に使ってる例とか
 スピーカーを使うならオーディオリスナを固定
とか
 プレイヤーモデルを動かしたい話
 DK1 の回転をアニメーションに反映する
◦ 1D ブレンディングなど
 DK2 のポジトラをアニメーションに反映する
◦ 2D ブレンディングなど
 体を表示(首から下のみ)
◦ TitansOfSpace など
 体を表示しない
◦ RiftCoaster など
 手のみ
◦ LeapMotion 系
 (人型でないケース、主観視点でないケース)
◦ 神様視点など
 現実の姿勢と完全一致しない
◦ 想像での補完に頼ったほうがいい場合も
 顔は自分で見えない
◦ 一部を除き首から下で十分
 多少難しい、手間がかかる
◦ 頭の位置、回転を合わせないとモデルの内部が
見える
 自分がより能動的に関わっている感が出る
 自分がどういう状態にあるかわかりやすい
◦ 立っているか座っているか、服装など
 当たり判定をつけたい場合にも
 既存のモデルをそのまま使える
◦ (首から下と比べて)
 モデルの頭の位置とカメラを合わせる
◦ 通常はモデルの身長に合わせることに
◦ (リアル身長に合わせてカスタマイズできるといい
かも)
 カメラの回転に合わせてモデルの頭を回転
◦ モデル内部が見えてしまわないように
◦ ただし真下は NG
 真下を向いても体内が見えないように
◦ 人間は首から下を動かさずに真下を向けない
 真下を向いたら体が前に出るのが自然
 首なしモデルの場合も頭だけ移動は不自然
 胴体をアニメーションで動かそう!
 複数のモーションをブレンドする機能
◦ 歩きと走りの中間
◦ 直進と旋回の中間
 今回は直立と前傾の中間を使います
 「見習い空賊と天空の少女」の例
◦ すり抜けながらかっさらうやつ
 http://udasankoubou.blogspot.jp/2014/05
/oculusrift.html
 直立と前傾のブレンディング
 さらにぶら下がり姿勢までのブレンディング
 固定ポーズのモーションを数個作るだけでで
きます
 カメラの位置は OnPreRender で頭の位置
に移動させてます
 Y 軸まわりはモデル自体を回転させています
 ポジショナルトラッキング!
◦ 嬉しい!けどモデル頭部からカメラが飛び出す!
 カメラの位置に合わせてモデルの頭を動かす
 まずは 2D ブレンディングで
 MMD で前後左右のモーション作成
◦ 頭を水平に移動できるように
◦ 短め、単一ポーズのモーション作成
◦ センターだけで
◦ ミラーできるので Right はなくてもよいです
◦ 値の単位は不明?(1 が 10cm~くらい?)
 あとでスクリプトで合わせます
 MMD4Mecanim
◦ Rig > Humanoid
 (2D ブレンディング自体は Generic でも可)
 Avatar 作成
◦ Animation > Motion > Root Motion Node
を joint_Master (モデルによる)に変更(重要!)
 センターの移動に必要です
 モデルの fbx をシーンに配置
◦ Apply Root Motion はオフ(重要!)
 Root は移動させていないつもりでしたが
◦ MMD4MecanimModel の IK はナシで
 スクリプトで IK を使うなら必要そう
 IK つきモーションを使うだけならオフ必須
 Animator Controller 作成
◦ Create State > From New Blend
◦ Blend Type > 2D Simple Directional
◦ パラメータ作成(Float で PosX, PosZ)
◦ Motion > + > Add Motion Field
 とりあえず動いた!
 もう少し広く動けるように
 MMD で大きく移動したモーション作成
◦ 足 IK も使ってバランスをとる
 BlendType > 2D Freeform Directional
◦ 同じ方向に複数のモーションがある場合はこれ
 これ以上外に行く場合はフェードアウトや
ルートの移動なども合わせてするとよさそう
 斜め移動時を自然に
◦ 斜め移動(ブレンド)の移動量が足りない
 MMD でモーション作成
◦ 斜め 4 方向のモーション作成
 ブレンドツリー
◦ そろそろ一部の補間モーションがあやしくなる
◦ 頭の位置のほうが大事なので目をつむる
 平行移動については正しくできそうに!
 OVRCameraController
◦ モデルが Center 時の目の位置の少し前に配置
◦ Use Player Eye Hight オフ
◦ Neck Positon は 0
 Right Camera の子を作成(Tracker)
◦ IPD/2 移動して目の中心に
◦ Tracker の移動をアニメーションパラメータに適
用するスクリプトを付ける
◦ (今回のデモでは首の回転はやっていません)
public class TrackerDemo0 : MonoBehaviour
{
public Animator animator;
public float scaleFactor = 1.0f;
OVRCameraController ovrCameraController_;
public void Start()
{
ovrCameraController_ = Component.FindObjectOfType<OVRCameraController> ();
}
public void Update()
{
if (!animator || !ovrCameraController_) { return; }
Vector3 offset = ovrCameraController_.transform.InverseTransformPoint (this.transform.position);
offset *= scaleFactor;
animator.SetFloat ("PosX", offset.x);
animator.SetFloat ("PosY", offset.y);
animator.SetFloat ("PosZ", offset.z);
}
}
 題、おぼえていますか
◦ 動かしたかった(希望)
 2D でも x-y や z-y ならできるけど…
 3D ブレンディング…?
◦ 残念ながらありません
 IK…?
◦ 頭 IK はありません
 Final IK とか…?
◦ 正解あったらぜひ教えてほしいです!!
 MMD でおもむろにしゃがみモーション作成
 うしろにいた Ethen 氏と Robot Kyle 氏に
1D ブレンディングのツリー作成
 Tracker の Y 軸移動でしゃがむように
 ナターシャ女史をかつぐ
 2D ブレンディング自体はコンテンツによって
は使えるかも
◦ 座ってのプレイが前提なら、上下移動はフェードア
ウトで対応するなど
◦ ポジトラに限らず覚えておくと便利です
 MikuMikuDance (樋口優 氏)
◦ http://www.geocities.jp/higuchuu4/
 MMD4Mecanim (Nora 氏)
◦ http://stereoarts.jp/
 Natasha Ver GA1.0 (CPUX4 氏)
◦ http://www.nicovideo.jp/watch/sm19770095
ご静聴ありがとうございました

More Related Content

What's hot

自転車のVRシステムがあったら欲しいですか?
自転車のVRシステムがあったら欲しいですか?自転車のVRシステムがあったら欲しいですか?
自転車のVRシステムがあったら欲しいですか?Chikara Tomioka
 
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?Yusuke Shirakawa
 
モンスターストライクにおける負荷対策
モンスターストライクにおける負荷対策モンスターストライクにおける負荷対策
モンスターストライクにおける負荷対策Yusuke Shirakawa
 
RYUS通信 2011年10月号
RYUS通信 2011年10月号RYUS通信 2011年10月号
RYUS通信 2011年10月号株式会社RYUS
 
謎解き分科会講演 「NOT DIGITAL」
謎解き分科会講演 「NOT DIGITAL」謎解き分科会講演 「NOT DIGITAL」
謎解き分科会講演 「NOT DIGITAL」Youichiro Miyake
 
KLabインターンシップ成果報告会
KLabインターンシップ成果報告会KLabインターンシップ成果報告会
KLabインターンシップ成果報告会Hiroaki Murayama
 
文系学生対象!! エンジニアと働きたい「非エンジニア」勉強会
文系学生対象!! エンジニアと働きたい「非エンジニア」勉強会文系学生対象!! エンジニアと働きたい「非エンジニア」勉強会
文系学生対象!! エンジニアと働きたい「非エンジニア」勉強会Kazuki Higashiguchi
 
VR空間特有のリアルを追え 〜メイキング「エニグマスフィア」
VR空間特有のリアルを追え 〜メイキング「エニグマスフィア」VR空間特有のリアルを追え 〜メイキング「エニグマスフィア」
VR空間特有のリアルを追え 〜メイキング「エニグマスフィア」Yomuneco
 
【Unite 2017 Tokyo】ゲームAI・ゲームデザインから考えるゲームの過去・現在・未来
【Unite 2017 Tokyo】ゲームAI・ゲームデザインから考えるゲームの過去・現在・未来【Unite 2017 Tokyo】ゲームAI・ゲームデザインから考えるゲームの過去・現在・未来
【Unite 2017 Tokyo】ゲームAI・ゲームデザインから考えるゲームの過去・現在・未来Unity Technologies Japan K.K.
 
画像処理は怖くない-OpenCVのすすめ-
画像処理は怖くない-OpenCVのすすめ-画像処理は怖くない-OpenCVのすすめ-
画像処理は怖くない-OpenCVのすすめ-JackMasaki
 
ゲームデザイン公開討論会 第3回 資料 (日本デジタルゲーム学会)
ゲームデザイン公開討論会 第3回 資料 (日本デジタルゲーム学会)ゲームデザイン公開討論会 第3回 資料 (日本デジタルゲーム学会)
ゲームデザイン公開討論会 第3回 資料 (日本デジタルゲーム学会)Youichiro Miyake
 

What's hot (12)

Hachiojipm #28
Hachiojipm #28Hachiojipm #28
Hachiojipm #28
 
自転車のVRシステムがあったら欲しいですか?
自転車のVRシステムがあったら欲しいですか?自転車のVRシステムがあったら欲しいですか?
自転車のVRシステムがあったら欲しいですか?
 
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?大規模トラフィックにどのように備えて負荷対策を実施しているのか?
大規模トラフィックにどのように備えて負荷対策を実施しているのか?
 
モンスターストライクにおける負荷対策
モンスターストライクにおける負荷対策モンスターストライクにおける負荷対策
モンスターストライクにおける負荷対策
 
RYUS通信 2011年10月号
RYUS通信 2011年10月号RYUS通信 2011年10月号
RYUS通信 2011年10月号
 
謎解き分科会講演 「NOT DIGITAL」
謎解き分科会講演 「NOT DIGITAL」謎解き分科会講演 「NOT DIGITAL」
謎解き分科会講演 「NOT DIGITAL」
 
KLabインターンシップ成果報告会
KLabインターンシップ成果報告会KLabインターンシップ成果報告会
KLabインターンシップ成果報告会
 
文系学生対象!! エンジニアと働きたい「非エンジニア」勉強会
文系学生対象!! エンジニアと働きたい「非エンジニア」勉強会文系学生対象!! エンジニアと働きたい「非エンジニア」勉強会
文系学生対象!! エンジニアと働きたい「非エンジニア」勉強会
 
VR空間特有のリアルを追え 〜メイキング「エニグマスフィア」
VR空間特有のリアルを追え 〜メイキング「エニグマスフィア」VR空間特有のリアルを追え 〜メイキング「エニグマスフィア」
VR空間特有のリアルを追え 〜メイキング「エニグマスフィア」
 
【Unite 2017 Tokyo】ゲームAI・ゲームデザインから考えるゲームの過去・現在・未来
【Unite 2017 Tokyo】ゲームAI・ゲームデザインから考えるゲームの過去・現在・未来【Unite 2017 Tokyo】ゲームAI・ゲームデザインから考えるゲームの過去・現在・未来
【Unite 2017 Tokyo】ゲームAI・ゲームデザインから考えるゲームの過去・現在・未来
 
画像処理は怖くない-OpenCVのすすめ-
画像処理は怖くない-OpenCVのすすめ-画像処理は怖くない-OpenCVのすすめ-
画像処理は怖くない-OpenCVのすすめ-
 
ゲームデザイン公開討論会 第3回 資料 (日本デジタルゲーム学会)
ゲームデザイン公開討論会 第3回 資料 (日本デジタルゲーム学会)ゲームデザイン公開討論会 第3回 資料 (日本デジタルゲーム学会)
ゲームデザイン公開討論会 第3回 資料 (日本デジタルゲーム学会)
 

DK2 ポジトラでモデルを動かし た か っ た …