using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(SpawnObj))]
public class GenerateEditor : Editor
{
ย ย ย
ย ย ย public override void OnInspectorGUI()
ย ย ย {
ย ย ย ย ย ย ย base.OnInspectorGUI();
ย ย ย ย ย ย ย SpawnObj spawnObj = (SpawnObj)target;
ย ย ย ย ย ย ย if (GUILayout.Button("GenerateObj"))
ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย spawnObj.Spawn();
ย ย ย ย ย ย ย }
ย ย ย ย ย ย ย
ย ย ย }
}
public class SpawnObj : MonoBehaviour
{
ย ย ย public GameObject pref;
ย ย ย public Transform Targettr;
ย ย ย public void Spawn()
ย ย ย {
ย ย ย ย ย ย ย for(int i = 0; i ย ย ย ย ย ย ย {
ย ย ย ย ย ย ย ย ย ย ย var instance = Instantiate(pref);
ย ย ย ย ย ย ย ย ย ย ย instance.transform.position = Targettr.GetChild(i).position;
ย ย ย ย ย ย ย ย ย ย ย instance.transform.eulerAngles = Targettr.GetChild(i).eulerAngles;
ย ย ย ย ย ย ย ย ย ย ย instance.transform.localScale = Targettr.GetChild(i).localScale;
ย ย ย ย ย ย ย ย ย ย ย instance.transform.SetParent(transform);
ย ย ย ย ย ย ย }
ย ย ย }
}
์ด๋ฐ์์ผ๋ก ๋ฒํผ์ผ๋ก ์๋ํฐ์์ ๋ณต์ฌ์์ฑํ๊ณ ์๋๋ฐ
๋ฌธ์ ๋ ํด๋ก ์ผ๋ก ๋ณต์ฌ๊ฐ ๋๋ฉด (ํฐ์๋ฐ์ค)๋ก ์์ฑ์ด ๋จ
ํ๋ฆฌํน์ ๋งต์ ๋์ด๋ค ๋๋๊ฒ์ฒ๋ผ (ํ๋์๋ฐ์ค) ๋ก ์ฝ๋๋ฅผ ์ด์ฉํด์ ์ฌ๋ฌ๊ฐ๋ฅผ ๋์์ ์์ฑ์ํฌ ์๋ ์์?
(์๋ ๊ทธ๋ฆผ์ฒ๋ผ ์ต์ ํ๋๊ด(Clone) ์ ํ๋์์ผ๋ก ์ ๋ถ ์์ฑ์ํค๊ณ ์ถ์) ๋ฐฉ๋ฒ์ด ์์๊ฒ ๊ฐ์๋ฐ..
์๊ณ ๊ธ์ ์งค๋ฆฌ๋ค. ์ง๋ฌธ์ ์์ง๊ฐ ์๋ํฐ์์์ "์ต์ ํ๋๊ด(Clone)" ์ ํฐ์์ด ์๋ Generate ๋ฒํผ์ ๋๋ ์ ๋ ํ๋์ (ํ๋ฆฌํน) ํํ๋ก ์์ฑ์ํค๊ณ ์ถ์
ํธ๋ฒ์ผ๋ก ํด๊ฒฐํ๋ค ใท; ํ๋ฆฌํน ๊ฐฏ์๋งํผ ์๋ํฐ์์ ๋ณต์ฌํ๋ค์์ for๋ฌธ์ผ๋ก ์์น ๋ฐฉํฅ ์ค์ผ์ผ ๊ฐ๋ง ์ ์ฅํ๋๊ฑฐ ๋ถ๋ฌ์ด