従来の Unity プロジェクトは、2 つの関連する点でオブジェクト指向です。
UnityEngine.Object から派生した型を扱うオブジェクトベースのモデルを使用します。このモデルでは、シーンはゲームオブジェクトで構成されます。ゲームオブジェクトは、他の型のオブジェクトと相互作用し、それらによって制御されます。オブジェクト指向開発の代替案はデータ指向開発です。どちらも、プログラミングの原理であり、その原則の実装に役立つ一連の技術でもあります。データ指向のアプローチは、大規模で強力なパフォーマンスメリットを提供しますが、経験の浅い開発者にとっては、習得がより困難である可能性があります。
オブジェクト指向開発とデータ指向開発は、相互に排他的ではなく、両方の要素を組み合わせることができます。データ指向開発の詳細については、Unity のデータ指向技術スタック を参照してください。
| トピック | 説明 |
|---|---|
| オブジェクトの変換 | 位置、回転、スケールを変更することでオブジェクトを移動および変換します。 |
| 時間とフレームレートの管理 | Unity が時間を測定する方法を理解することで、アプリケーションでの時間の経過率を管理し、適切なタイムスケールに従って値を更新できるようになります。 |
| ランタイムでのプレハブのインスタンス化 | プレハブをプログラムでインスタンス化し、比較的少ないコードでゲーム内の印象的な効果や構造体を作成します。 |
| イベントの処理 | ユーザー入力、オブジェクトの衝突、物理演算、レンダリングの更新などのイベントにアプリケーションが応答するようにします。 |
| フレーム間でのタスクの分割 | コルーチンを使用して、複数のシーンで同期的にタスクの実行を分割します。これは、フェードアウト効果など、複数のフレームにわたって徐々に進行するタスクに役立ちます。 |
| ウェブサーバーとの相互作用 | UnityWebRequest システムを使用して、アプリケーションが HTTP 経由でウェブサーバーと相互作用できるようにします。 |
| ランタイムにオブジェクトに機能を追加する | Unity Properties API を使用して、ビジターのデザインパターンを実装し、ランタイムに .NET オブジェクトに新しい操作を追加します。 |
| 一般的な数学関数の使用 | アプリケーション内で、三角関数、対数関数、その他の関数などの一般的な数学関数を使用します。 |
| ランダム性の使用 | 一般的に必要なタイプのランダムな値を生成します。 |
| ギズモとハンドル | シーンビューやゲームビューに線や形状、インタラクティブなハンドルやコントロールを描画します。 |
| Null 参照 | Unity プロジェクトでの null 参照例外を理解し、診断します。 |
| Unity の属性 | Unity 固有の C# 属性を使用して、コードの特別な動作を定義します。 |