主なコンテンツ

〜主なコンテンツ〜

1. Unityで製作したゲームと製作Tips
  1. 三月精チャレンジ(東方Project二次創作)
    1. 作り方
  2. 英語学習2D(オリジナルスマホアプリ)
2. UE4
3. ゲームアプリ見学
4. Bitbucket & SourceTreeでの一連の流れ
  1. 前半
  2. 後半
5. Tips
  1. UnityのTips
  5. SQL文のTips
  6. Final IK
  7. GearVR+Unity

2016年11月11日金曜日

Final IKについて(その4)

■InteractionSystem Part 1




  • Full Body Biped Ikをアタッチ
  • 球体のオブジェクトを用意
    • コライダーを削除
    • Interaction Objectをアタッチ
  • Interaction Objectの設定
    • Weight Curveのsizeを1にして、設定を入力できるようにする
    • TypeはPosition Weightのままで良く、Curveはクリックして次のように設定する。このとき、キーはダブルクリック(もしくは右クリック>Add Key)で追加できる。キーを右クリック>Edit Keyを使うと直接数値を入力出来て便利。
  • キャラクターに戻り、Interaction System Test GUIをアタッチ(これにより、Interaction Systemもアタッチされる)
  • Interaction System Test GUIの設定
    • Interaction Objectに先ほどの球体を指定する
    • Effectorsのsizeを1にして、Left handにする
  • ゲームを再生するとゲームビューにボタンが追加されている。このボタンを押すと、球に手を伸ばす動作が再生される。
  • 球体に戻り、Interaction Objectの一番下にあるEventをsize1にする
    • timeに0.5、ポーズにチェックを入れると指定時間で一時停止するようになる
  • Multiplierのsizeを1にする
    • Multiplierを1にする(これが影響度なので、0のままだと何も起こらない)
    • ResultをRotate Bone Weightにする(Rotation Weightでもいいらしい)
    • これで再生すると、手を捻って触れようとする。この回転はInteraction Objectがアタッチされている球体のRotationに依存している。xの向きの逆を向こうとしているように思える

  • 再生中に編集した設定は、コンポーネント名を右クリック>Copy Componentしておけば、再生後に再度右クリックで値をペーストできる


球体の特定の位置に手を置きたい場合

  • キャラクターを複製する
  • 複製した手のパーツだけを球体の任意の位置に移動させ、指も含めて手の形を子のみの状態に調整する
  • 手を球体の子オブジェクトにする
  • 複製したキャラクターを削除する
    • このとき、子オブジェクトにした手も見えなくなるが問題ない(親のマテリアルがなくなったため透明になった?)
  • 子オブジェクトにした手にInteraction Targetコンポーネントをアタッチする
    • Effector Type をleft handにする
    • この状態でゲームを再生しボタンを押すと、先程の手の形を再現するようになる
  • キャラクターの手にHand Poserコンポーネントをアタッチする
  • 球体のInteraction ObjectのMultiplierのsizeを2にする
    • 追加した要素のResultをPoser Weightにする
  • ゲームを再生すると、球体に手を置いたとき指の動きが固定される
    • ここで球体の子オブジェクトの手の形を修正する
    • 修正が終わったら、手の子オブジェクトをコピーする
    • ゲームの再生を終え、手の子オブジェクトを削除してから、先ほどコピーした手のオブジェクトをペーストし、球体の子オブジェクトにし直す

キャラクターの位置が変わったとき不自然のないように修正

  • 球体子オブジェクトのInteraction TargetのPivotに球体を指定する
  • これによりキャラクターの位置に合わせて、手を置く位置が変わる。尚、これは手を伸ばしたときの話であり、ボールに触れた状態でキャラクターを移動させても手の位置は変わらない
  • Rotate Onceのチェックを外すと、常に位置を修正するようになる。

Position Offset(実演無し)

  • 球体のInteraction ObjectのWeight Curveに要素を追加し、Typeをposition offset Yにする
  • Curveを0.25秒のとき値が0.25くらいになるようにする(形は動画参照)
  • Position Offset Spaceに何か指定すればそちらをオフセットにできるといっているが、実演無し
  • 試しに球体を指定してみたところ、2回目以降は球体が回転しなくなった(手を置く位置が再現されなくなった)

Reach

  • 手の動きを制限できるようだが、良く分からず

ボールを取る

  • 球体のInteraction ObjectのEventをポーズからpick upに変える
  • これによりボールを取って、キャラクターの手の子オブジェクトにすることができる

0 件のコメント:

コメントを投稿