Unity

Unityの便利機能を使いこなそう #2 CharacterControllerでプレイヤーの移動とジャンプを実装しよう【マリオ風、バイオハザード風、フォートナイト風】

投稿日:2018年10月10日 更新日:

CharacterControllerの説明

さて、今回はCharacterControllerというものを使って、プレイヤーの移動とジャンプを実装していきたいと思います

CharacterControllerとは?
①取り付けたオブジェクトにはカプセル状の当たり判定(CapsuleCollider)がつく
②傾斜や段差の判定を自動で行ってくれる

とりあえず、3D空間をいい感じに歩き回れてジャンプとかもさせたいんだ!という方にオススメです

プレイヤーをフィールドに出す

画像のようにプレイヤーの待機アニメーションをドラッグ&ドロップします
1

プレイヤーとカメラの位置を調整する

赤枠内の数字をいじってプレイヤーをスタート地点に移動させます
②
同様にカメラをプレイヤーの後ろに移動させます
3

CharacterControllerを取りつける

プレイヤーを選択して、AddComponentをおします
下の検索欄に「ch」と入力して、CharacterControllerを選択します
4

CharacterControllerを調整する

CharacterControllerには当たり判定の役割もあります
なのでその当たり判定がちょうどプレイヤーの頭、胴体、足を包み込むように調整しましょう
画像のように当たり判定のY座標や半径、高さを調整しましょう
5

プレイヤーを移動させる

では、プログラミングをしていきます
CharacterControllerにはcharacterController.MoveとcharacterController.isGroundedというCharacterController独自のコードがありますので覚えておきましょう

characterController.Move();
①CharacterControllerを移動させる
②()の中にはVector3型の変数を入れる
characterController.isGrounded
①CharacterControllerが地面についているか判定する
②if(characterController.isGrounded){}のように使う

スクリプトの作り方やプレイヤーにつける方法はこちらに出てきますので参考にして下さい
以下スクリプトです

 

入力し終わったらJumpPower、MoveSpeedに数値を入力してみましょう(お好みで調整してほしいですが、オススメは4、10です)

こちらのカメラの設定の仕方を参考にカメラも設定するといい感じです

テストプレイをするとこんな感じです♪

WASDをおすと前後左右に移動して、スペースをおすとジャンプします
棒立ちなのはアニメーションをつけていないからですが、それは次回AnimatorControllerについて説明します
是非次の記事もご覧になってください

おまけ

他のパターンのキャラクターの移動

バイオハザード風(WSが前進後退、ADが向きの回転)

 

入力し終わったらJumpPower、MoveSpeedに数値を入力してみましょう(お好みで調整してほしいですが、オススメは4、10です)
また、カメラをプレイヤーにD&Dします

マインクラフト、フォートナイト風(マウスで方向転換、WASD移動)

入力し終わったらJumpPower、MoveSpeed、に数値を入力してみましょう(お好みで調整してほしいですが、オススメは4、10です)
カメラをプレイヤーにドラッグ&ドロップ、更にプレイヤーをスクリプトのところのHorRot、カメラをVarRotにD&Dします
因みにマウスの動く範囲や動かしやすさも調整可能です

このサイトについて

ここには、自己紹介やサイトの紹介、あるいはクレジットの類を書くと良いでしょう。

検索

このサイトについて

ここには、自己紹介やサイトの紹介、あるいはクレジットの類を書くと良いでしょう。

検索

-Unity

執筆者:


  1. […] プレイヤーの移動(CharacterController) […]

小学生でもわかるUnity講座 | ゲタバコ倶楽部 へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

UnityでフォートナイトみたいなTPSを作るチュートリアル

今回つくるもの こんな感じのTPSを作ります 今回やること ステージの作成 プレイヤーの設定 プレイヤーの移動 アニメーターの設定 敵を倒せるようにする 敵の作成 ステージの作成 こちらにまとめておき …

no image

Unityで3Dシューティングアクションを作ろう④

今回やること 体力ゲージ ゲームオーバー ゲームクリア シーンを変えた時に画面が暗かった時の対応 体力ゲージ 体力ゲージの設定は以下の手順を踏みます。 HandleSlideAreaを削除する(これを …

UnityのButtonの使い方

ボタンを作る Create → UI → Buttonをおします ボタンの設定 座標を設定します ※0,0,0にすると画面の中央にきます ①通常時の色 ②マウスカーソルが重なった時の色 ③ボタンがおさ …

Unityの便利機能を使いこなそう #1 Terrainでステージを作ろう

Terrainについて Terrainはゲームの地形を作るツールです 画像のような地形を簡単に作ることができます Terrainを出す Create → 3D Object → Terrainを選択し …

no image

Unityで3Dシューティングアクションを作ろう②

今回やること 弾を発射する 弾を発射する Playerスクリプトに追記していきます。該当する場所に追記していきます。 コルーチンが出てくるので追記する位置に注意しましょう。 ※最後に全部を追記したスク …

ゲタバコ倶楽部へようこそ

  • 112219総閲覧数:
  • 1今日の閲覧数:
  • 81044総訪問者数:
  • 1今日の訪問者数:

住所
Akita,Japan

営業時間
月~日: 10:00 AM – 10:00 PM

このページはゲタバコ先生の日々思うことや活動、プログラミングの習得方法を発信するページです。
仕事のご依頼、メッセージ等、サービス概要をご覧の上で、お気軽にご連絡ください。

getabakosensei@gmail.com