🦔
Unityの基本事項の備忘録
Unityにたまにしか触らないのでいつも忘れてしまうので自分用のメモです。
適宜追記していきます。
2022/01/03: "アーキテクチャ" 追加
Editor操作
カメラ操作
- マウス操作
- https://unity-shoshinsha.biz/archives/370
- https://nekopro99.com/scene-view-navigation/ - キーボードショートカット
- https://unity-shoshinsha.biz/archives/370 - 公式
- https://docs.unity3d.com/ja/2018.4/Manual/SceneViewNavigation.html
コンポーネントのパラメータのコピー&ペースト
- 実行中に変更したコンポーネントのパラメータをコピー(Copy Component)して、あとで貼り付ける(Paste Component)。
-
GameObjectの操作
- 頂点を合わせる
- Vを押しながら移動したいobjectの頂点をクリックすると黄色の正方形が表示される
- Vを押したまま黄色の正方形を移動すると移動先の頂点に揃う
GameObjectの検索
- インスペクタに直接アタッチする
- 名前で検索
- GameObject object1 = GameObject.Find("Object1");
- アクティブなものしか取得できない
- 処理が重い。Start()などで一度だけ呼ぶべき。
- タグで検索
- GameObject object1 = GameObject.FindGameObjectWithTag("tag");
- GameObject object1 = GameObject.FindGameObjectsWithTag("tag");- アクティブなものしか取得できない
- (親オブジェクト).transform.Find("オブジェクトの名前").gameObejct
- 非アクティブなものも取得できる
- 子オブジェクトしか取得できない
Componentの検索
-
this.gameObject.GetCompohent<T>()
orgameObject.GetCompohent<T>()
- gameObjectはMonoBehaviourクラスのmemberらしいので継承したクラスで定義しなくてもよいらしい
- componentのpublicな関数、変数に
gameObject.GetCompohent<T>().something_func()
and/orgameObject.GetCompohent<T>().something_var()
でアクセスできる
public と [SerializeField] の違い
publicなら他のスクリプトから直接値を変更できますが、[SerializeField]の場合はprivateなフィールドのままなので、他のスクリプトから値を変更できません。
Awake(), OnEnable(), Start() の違い
- Awake(): プレハブのインスタンス化直後
- OnEnable(): オブジェクトを有効にした直後
- Start(): 最初のフレームのアップデート前
Awake()とOnEnable()の使い分けはよくわからない。
衝突判定
・両方のオブジェクトに『Collider』がアタッチされている
・少なくとも一方のオブジェクトに『Rigidbody/Rigidbody2D』がアタッチされている
『両方の「Is Trigger」のチェックが外れていると「当たり判定」が発生し、
いずれか一方の「Is Trigger」にチェックが入っていると「トリガー」が発生します』
- Collider.OnTriggerEnter(Collider)
- Collider.OnCollisionEnter(Collision)
いつ IsTrigger/UseGravity/IsKinematic をつけるか?
Collision Detection の違い
特殊フォルダ
Resources/
Resources.Load<T>(string path)
で読み込める
StreaimngResouces
アセットを別のファイルで元の形式で使用する
ターゲットとなるマシンの標準的なファイルシステム上にデータを配置し、パス名で参照するときに使う
便利なAssets
-
ProBuilder
- 3Dモデリングツールとレベルデザインツール。Blenderを使えないand/or使うほどではない場合に便利。
アーキテクチャ
どういう構成でつくるか。
↓の1~3のどれかで作っている気がするけど、5でもつくれるようになりたい。
Discussion