안녕하세요
ITSkeleton입니다.
오늘은 프리팹에 관하여 설명을 해드리려 합니다.
프리팹이 무엇인가
유니티를 처음 접하신다면 프리팹이라는 단어가 어색하게 느껴지실 수 있습니다.
유니티의 최대의 장점으로 꼽을 수 있는 것중 하나인데요.
여러가지의 게임 오브젝트들을 하나로써 다룰수 있게 만들어 주는것
그것이 바로 프리팹입니다.
간단하게
맷돌로 비유를 해보자면
맷돌에는 위 아래가 둥그렇고 모양이 맞는 오브젝트가 두개.
그리고 손잡이의 오브젝트가 하나
이렇게 모여야만 맷돌이 됩니다.
이렇게 따로따로 연결된 오브젝트들을 맵전체에 약 100개를 만들었고, 속성에 변경이 필요한 작업이 생긴다면,
각각의 오브젝트들에 모두 속성을 적용 시켜야하는 문제가 발생하죠
물론 해줄 수 있겠지만 시간적인 낭비가 발생하죠
만약 맷돌의 윗부분과 아래부분 그리고 손잡이 하나의 프리팹으로써 움직이게
만든다면 각각의 오브젝트들에 속성 변경을 할 필요없이
하나의 프리팹 변경만으로 속성을 변경 할 수 있는 것이지요.
위 아래 그리고 손잡이를 하나의 프리팹으로 만들어서
관리를 편하게 하고 다른 프로젝트에서 사용하게되면 해당 프리팹을
쉽고 빠르게 불러오기 위해 사용하는 방법 입니다.
그렇다면 프리팹을 만드는 방법에 대하여 설명해 드리겠습니다.
네 유니티 화면에서 저는 큐브 3개를 만들었습니다.
각각의 이름을 UP, Down,Handle 이라고 지어 주었습니다.
맷돌에는 위 아래 그리고 핸들이 존재 하니까요.
이렇게 만들어 주신후
Hierachy -> Create -> CreateEmpty 를 클릭하여
빈 오브젝트를 만들어줍니다. 이름은 Mat 으로 하겟습니다.
네, 배치는 이렇게 맷돌이라는 큰이름안에
위, 아래 그리고 위쪽부분에 손잡이가 달려 있기때문에
UP부분에 손잡이를 차일드로 넣어 주었습니다.
이렇게 하고,
위 그림과 같이 Mat이란 이름의 GameObject를 드래그앤 드롭해줍니다. 폴더 안에 넣으실거면
폴더안에 넣으시면되고 끌어다 놓으면
이런 모양으로 프리팹이 생성이 완료 됩니다.
배치가 필요한 오브젝트들 인경우
배치를 해주신 후 드래그앤 드롭을 이용해서
프리팹을 생성해주시면
저걸 그대로 끌어다가 Hierachy에 적용을 하면 만들었던
프리팹이 그대로 붙여 넣어집니다.
100개의 맷돌의 모든 속성을 변경하고 싶다면
프리팹에 가셔서 그곳의 속성을 바꿔주시면 100개의 모든 맷돌의 속성을 변경할 수 있습니다.
단, 주의해야 될점은
Transform같은 경우에는 각각의 오브젝트들의 속성값이 다를수 있기때문에
프리팹에서 변경을 해도 모든 프리팹 복사 오브젝트들은 절.대. 변경되지 않습니다.
이렇게 프리팹에 대하여 간단하게 설명해 봤습니다.
감사합니다.