Unity でより優れたプログラマーになる方法

AI と機械学習の台頭により、将来プログラマーは必要なくなると簡単に想定できます。ただし、人工知能が抽象化、最適化、相互接続 などのより複雑なタスクを解釈できるようになるまでには、非常に長い時間がかかる可能性があります。

したがって、Unity のプログラミング知識を磨き、より効率的なプログラマーになるだけでなく、時が来たら他の人が書いたコードを監督して指導できるようにするのに遅すぎるということはありません。正しい方向に。

1. 時期尚早な最適化が必ずしも諸悪の根源であるとは限らない

何かのプロトタイプを作成するときに、時期尚早な最適化を不必要なステップとして非難するのはよくあるテーマですが、特に小さなものを追加するときなど、パフォーマンスに大きな影響を与えることが確実にわかっているときや、最適化を行う時期が来たときは、常にそうである必要はありません。実際の最適化を行う場合、小さなことを処理することで時間はすでに節約されています。例として gameObject.name を使用してみましょう。

using UnityEngine;

public class ObjectNameScript : MonoBehaviour
{
    public string objectName;

    void Update()
    {
        objectName = gameObject.name;
		Debug.Log(objectName);
    }
}

gameObject.name の使用は無害に見えるかもしれませんが、「Unity プロファイラー を使用してゲームを最適化する」の投稿で発見したように、オブジェクトの名前を取得するとかなりの量のメモリが割り当てられ、それを呼び出すことで問題が倍増します。すべてのフレーム。したがって、すぐにその割り当てを Start 関数に移動できます (オブジェクト名が頻繁に変更されない限り、その場合は名前の使用を完全にスキップして、代わりに変数を使用する方が効率的です)。

using UnityEngine;

public class ObjectNameScript : MonoBehaviour
{
    public string objectName;

    void Start()
    {
        objectName = gameObject.name;
    }

    void Update()
    {
        Debug.Log(objectName);
    }
}

2. より短いコードを書く

短いコードを書くと常に時間が節約され、読みやすくなり、将来の保守が容易になります。

より短いコードを書く方法はたくさんありますが、Unity の場合は、C# コードです。たとえば、'?' 記号を使用して if/else ステートメントを簡略化します。

int numA = 10;
int numB = 5;
int result;
if (numA > numB) {
    result = numA;
} else {
    result = numB;
}
Debug.Log(result);

同じコードは次のように短縮できます。

int numA = 10;
int numB = 5;
int result = (numA > numB) ? numA : numB;
Debug.Log(result);

コードを短縮するもう 1 つの方法は、繰り返しコードを独自の関数に組み込み、代わりにその関数を使用することです。

3. 最初にコードを作成し、後で質問する

計画はどのようなプロジェクトでも重要な部分ですが、それがプロトタイプの場合、またはアイデアがまだ固まっていない場合は、計画の量に関係なく、プロジェクトが完成したらすぐにコーディングを開始することが重要です。仕事をしていると、もっと良く/もっと効率的に実行できることや、実践すると他のアイデアほど優れていないアイデアや、その逆のアイデアが常に発見されます。

総じて、仕事に取り掛かってコードを書き始めることほど、プログラミングがうまくなる方法はほとんどありません。

4. 変更を加える前にプレイテストを行う

プレイ可能なデモを用意したら、できるだけ早くテストを開始して、改善できる箇所を特定することが重要です。多くの場合、コードを見ただけでは明らかではないためです。

プレイテストとフィードバック収集の技術を習得すると、コードを改善するためにどこを見るべきかを正確に知ることができ、より効率的なプログラマーになれるでしょう。

Unity もちろん、コンソール (警告やエラーを特定するため)、パフォーマンスをデバッグするための プロファイラー、およびパフォーマンスを監視するための残りのインターフェイス (シーン、階層、インスペクターなど) など、途中で多くの便利なツールが提供されます。ゲーム/プロジェクトの流れ)。

5. 最適化は段階的なプロセスです

ゲームのパフォーマンスが勝敗を左右し、ローンチを成功させるための基本的な柱の 1 つであることに誰もが同意します。しかし、ゲームのパフォーマンスは、通常のプレイヤーの視点からゲームをシミュレートするために、さまざまなシナリオや条件の下でプレイテストを行うことによってのみ評価できます。

ゲーム コードのデバッグ、最適化、ボトルネックの発見方法について、さまざまな方法について説明してきました。

デスクトップまたはモバイル ゲームを最適化する方法の詳細については、以下の投稿を確認してください。

  1. Unity プロファイラーを使用してゲームを最適化する
  2. モバイル ゲームのパフォーマンスの向上 Unity 3D
  3. Unity 最適化のヒント

Unity でより優れたプログラマーになるための独自のヒントがある場合は、お気軽にコメントに投稿してください。

おすすめの記事
Unity コードでの配列とリストの操作
Poppy Playtime からインスピレーションを得て Unity で GrabPack を作成する
Unity でバレットタイムエフェクトを作成する
Unity でインタラクティブなオブジェクトを作成する
Unity でのキネティック インタラクションの実装
Unity で特定のキーを使用して引き出しや食器棚を開ける
Unity のインベントリを使用しないピック アンド ドロップ システム