はじめに
Unityのチートシートを作りました。
自分用のメモです。
環境構築
- 以下のURLからUnityHubをダウンロードします
- テンプレートの選択画面で2Dを選択します
- 右下の「プロジェクトを作成」をクリックすると編集画面が起動します
レイアウト調整
- レイアウトを以下の手順で調整します
- ウィンドウ>レイアウト>2x3を選択
プロジェクトとヒエラルキーの概要
プロジェクト
ヒエラルキー
C#構文
基本構文
using UnityEngine; // 脳死
using UnityEngine.UI; // 脳死
public class DummyClass : MonoBehaviour // 覚えるものではないが一生覚えられない
{
// フィールド(要素、変数)
public int a;
private int a;
[SerializeField] int a; // 実質privateだがインスペクターに表示される
public int[] a; // 配列 // インスペクターから設定することもできます
public string[,] a = new string[,]{{"a11", "a12"},{"a21", "a22"}}
public List<int> a = new List<int>(); // リスト
public static const int A // 定数
// 最初に強制実行されるメソッド(コンストラクタではない)
void Awake(){ } // Startの前に実行される。オブジェクトが非活性では実行されない
void Start(){ } // オブジェクトが非活性では実行されない
// メソッド(関数、ファンクション)
public void dummy(int a){ } // 自分で作るメソッドは先頭小文字
// enum
public enum DummyEnum // 滅多に使わないので一生覚えられない
{
A, B, C, D
}
}
キー入力系
void Update()
{
if(Input.GetKeyDown(KeyCode.A)){ }// 1つ
if(Input.GetKey(KeyCode.LeftControl) && Input.GetKeyDown(KeyCode.S)){ }// 同時押し
}
GameObject操作
public GameObject gameobject
void hoge()
{
gameobject.SetActive(true); // オブジェクト有効化
}
GetComponent
public Sprite spriteDummy;
GetComponent<Button>()
GetComponent<Image>().sprite
GameObject.FindGameObjectWithTag("aaa").GetComponent<Image> // タグで取得
画面遷移
using UnityEngine.SceneManagement;
void ChangeScene(string sceneName) {
SceneManager.LoadScene(sceneName); // 指定したシーンに画面遷移
}
ボタンを押したときに呼ばれるメソッドを登録
void Start()
{
// ボタンを押したときに呼ばれるメソッドを登録
void Start(){
GetComponent<Button>().onClick.AddListener(test);
}
// 呼ばれる
public void test(){
}
}
Amimator系
public Animator anim;
anim = GetComponent<Animator>();
// 追記予定
音系
public AudioSource audioSourceBgm;
public AudioClip soundBgm;
public AudioSource audioSourceSe;
public AudioClip soundSe;
public void test()
{
audioSourceBgm.clip = soundBgm; // BGM
audioSourceBgm.Play();
audioSourceBgm.Stop();
audioSourceSe.PlayOneShot(soundSe); // SE ループさせずに1回だけ音を出す
}
スライダー
private Slider speedSlider;
public void test(){
speedSlider = GetComponent<Slider>();
speedSlider.value = 1;
}
クラス図
- 自分はクラス図を作る工程を省略することが多いです。
- 基本的に以下の記事のイメージで良いです。
https://note.com/midorigamegame/n/nfe505bcd69ab
Manager → Controller → Group, Parts, Item, Paramater, Status, etc..
セーブデータ作り方
工事中
ビルド設定
工事中
アセット
工事中
エディタをVSCode化
工事中
画像サイズ
Unityは、表示端末の解像度に関係なく、「10ユニット」、「縦に」表示する仕組み、と言いましたが、これはMain Cameraを選択すると、「Size」の所に定義されています。
この値の2倍、5x2=10ユニットが、縦に表示されるサイズとなります。
もっと高解像度にしたい場合は、このSizeを変更してみて下さい。
VS Codeのエディタが緑文字にならなくて何か変
C#のバージョンを2より前に戻すと治る
アウトラインを表示したい
左側のアクティビティバーから「エクスプローラ」を選択します。
「エクスプローラ」の下部にある「アウトライン」をクリックします。
参考資料
- 読みやすい。参考にしたい
- こうしてください
- なぜならこうだから
- そのなぜならの8W3Hについて詳しく
- 余計なことを書かない方法