• Like
DK2 ポジトラでモデルを動かし た か っ た …
Upcoming SlideShare
Loading in...5
×

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

  • 1,570 views
Uploaded on

Oculus Rift 勉強会 (http://ocuben.doorkeeper.jp/events/13322) で発表したものです。

Oculus Rift 勉強会 (http://ocuben.doorkeeper.jp/events/13322) で発表したものです。

More in: Software
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,570
On Slideshare
0
From Embeds
0
Number of Embeds
20

Actions

Shares
Downloads
3
Comments
0
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

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