public static void Clear() { var allObjects = FindObjectsOfType <GameObject>(); foreach (var go in allObjects) { GameObjectCreator.DestroyGameObject(go); } /* * // ヒエラルキー・ウィンドウに出てこない隠れているオブジェクトも全部消すぜ☆(^~^) * // 参考Webサイト * // 2014年01月11日「How do I remove a Game Object that is not visible in the hierarchy?」unity * // https://answers.unity.com/questions/613728/how-do-i-remove-a-game-object-that-is-not-visible.html * * var allObjects = FindObjectsOfType<GameObject>(); * foreach (var go in allObjects) * { * if ((go.hideFlags & HideFlags.HideInHierarchy) != 0) * { * GameObjectCreator.DestroyGameObject(go); * } * } */ }
static void Clear() { GameObject cubesObj = GameObject.Find("Cubes"); if (null != cubesObj) { // 既存なら消す☆(^~^) GameObjectCreator.DestroyGameObject(cubesObj); Debug.Log("既存のCubesオブジェクトは消したぜ☆(^~^)"); } }
public static void CreatePrefubCube() { ResourceManager.ReadyDirectory(); string prefabCubeName = string.Format("{0}/{1}", ResourceManager.nd_prefabs, ResourceManager.nd_cube_name); GameObject prefabCube = (GameObject)Resources.Load(prefabCubeName); if (null != prefabCube) { Debug.Log(string.Format("キューブのプレファブはもうある☆(^~^) path={0}", prefabCubeName)); return; } Debug.Log(string.Format("キューブのプレファブが無いんで、作るぜ☆(^~^) path={0}", prefabCubeName)); // ******************************************************************************** // * プレファブ作成 * // ******************************************************************************** // ヒエラルキーには見えない一時ゲームオブジェクトを作る(このオブジェクトはあとで破棄する) GameObject expectedTmpObj = EditorUtility.CreateGameObjectWithHideFlags("Expected Cube", HideFlags.HideInHierarchy, typeof(UnityEngine.MeshFilter), typeof(UnityEngine.BoxCollider), typeof(UnityEngine.MeshRenderer) ); // Unityデフォルトのキューブを作成 GameObject defaultCube = GameObject.CreatePrimitive(UnityEngine.PrimitiveType.Cube); // Cube (メッシュ・フィルター) { // デフォルトのキューブから、メッシュをもらう expectedTmpObj.GetComponent <UnityEngine.MeshFilter>().mesh = defaultCube.GetComponent <MeshFilter>().sharedMesh; } // メッシュ・レンダラー { // デフォルトのキューブのメッシュ・レンダラーから、マテリアルをもらう expectedTmpObj.GetComponent <MeshRenderer>().material = defaultCube.GetComponent <MeshRenderer>().sharedMaterial; } // キューブのプレファブを作成する PrefabUtility.CreatePrefab(string.Format("{0}/{1}/{2}/{3}", ResourceManager.nd_assets, ResourceManager.nd_resources, ResourceManager.nd_prefabs, ResourceManager.nd_cube_file), expectedTmpObj); // Unityデフォルトのキューブを削除 GameObjectCreator.DestroyGameObject(defaultCube); // プレファブの元は破棄する GameObjectCreator.DestroyGameObject(expectedTmpObj); }