3D宿題 (2)
ゲームオブジェクトとリソースの違いとつながり
ゲームオブジェクト
GameOjects は、さまざまなゲーム コントロールをホストするボックスである Unity の組み込みクラスです。ゲームのさまざまな要素 レーシング ゲームの車、マリオの動くキャラクター、ライトはすべてゲーム オブジェクトのサブクラスであり、ゲームの機能を実現するために特定の機能を継承および追加します。
リソース(資産)
ゲームオブジェクトの特性を実現するために必要なさまざまなコードと色。
違い
ゲーム オブジェクトはシーン内に単独で存在できますが、ゲーム オブジェクトが機能するにはリソースを適用する必要があります
接続
リソースは、プロパティ (移動軌跡、色など) などとして 1 つまたは複数のゲーム オブジェクトに適用できます。
また、テンプレート (デザインされたテーブルと椅子の組み合わせなど) として使用して、ゲーム シーンでインスタンス化することもできます。
ゲームケースにおけるリソースとオブジェクト編成の構造
ケース:ユニティ・ロワイヤル
リソース
リソースには通常、エフェクトやスクリプトなどのいくつかのプリセット ファイルが含まれていることがわかります。
オブジェクト編成
オブジェクト編成には、通常、ゲーム キャラクター (ターゲット) やライトなどのゲーム オブジェクトが含まれます。
MonoBehaviour の基本動作やイベントトリガーの条件を確認する
コードを書く:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MonoBehaviorTest : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
Debug.Log("Start!");
}
// Update is called once per frame
void Update()
{
Debug.Log("Update!");
}
void Awake(){
Debug.Log("Awake!");
}
void FixedUpdate(){
Debug.Log("FixedUpdate!");
}
void LateUpdate() {
Debug.Log("LateUpdate!");
}
void OnGUI(){
Debug.Log("OnGUI!");
}
void OnDisabled() {
Debug.Log("OnDisabled!");
}
void OnEnabled() {
Debug.Log("OnEnabled!");
}
}
関数 | 基本動作またはトリガー条件 |
---|---|
Start |
すべての更新呼び出しの前に呼び出されます |
Update |
フレームごとに呼び出される |
Awake |
インスタンスがロードされたときに呼び出されます |
FixedUpdate |
一定の時間間隔で呼び出される |
LateUpdate |
各フレームがレンダリングされるときに、すべての Update が処理された後に呼び出されます |
OnGUI |
GUI をレンダリングし、GUI メッセージを処理するときに呼び出されます |
OnDisabled |
オブジェクトが無効化または非アクティブ化されたときに呼び出されます |
OnEnabled |
オブジェクトが有効化またはアクティブ化されたときに呼び出されます |
GameObject、Transform、Component オブジェクトについて学習するには、スクリプト マニュアルを参照してください。
-
3 つのオブジェクトの公式説明を個別に翻訳する
ゲームオブジェクト
Unity’s GameObject class is used to represent anything which can exist in a Scene.
GameObject
シーンに存在する可能性があるものを表すために使用されます
変身
Position, rotation and scale of an object.
Transform
オブジェクトの位置、回転、スケールです。
成分Base class for everything attached to GameObjects.
Component
ゲームオブジェクトにアタッチされたすべての基本クラスです。
- 下図のテーブルオブジェクト(エンティティ)のプロパティ、テーブルのトランスフォームのプロパティ、テーブルの構成要素を記述
な
テーブル属性
テーブルの Transform のプロパティ
な
テーブルコンポーネント
Transform、Cube、Box Collider、Mesh Renderer
- UML 図を使用して 3 つの関係を記述します (図の描画には UMLet14.1.1 スタンドアロン バージョンを使用してください)。
リソース プリセット (プレハブ) とオブジェクトの複製 (クローン)
-
プレハブの利点は何ですか?
プレハブはコンポーネントのコレクションであり、ゲームオブジェクトにインスタンス化できるプレハブです。プリセットは、ユーザーがバッチでゲーム インスタンスをセットアップするのに便利な、既に設計されたテンプレートと同等です。
-
プリセットとオブジェクト クローン (Unity オブジェクトのクローンまたはコピーまたはインスタンス化) の関係は何ですか?
プリセットとクローンの両方を複数のゲーム オブジェクトに適用して、同じプロパティを持たせることができます。
プリセットが変更され、それに応じてエフェクトのすべてのインスタンスが変更されますが、複製されたオブジェクトは互いに影響しません。
-
テーブル プレハブを作成し、テーブル プレハブ リソースをゲーム オブジェクトにインスタンス化するためのコードを記述します。
完全なテーブルプレハブ
シーンにドラッグ
新しい C# スクリプトを作成し、次のようにコードを記述します。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PrefabsTest : MonoBehaviour
{
public Transform table;
// Start is called before the first frame update
void Start()
{
GameObject new_table = Instantiate<Transform> (table, this.transform).gameObject;
new_table.transform.position = new Vector3(1, 3, 0);
}
// Update is called once per frame
void Update()
{
}
}
な
実行結果