0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Unity】導入・基本チートシート

Last updated at Posted at 2023-12-03

はじめに

Unityのチートシートを作りました。

自分用のメモです。

環境構築

  • 以下のURLからUnityHubをダウンロードします

 https://unity.com/ja/download

  • テンプレートの選択画面で2Dを選択します

image.png

  • 右下の「プロジェクトを作成」をクリックすると編集画面が起動します

レイアウト調整

  • レイアウトを以下の手順で調整します
  • ウィンドウ>レイアウト>2x3を選択

image.png
image.png

プロジェクトとヒエラルキーの概要

プロジェクト

image.png

ヒエラルキー

image.png

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について詳しく
  • 余計なことを書かない方法

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?