Unityはゼロからゲームを作ります

1.シーン構築用のタイルマップ

  1. 作成-> 2Dオブジェクト-> TileMap
  2. このとき、Grid / TileMap GameObjectがシーンビューに表示されます。TileMapをクリックして、一連のグリッドを表示します。ここに描画する必要があります。
  3. ウィンドウ-> 2D->タイルパレットタイルパレットパネ​​ルを呼び出し、新しいパレットを作成してから、アーティストから提供された画像をこのパネルにドラッグします。これは、シーンのブラシ処理に使用したマテリアルです。マテリアルを選択して、ブラシを使用します。シーンをブラッシングします。好きなシーンを出してください。

2.レイヤーの関係

  • 背景のGameObjectを開くと、作成したシーンの前に背景が表示されます。このとき、ソートレイヤーの階層関係を調整する必要があります。表示されるレイヤーが低いほど、シーン内のレイヤーは高くなります。
  • レイヤーの追加は、背景と前景の2つのレベルを追加します

3.キャラクターを動かします

  • プロジェクト設定->入力->左右または上下の動きのコードネームをそれぞれ確認してください
Input.GetAxis("horizontal") 返回值 -1~0~1 之间的数 
rb.velocity = new Vector2(horizontalFloat * speed * Time.deltaTime, rb.velocity.y); 刚体的移动
  • Update()とFixedUpdate()の違い
    Update():フレームレートに応じて更新します。たとえば、fps = 60は1秒間に60回
    更新することを意味します。FixedUpdate:固定時間に応じて更新します。この関数のデフォルトはFixedTime = 0.02です。 s

4.キャラクターにアニメーションを追加します

  1. アニメーターコンポーネントをキャラクターに追加します
  2. 新しいキャラクターのアニメーションフォルダAnimationを作成し、フォルダにAnimatorを追加して、最初のステップで追加したコンポーネントAnimatorに割り当てをドラッグアンドドロップします。
  3. ウィンドウ->アニメーションはアニメーションウィンドウを表示します。最も重要な点は、プレーヤーのゲームオブジェクトをクリックして新しいアニメーターを作成する必要があることです。フォルダーにアニメーションを作成するだけでは、画像を追加できません。最後に、フレームの画像をドラッグします。アーティストから提供されたアニメーションウィンドウにドラッグして、アニメーションの速度を調整します。
  4. ウィンドウ->アニメーションアニメーターウィンドウを呼び出します
    画像-20210312112821520
  5. さまざまな状態の切り替えは、Parametersの値に基づいています。パラメータの値をfloatに設定します。実行速度が0.1を超える場合は、実行状態に切り替えます。
  6. 状態切り替え
animator.SetBool("***",defeault value);
  1. 衝突検出+ layerMaskキャラクターの衝突検出地面のレイヤーを地面に設定し、coll.isTouchingLayers(Layer)を使用して地面と衝突するかどうかを判断します

5.実行時のバグ修正

その理由は、追加された衝突型加速器が長方形フレームの衝突型加速器であり、地面も長方形フレームの衝突型加速器であるため、シミュレーションで地面と人間の歩行の関係がシミュレートされ、小さな石や障害物がブロックすることがあります。実在の人物。また、フリーズZ軸がチェックされているため、実行できないという錯覚を引き起こします。解決策は、キャラクターの上半身にボックスコライダーを使用し、下半身にサークルコライダーを使用することです。

6.キャラクターがカメラを追いかけます

  1. プラグインcineMachineを使用し、packageManagerでcinemachineを検索して、インポートします。
  2. フォローをプレーヤーに設定
  3. シネママシンカメラに拡張コライダーを追加して、キャラクターが特定の範囲を超えてジャンプするのを防ぎます

7.アイテムコレクション

  1. 桜のアニメーションを追加します(手順4と同じ、アニメーションを追加します)
  2. アイテムのタグをコレクションに設定します。コライダーのCollider.tagに従って、収集するオブジェクトと衝突したかどうかを確認します。衝突した場合、GameObjectは破棄されます。

8.バグ解決

  1. ジャンプして壁にぶつかってもキャラクターが落ちない
  • 問題の原因:キャラクターがジャンプすると、コライダーが右に加速し、摩擦が発生します。
  • 問題の解決策:キャラクターの新しいマテリアルを作成し、マテリアルの摩擦を0に設定します
  1. 文字の複数のジャンプの問題
  • 解決策1:キャラクターが空中にいる限り、y軸の方向には速度があるため、y軸の速度が0のときにジャンプできます。
  • 解決策2:前回の落下状態の変化と同様に、キャラクターが地面に触れると静的状態に変化します。この状態はここでも使用できます。

9.UIは収集されたデータを表示します

UGUIを使用して左上隅にテキスト番号を作成し、番号の値を変更するスクリプトを記述します。
この部分に記録するものはなく、比較的簡単です。

10.ゲームの敵を追加し、敵のAIを追加します

カエルの敵AIを追加し、カエルの左側と右側にゲームオブジェクトを左右の境界点として追加します。カエルがこれらの2つのオブジェクト間を前後に移動するだけにします。

おすすめ

転載: blog.csdn.net/woshihaizeiwang/article/details/115217440