반응형
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeGroupGenerator : MonoBehaviour { public Vector3 position = new Vector3(10.0f, 0.0f, 0.0f); //정육각형 큐브를 쌓는데 for문에 사용할 반복인수로 vector3 사용 public Vector3 count = new Vector3(10f, 10f, 10f); public void Awake() { Generator(count, position); OneCubeGenerator(); } private static void Generator(Vector3 count, Vector3 position) { //레이어 마스크를 일딴 가져옴 그러기 위해서는 LayerMask를 유니티에서 추가해야됨 //layer는 int형을 사용한다. LayerMask.NameToLayer("문자열"); var layer = LayerMask.NameToLayer("Shootable"); Transform parent = new GameObject().transform; GameObject newCube = null; for (int x = 0; x < count.x; x++) { for (int y = 0; y < count.y; ++y) { for (int z = 0; z < count.z; ++z) { //실제 물체로 만듬 newCube = GameObject.CreatePrimitive(PrimitiveType.Cube); //위치,이름(GameObject.name),컴포넌트(GameObject.AddComponent<...>()), //부모(transform.SetParent(GameObject.transform)),레이어 설정 newCube.transform.position = new Vector3(x, y, z); newCube.name = string.Format("Cube ({0}, {1}, {2})", x, y, z); newCube.AddComponent<Rigidbody>(); //부모설정을 왜 transform을 거처가지? newCube.transform.SetParent(parent); newCube.layer = layer; } } } //string.Format("{0}{1}{2}..{n}",var1,var2,..,var n) parent.name = string.Format("Cube gruops :{0}x{1}x{2}", count.x, count.y, count.z); parent.position = position; parent.gameObject.layer = layer; } private void OneCubeGenerator() { GameObject NewOneCube = GameObject.CreatePrimitive(PrimitiveType.Cube); NewOneCube.transform.position = new Vector3(-1, 5, 5); NewOneCube.name = "parent"; GameObject NewChildCube = GameObject.CreatePrimitive(PrimitiveType.Cube); // NewOneCube.transform.SetParent(NewChildCube.transform); NewChildCube.transform.SetParent(NewOneCube.transform); } } | cs |
반응형
'etc-posts > Unity :: C# 튜토리얼' 카테고리의 다른 글
[유니티C#][기초] 6.플레이어 슈팅 2 (0) | 2018.07.08 |
---|---|
[유니티 C#][기초] 5.플레이어 슈팅 1 (0) | 2018.07.08 |
[유니티 C#][기초] 4. 마우스, 키보드 입력 받기 (0) | 2018.07.08 |
[유니티C#][기초] 2. 특정 오브젝트를 카메라가 따라오가게 하기 (0) | 2018.07.08 |
[유니티C#][기초] 1.유니티로 마우스 키보드 입력 받기 (0) | 2018.07.08 |