今回はRigidBodyとColliderを使ってUnityちゃんを歩かせてみます
Unityちゃんを家に呼ぶ
前編はUnityちゃんの歩かせ方はいくつか存在するのでまずは選別会です。
さて家も(色ついてないけど)完成し、さあこの企画のメインであるUnityちゃんを呼ぼう!
そしてProBilderのWindowを開いたまま古いバージョンのUnityちゃんをimportしようと
したらなぜかUnity強制終了しました・・・
こまめに保存していなくてまた家の2階部分を作り直すことに(泣)
なんとか元どうりにして最新のUnityちゃんを呼んでみました!
いつも何が必要で不必要なのか、わからないのでとりあえず全項目importしています
そして安定の最初はイエスのポーズで床も貫通してしまい、まばたきもしてくれない・・命が吹き込まれていないようです笑
Unityちゃんを歩かせる方法
Unitychanやその他3Dモデルを動かすためにはCharcterControllerコンポーネントの方法やRigidBody+Colliderなどが存在します
いつもはRigidBody+Colliderで動かすので新たな挑戦も兼ねてCharctorControllerでUnityちゃんを動かしてみることにしました。
CharctorControllerをリファレンスで見るとRigidBodyを持たないオブジェクトを対象としているみたいです。じゃあCharctorControllerがRigidBodyの役割をしてくれるかというとそうではないみたいです。
引用:
Character Controller - Unity マニュアル
↓左がcharctor cntroller 右がRigid+collider 高いところから再生しても左は落ちてきません
ならば最初から地面につけたらいいじゃん!
これはいい案だと思って再生して歩かせてみるもCharctorControllerちゃんは
壁をすり抜けていきます・・・
なぜ?床には立てるのに!
正確には床にのcolliderに衝突しているのではなく床の位置に浮いているだけでした。
CharcotrControllerちゃんが衝突判定を行うにはスクリプトでOnControllerColliderHitで検知して制御しなければいけませんでした。
こちらで試しに衝突判定するのか検証しましたがDebug.Logが表示されず検知しませんでした・・・
そしてコードを記述ではなく写真ですいません
ブログの書き方についても同時に学んでいかなければなと思いました。
CharctorControllerちゃんは歩かせることはできましたが、衝突判定がうまくいかないので今回は安定のRigid Bodyちゃんで進めていくことにします。
きちんと検証してから決めていきます
多分検証方法が悪いだけなので空いている時に検証を続けて、
またどっちがいいのか比べてみたいです。
検証はこちら→
Unityちゃんの衝突判定いろいろ検証 #2.1 - うにty生活
後編はこちら→
Unityちゃんを実際に歩かせてみる 後編 #3 - うにty生活