これは記録です
・ジェネリックのモデルをスクリプトで動かす
・Unityは5.6.3
・制御方法はキーボードのみ、VRでの使用は想定してない
・Navmeshは一ミリも関係してない
モデルを動かしてみたいって思って7月に魚のモデルを動かすためにいろいろスクリプトの勉強をしていましたが、結局8月に完成して動かすことができました。
こんな感じの魚をつくりました。(画の真ん中の魚)
それで、忘備録をかねて自分がしたことをまとめます。
まず初めにしたことは、魚のモデリングとリギング、泳いでいるアニメーションをつくります。これは慣れていたので比較的簡単にできました。
次はUnityに入れて動かす作業なんですが、一つ問題があります。それは人間のモデルではないということです。UnityではHumanoid、つまり人間のモデルに対応していると使えるようなスクリプト、アニメーターが結構あって、用意しておけば一から作らなくてもよくなります。
でもこれはそういった利益を享受できません。困りました。
したがって、純粋にスクリプトで方向などを指定してやる必要があります。
・1(キーボードの矢印キーで動く)
・2(キーボードの特定のキーで向きを変える)
矢印のはわかりやすいからいいとして、この特定のキーで向きを変えるもの、このままだと左右になってしまいます。のでtransform.Rotate (0,2,0)、transform.Rotate (0,-2,0)となっているものを一番左端に変えます。
このスクリプトだとQで下に向いて、Eで上を向きます。なんか数字と逆ではと思いましたが、とりあえずそれっぽいかんじになりました。これでもまだZ軸のかたむきが存在してないのでつけてあげたほうがいいでしょうね。(いちおうUnityの傾きと同じだそうですけど、慣れません)
私はプロではないで綺麗にかけるわけではないですが、とりあえず動きました。UIとかつけたらいい感じのおさかなになれそうですね。
終わり
参照
先人に感謝
・Input.GetAxisとInputManagerの関連設定について — Qiita
・Unityでキャラクターの移動をプログラミングしてみる | Unityを使った3Dゲームの作り方(かめくめ)
https://gametukurikata.com/program/unityprogramming
・UnityのInputManagerの入力設定を変更しキャラクターの操作性を変える | Unityを使った3Dゲームの作り方(かめくめ)