MYMYゲーム制作室

アラ古希姉妹のゲーム制作日記

3Dキャラクターを動かすまでのつまづき1(備忘録)

昨日、なんとか自作キャラが3Dの世界の中を歩き走りジャンプすることに成功したが、そこに到るまでの躓きを備忘録として、記録しておこう。

 

自作キャラに自作スクリプト、自作アニメーターなどをアタッチして動かそうとした時の躓き。 

①歩く、走る、はできるのに、ジャンプできない。→これは地面に足がついたかどうかの判定が上手くいかなかったのが原因らしいが、足の下に身体とは別に着地判定用の球体のコライダーをつけたりしてみたが、うまく行かなかった。

②高いところから、坂を下る、飛び降りる、という場合に、重力に従わず、空中をそのまま歩きづづけてしまう。→これはAIに質問したところ、体重が軽いとGravityに従わないことがあるからMassの値を増やすとよい、とか足が地面を感知していないことがあるので、RayCastして地面を感知するようにしたらよい、とか教えてくれて、思考錯誤したが、直らなかった。ふわ~~~と浮かんだまま歩いたあと、時間をかけて地面まで降りてくる状態が直らなかった。

③ジャンプをしようとしているが、5センチも飛ばずに地面に引き戻されてしまう現象。これは、②の問題を解消するために、Gravityに数値をプラスして、重力にしたがって降りるように手を加えた結果起きた現象だったかな(いろいろ試したのではっきり覚えていないが・・)。そこでAIが教えてくれたのが、地面にいるときはジャンプで飛び上がりやすくするためにGravityに加える力を小さく、そして空中にいるときは、Gravity

に加える力を大きくして、地面に早く着地できるようにするというアイデアだった。しかし、これも功を奏さず。何度もAIに質問しているうちにまた、スタートラインと同じ説明を繰り返すといううんざりな状況になっていまうこともたびたび。

④キャラクターに追従するカメラの扱い。最初は一番簡単という方法、メインカメラをキャラクターの子どもにして、背中からキャラクターを追い続けるという方法でやってみた。一見うまく行っているようにも見えたが、ずっと背中ばかりが見えて、一度もキャラクターの顔を見ることがない。Udemyの梅ちゃん先生の講座

Course: 【全行程を網羅!最初に学びたい総合学習】Unityワールド制作講座 | Udemyの中のサードパーソンは確か、顔も見えつついい感じにカメラが追いかけていたのに、なんか違う。メインカメラを外に出したままで、キャラクターを動かすといい感じに動いているのだが、歩いているうちに遠くに行ってしまい、遂には見えなくなってしまう。これもダメ。やっぱり講座のようにバーチャルカメラを追加してフォローさせるのがよいかもとなった。講座の中では、フォローカメラがすでに用意されていたが、CinemachineからVirtualCameraを追加して、自分で設定をやってみた。最初はシーンビューのMoveToolでカメラの位置や角度を調整しようとしたが、それができない事も知らず、しばらく悩んだあとで、やっとインスペクターで調整しないとできないと気がついた。それでAIに教えてもらいながら、カメラの調整を頑張ってみたが、どれも操作性がいまいち。

 

自分で設定することに限界を感じ、嫌気がさしてきたので、自作キャラの見た目でStarterAsset のThirdPersonの中身をそのまま頂いて動かすのでいいか・・・というか、それが出来たらなによりだ!

 

でも、ThirdPersonのインスペクターを見ると、自分でスクリプトを書いて貼り付けていた時には、見たこともないような名前のクラスがいろいろくっつけてあって、これをうまく頂くなんてことは、かなり難易度が高そうに見えた。しかし、AIに聞いてみたら、そうでもないらしい。お手伝いしてくれるというので、新しいUnityProjectを作って、心機一転ThirdPerson乗っ取り計画を実行することにした。