転がるボールをユニティちゃんに置き換える

いきなり躓くRoll-a-ball

昨日はグダグダと長文書いて終わったが、今日からガシガシとUnityをいじって行こうと思う。尚、使用するUnityは2018.2.2f1 Personalである。

まずは予告通りチュートリアルの改変から。
対象は"Roll-a-ball"。「球をモブにブチ当てる」という超シンプルなゲームである。

unity3d.com

尚、ゴリゴリいじる予定なので、Learnからの導入ではなく、アセットからのインポートである。

assetstore.unity.com

これの主人公キャラである球体を、ユニティちゃんにしようというわけで、"Unity-chan!"Model を導入。

assetstore.unity.com

ついでに、アウトプットをブログ添付用に動画にして残すため、"Unity Recorder"も導入。

assetstore.unity.com

で、新規作成するとWarning/Errorの嵐。

File '***' has animation import warnings. See Import Messages in Animation Import Settings for more details.

 とか、

Animation *** contains negative time keys. This may cause your animation to look wrong, as negative time keys are not supported in compressed animation clips!

 とか、

Assets/UnityChan/Scripts/CameraController.cs(19,11): error CS0101: The namespace `global::' already contains a definition for `CameraController'

とか。

適当に調べたところ、ユニティちゃん側が新しいUnityに対応できていないことが原因の模様。今回はモーションを使用しないため、とりあえず放置しておくことにする(記事にすると長いので)。

とはいえ、最後のエラーは放置できないので、ユニティちゃん側のCameraControllerクラスをまるごとコメントアウトして難を逃れた。
CameraControllerは二人といらぬ。

ユニティちゃんを置いてみた

"Project"より"Assets/UnityChan/Models"下の"unitychan"をドラッグし、”Hierarchy”にドロップすると、Tスタンスのユニティちゃんがシーン上に登場。
しかしこれだけではただのモブなので、Compornentを追加する必要がある。

その前にとりあえず、"Player"とかいうただの球体。お前は邪魔だ。消えてもらうとしよう。

しかしこれから出番もあろう。”Hierarchy”上で"Player"を選択し、"Inspector"上の一番上、"Player"と書かれているところの左のチェックを外し、幽霊化することに。

さて一方のユニティちゃんは、"Player"に比べて色々と何かが足りない。"Inspector"上にあるのは"Transform"と"Animator"だけである。

再び、"Player"の"Inspector"を見ると、ユニティちゃんにあったりなかったりするものがある(どっちやねん)が、必要なのは”Rigidbody”と"*** Collider"、”Script”である。

”Rigidbody”は、重力とか空気抵抗とか自然法則による影響を数値により設定する項目である。
"*** Collider"は、まぁ、平たく言うと当たり判定である。
”Script”は、操作を受け付けるためのスクリプトをユニティちゃんに紐づけるためのものである。

いずれも"Inspector"の一番下、"Add Compornent"をクリックして”Physics”より、”Rigidbody”と"Capsule Collider"を追加する。"Script"は”Scripts”より"Player Controller"を選択して追加する。もちろん"unitychan"にである。

誤って"Player"に追加したうっかりさんは、追加したCompornentの右上の、ギアのアイコンを右クリックしてポップアップメニューから"Remove Compornent"してからやり直そうな。

追加したCompornentは、設定の必要がある。
”Rigidbody”と"Player Controller(Script)"は、"Player"と同じ設定を、"Capsule Collider"は、CenterをY軸方向に0.75、Heightを1.5、あとは初期値を設定。

これで、ユニティちゃんと球体の置き換え完了である。

ユニティちゃんを動かしてみた

百聞は一見に如かず。こちらをご覧いただこう。

 f:id:himatsubushi-industry:20180816125428g:plain

半~径~85cmは~♪(以下略)

予想して然るべきだったが、球体が本当に回転してると思っていなかったので思わず吹いたワ。

次回予告

置き換えることには成功したが考えてた動きと違ったので、次回は直立した状態で移動させるようにしたいと思う。
あと、走行アニメーションも追加したい。

「ユニティちゃんのLocomotoinシーンから拝借すればええやん」という意見もあろうかと思うが、ユニティちゃんを動かす事は過程であって目的ではないので、スクラッチ感覚でぼちぼちとやっていくつもりである。

著作情報

ユニティちゃんライセンス

この作品はユニティちゃんライセンス条項の元に提供されています