【Unity】ウォークスルー

  • キャラクターのモデルデータ、アニメーションデータはすでに揃っているものとする。

  • メニューのAssetsから【importPackage】⇒【CharacterController】を読み込む(キャラクターを動かすためのスクリプト)
  • 何もない空間では味気ないのでメニューのAssetsから【importPackage】⇒【SkyBoxes】を読み込む(単なる天球のセット)
  • GameObjectから適当にPlaneを読み込み、床として配置する。

  • モデルデータ(fbx形式)とアニメーションデータ(fbx形式)とテクスチャを同じフォルダに入れて【Project】にインポートする。
 普通にフォルダからドラッグ&ドロップで問題ない。
 ただしアニメーションデータのファイル名は@で区切り、@以前はモデルデータの名前と一致させなくてはならない。

例)モデルデータ:ABC.fbx
   アニメデータ:ABC@walk.fbx

インポートが済んだら、そのデータのimportSettingsを変更する。
ImportSettingの設定は、変更したいファイルを選ぶと
Inspectorに【Model】【Rig】【Animation】という表示が出るので、
それのRigを選択する。
Unity4.0以降を使用している場合、AnimationTypeが【Generic】となっている。
Mecanimを使う場合はそっちでいいらしいのだが、
従来の手法(@で区切られたアニメーションデータを読み込んで再生)を使用する場合は
ここを【Legacy】に変更する必要がある。
使用するモデル、アニメーションデータ両方共変更しなければならない。

ImportSettingが済んだら、モデルをHierarchyにドロップする。
ファイル名が一致していれば自動的にアニメーションもついてくる。

プロジェクトにインポートしておいたStandardAssets⇒CharacterControllers⇒Sources⇒Scriptsから
  • CharactorMottor
  • ThirdPersonCamera
  • ThirdPersonController
をHierarchy上のモデルにドロップ。

Hierarchy上のモデルをクリックするとInspectorにドロップしたスクリプトのパラメータなどが表示される。
ThirdPersonControllerのところにIdleAnimationなどのアニメーションを割り当てる箇所があるので、
そこに必要なモーションをそれぞれ割り当てる。
仮に該当するモーションがなかったとしてもとりあえずファイルを割り当てておくこと。
ファイルが足りないと再生されない可能性があります。

ゲームモードを再生してみてキャラが床を抜けてしまった場合、
キャラコリジョンが床より下にきてしまっている可能性が高いです。

キャラコリジョンを上に上げるという対処をしてもいいですが、
キャラの接地がずれる可能性もあるため、床を下に動かすという対処の方が良いかもしれません。

他にもっと良い対処法があるかもしれないけど現時点ではわかりません。
最終更新:2013年02月21日 13:47
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。