うえすと開発メモ

Prefabから動的にGameObjectを生成するにはInstantiateを使用します。
GameObjectはシーンのルートに作られてしまうので、以下のように作成と初期化を同時に行う関数を用意すると便利です。
public static GameObject InstantiateGameObject (GameObject prefab, Transform parent)
{
    // インスタンス生成
    GameObject gameObj = Instantiate (prefab) as GameObject;
    Transform tran = gameObj.transform;
    // 親設定
    if (parent != null) {
        tran.parent = parent;
    }
    // Transform初期化
    tran.localPosition = Vector3.zero;
    tran.localRotation = Quaternion.identity;
    tran.localScale = Vector3.one;
    
    return gameObj;
}

使い方
// 生成するプレファブ参照
[SerializeField]
private GameObject hogePrefab;

void Start ()
{
    GameObject go = InstantiateGameObject (hogePrefab, transform);
}
これで自身の子としてGameObjectが生成されます。

このエントリーをはてなブックマークに追加 Clip to Evernote

Unityで作ったiOSアプリでiPadか否かを判別するにはSystemInfo.deviceModelを使用して端末名を取得して判定します。

public static bool isIPad {
    get {
        return SystemInfo.deviceModel.Contains ("iPad");
    }
}

このエントリーをはてなブックマークに追加 Clip to Evernote

iOS向けにUnityで作成したプロジェクトをXcode5でビルドすると以下の様なリンカエラーが出て失敗することがあるので、その対処メモ。

・エラーメッセージ
Directory not found for option '-L"/Users/Shared/Unity/[~~~]/[~~~]/Libraries"'


・対処法
①Xcode上でプロジェクトルートを選択

Build Settings内のSerch Paths内のLibrary Search Pathsをダブルクリック。

\"$(SRCROOT)/Libraries\"という項目を$(SRCROOT)/Librariesに変更する。

④再ビルド

このエントリーをはてなブックマークに追加 Clip to Evernote

このページのトップヘ