LoginSignup
16

More than 5 years have passed since last update.

Unity(C#)超絶初心者の開発メモ

Last updated at Posted at 2016-02-09

Unity歴3日のぼくのメモです。Unityでゲームを作って億万長者を目指しましょう。

環境

OSX 10.10.5
Unity 5.3.2
Xcode 7.2

覚えておきたいUnity Tips

①Unityでグラフィックやすべての設定などを行い、MonoDevelopでコードを書く
②Unityのカラムを2 by 3に変更すると見やすい
③AssetStoreを開くショートカットキーはCommand + 9
④GameシーンではQ、W、E、Rで拡大や回転などの切り替えができる
⑤alt(option)キーを長押ししながらトラックパッド2本指で画面上のカメラ操作が簡単にできる

iOS向け設定

①File -> Build Settings -> iOSに設定
②Player Settings -> Landscapeなどの設定
③画面サイズの設定(横向きなら1136 * 640等)

スクリーンショット 2016-02-08 20.28.12.png

④Buildする
Xcodeのプロジェクトファイルが書き出されるので、Xcodeで開いて自分のiOS端末でRunすれば自分のiPhoneやiPadで自作ゲームが遊べます。

BGMを入れる方法

①Hierarchyからカメラをクリック
②リソースフォルダに音源(mp3)をドラッグ&ドロップ
③音源(mp3)をCameraのInspectorにドラッグ&ドロップするとAudio Sourceが追加される
④BGMだけならこのままRunすれば再生される

<参考>
http://qiita.com/edo_m18/items/31771c2afc065d764fbf

効果音を入れる方法

①リソースフォルダに音源(mp3)をドラッグ&ドロップ
②効果音を発生させるオブジェクトをクリック
③「Add Component」を押してコンポーネントの追加
④AudioClipに音源をドラッグ&ドロップ

効果音
// 変数宣言
private AudioSource audioSource;
public AudioClip audioClip;

private void playSound () {
    audioSource.PlayOneShot (audioClip, 1.0f);
}

アニメーションを入れる方法

①AssetStoreからアニメーションをダウンロードしてリソースに入れる
②Inspectorからアニメーションを動画で確認できる
③Projectのところで右クリック -> Create -> AnimationController

スクリーンショット 2016-02-08 21.54.09.png

④アニメーションを付けたいオブジェクトを選択し、InspectorのControllerに設定
⑤人間型の場合はHumanoid設定に変更

<参考>
https://www.youtube.com/watch?v=QJ2dY0Sjgoo

Animatorの条件設定

AnimationControllerを作ってアニメーションを配置したら、transition(矢印)でアニメーションの順序をひも付けていく。矢印を右クリックしてアニメーションが呼ばれるタイミングについて設定することができる。アニメーションの呼び出しタイミングは以下の4種類。

タイプ 役割
Float 小数の値によってアニメーション呼び出し
Int 整数の値によってアニメーションON/OFF切り替え
Bool 真偽値(true/false)によってアニメーションON/OFF切り替え
Trigger 値によらず命令を受け次第アニメーションON/OFF切り替え
HogeScript.cs
// 変数宣言
private Animator animator;

// 処理
public void sampleAnimation () {
    if (Input.GetKeyDown ("space")) {
        // Triggerの場合
        animator.SetTrigger ("spaceTapped");
        // 処理...
    }
}

コードを書く

①C#のルール

項目 ルール
命名規則 メソッド名はアッパーキャメル、変数名はローワーキャメル
コメント /* ... */と//が利用可能
型の指定 右辺から明らかに型が分かる場合は型宣言せずvar宣言可
文字列 +で結合可能
配列の宣言 型の後に[]を付加。string[] nameArray = { "a", "b", "c" };
例外処理 throw/try/catch構文を使用

②変数宣言

変数宣言
// 修飾子 クラス/型 変数名;

// (例)
private AudioSource audioSource;

③修飾子

publicで宣言した変数や処理はUnityのオブジェクトに直接ひも付けることができる。

④メソッド

メソッドは処理のかたまりのこと。走ってジャンプする、のようなものを処理「superJump」のように定義することができる。

メソッドの書き方
修飾子 戻り値の型 メソッド名 (引数の型 引数の仮変数名) {
    // 処理
}

// (例1)
// ※引数が複数ある場合はカンマで区切る
public double SampleMethod (double x, double y, double z) {
    a = x + y + z;
    return a;
}

// (例2)
// ※戻り値を特に指定しない場合は、戻り値の型を「void」とし、return文は不要。
private void SampleMethod () {
    // 処理
}
メソッドの呼び出し
private void SampleMethod () {
    // ShowDebugLog()メソッドを直接呼び出してみる
    ShowDebugLog();

    // 間接呼び出し(1秒後にShowDebugLog()メソッドが呼ばれる)
    Invoke ("ShowDebugLog", 1.0f);
}

private void ShowDebugLog () {
    Debug.Log("called from SampleMethod");
}

⑤関連付けされたファイルの初期化

※あるオブジェクトに音やRigidBodyなどを関連付けていた場合の初期化

オブジェクトの初期化
// 変数宣言
private Rigidbody rigidBody;
private AudioSource audioSource;

void Start () {
    // 自身のインスタンスのコンポーネントを取得して初期化
    rigidBody = this.GetComponent<Rigidbody> ();
    audioSource = this.GetComponent<AudioSource> ();
}

エラー対処

①コンソールへの出力

コンソール出力
Debug.Log ("hoge");
Debug.Log (number);

②ビルド時のエラー対処

Unityのコンソールに出力されたエラーをダブルクリックするとMonoDevelopの該当コードに飛ぶので、そこがヒントになる。

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
16