VRChat 마이너 갤러리 저장소

제 목
강좌/팁 월드 제작에 대한 몇가지
글쓴이
star
추천
8
댓글
0
원본 글 주소
https://gall.dcinside.com/vr/5386523
  • 2026-01-30 05:48:51

안녕.


그동안 월드를 만들어 오면서 기존 갤강좌들을 많이 참고했었는데, 시간이 지나도 많은 월드 관련 강좌들이 19년, 20년에 머물러 있더라고. 


근데 제작 시스템이 크게 바뀌지 않아 예전 글들을 봐도 별 문제가 없긴 해서 


이번에 내가 쓰는 제작글은 간단히 프로세스 참고용으로 봐두어도 좋을 것 같음


또는 자기가 표현하고 싶은 게 있고, 상용에셋 없이 직접 만들어야 할 때 봐도 좋고.


월드제작을 바라보는 시각을 조금 더 넓혀서, 게임 배경 제작을 하는 시선으로 보면 아마 이해를 하는 데 도움이 될듯 함.







ㅇ 워크플로우


보통 제작의 흐름을 축약해보자면




기획&자료 -> 레벨디자인(블록아웃 더미 배치) -> 1차 모델링&텍스처 제작 -> 레벨디자인 기반으로 작업 -> 2~3차 추가 제작 -> etc... -> 최적화 




오브젝트의 모듈화, 쉐이더 등등 세부적인 것들 다 빼고 큰 틀로 보면 대충 이런식으로 나뉘게 됨


이 글에서 다룰 부분은


굵게 표시해둔 부분인 레벨디자인과 모델링&텍스처 제작 부분이야




일단 내가 말하는 워크플로우도 많은 제작 방법중에 하나이기도 하고,


100% 딱 정해진 정답도 없어서 각자의 스타일과 작업방식대로 상황에 맞는 플로우를 짜면 된다고 생각 함


그래서 내가 말 하려는 게 모든이에게 정답은 아닐수도 있음









1. 블록아웃 더미배치



viewimage.php?id=3baf&no=24b0d769e1d32ca73de88ffa1bd62531b4a124fe2dbe54c3cab70d3d8efa1237727007f92c03c14893948ed4a6ef3372baa0a548c78f62fe6a59dd08c612





블록아웃은 기획단계에서 만든 자료를 기반으로 기초적이고 간단한 레벨디자인을 하는 단계인데, 


작업에서 가장 중요한 부분이라고 생각해.


일단 작업초기 단계에서 해당 씬의 스케일감과 배치 디자인, 전체적인 미감을 미리 짐작해볼 수 있다는 건 제작 후반으로 가기전부터 엄청난 시간적인 이득을 가져다 줘.


이 단계에서 제대로 된 기준을 잡지 않으면 모델링과 텍스처링 단계에서 많은 수정을 야기할 수 있고


아바타와 월드의 오브젝트 스케일감이 서로 맞지 않을 수 있어.


이런 점들을 미연에 방지하기 위해서 본격적인 제작전에는 반드시 간단한 오브젝트로 기본적인 블록아웃을 짜 주어야 함.


마네킹같은 사람 형체 모델링과 함께 블록아웃을 짜 준다면 아바타와 월드 오브젝트 스케일이 어긋나는 경우는 잘 없을거야.



여기서 간단한 팁으로라면, 


월드를 방문하는 주요 유저층 아바타가 보통 부스 아바타다 보니


나는 아이리든 쇼콜라든 가지고 있는 아바타 소체 모델링을 배치하고 블록아웃을 짜주는 편이야.


(또한 유저들 다수가 기존 스케일 1에서 조금 작게 설정 해두는 편이라 아바타 소체 스케일을 1보단 0.9 정도로 맞춤)









2. 모델링&텍스처링 - 노말 베이크



ㅇ 노말맵 베이크



월드는 실시간으로 장면을 렌더링하는 게임 엔진의 특성을 그대로 따름.


따라서 시각적인 형태를 만드는 것에 그치지 않고, 연산 부하를 결정짓는 폴리곤 개수 조절과 같은 최적화를 지향해주는 편이 좋아. 


그럼 아마 모델링을 막 하다보면 이런 의문점에 도달할 수 있을건데


퀄리티를 챙기자니 폴리곤이 많아지고, 폴리곤을 줄이자니 오브젝트가 밋밋해진다는 거야.


이럴 때 우리는 노말맵 베이크라는 걸 해주어야 함




viewimage.php?id=3baf&no=24b0d769e1d32ca73de88ffa1bd62531b4a124fe2dbe54c3cab70d3d8efb1b37cfe314d4c9584fae9dd3f085c2a38bb2db82a137bb167dab2a30ba955ef6



위 사진을 보면, 왼쪽은 모델링&스컬핑을 마친 하이폴리곤 오브젝트, 오른쪽은 왼쪽 오브젝트의 실루엣과는 흡사하지만 폴리곤이 매우 낮은 상태의 오브젝트임.


우리는 왜 노말맵 베이크를 해야할까?


노말맵 베이크를 사용하면 오른쪽 로우폴리의 오브젝트를 사용하면서, 왼쪽 오브젝트의 디테일(크랙 표현이나 음각, 양각의 표현)을 그대로 가져와 사용할 수 있기 때문임.

(즉 800 폴리곤만 쓰면서 8백만 폴리곤의 디테일을 그대로 가져와 쓰는거)


아바타로 비유하자면 치마나 옷의 주름을 일일이 표현해주면 다소 무거워지니 노말맵으로 대체하는 것과 동일하다고 생각하면 됨. 





노말맵 베이크의 공정



viewimage.php?id=3baf&no=24b0d769e1d32ca73de786fa1bd62531cc2a4a3aab95ddaddf70cdfa077eecba0886a85b3b5e971c449d2f9f18cdd595bdafab2c8bb6e51a8896266329d1



보통 하이폴 모델링을 먼저 하고, 그 후에 하이폴 모델링의 실루엣에 맞게 로우폴 모델링을 해줘. 


노말을 잘 굽기 위해서는 하이폴과 로우폴 서로 폴리곤 갯수만 다르지 실루엣은 거의 서로 동일하게 해주어야 해. (마지막 베이크 단계에 있는 사진처럼 겹치게)


uv는 로우폴만 펴주면 됨. 


정리를 해보자면, 


음각 양각의 표현을 해줄 하이폴 모델링을 먼저하고 -> 실시간 렌더가 되는 게임 엔진에 올려야 하니 로우폴 모델링


-> 결국 로우폴도 텍스처링을 해주어야 하니 로우폴 uv 언랩(하이폴 uv 언랩은 필요없음. 왜? -> 하이폴은 음각양각 디테일 정보인 노말만 필요하니까 텍스처링 해줄 로우폴만. 즉, 노말 베이크만 잘 되면 하이폴의 역할은 끝난거임.)


-> 이후 섭페나 마야, 맥스, 블렌더에서 노말맵 베이크 (보통은 섭페)




어느 툴이든 노말맵 베이크 공정은 이렇게 표준화 되어있어.


그리고 하나 더 모든 툴에서 공통적으로 해주어야 하는 게, 반드시 하이폴과 로우폴의 xyz축은 0, 스케일값은 1이 되게끔 초기화를 한번 해주고 같은 위치에 겹쳐있어야 해. 

(블렌더에서 초기화 하는 방법은 오브젝트 클릭 후 ctrl+a -> all transform)


보통 나는 이런 공정이 다 끝났으면 하이폴과 로우폴을 각각 익스포트 후 섭페로 가져가서 노말 베이크를 해. 





노말 베이크를 해주게 되면 이렇게 조금 밋밋해 보였던 오브젝트가




viewimage.php?id=3baf&no=24b0d769e1d32ca73de786fa1bd62531cc2a4a3aab95ddaddf70cdfa077eecba0886a85b3b5efa7643952f9e11c9d09d6e56029985d7e2db71172923da821e

viewimage.php?id=3baf&no=24b0d769e1d32ca73de786fa1bd62531cc2a4a3aab95ddaddf70cdfa077eecba0886a85b3b5efa76439b269411cad393e1b8632f9d46f56d0a7770a25da4b4



이런식으로 음각 양각, 크랙 디테일들이 나쁘지 않게 들어간 걸 확인할 수 있어. 








3. 모델링&텍스처링 - 트림시트


보통 유니티 엔진 상에서 장면을 렌더링하면서 나타내는 수치가 드로우콜이라고 하는데 이 수치가 높으면 높을수록 cpu와 gpu의 부담이 심해져. 


이 드로우콜 수치를 높이는 많은 요소들 중에서 보통은 쉐이더가 무거우면 좀 무거워지는데, 텍스처의 갯수도 영향을 적지 않게 미쳐. 


그리고 렌더되는 씬 안에 텍스처 갯수가 많아지면 많아질수록 텍스처 메모리도 증가하기 때문에 텍스처는 최대한 적게 쓴다는 쪽을 지향해주는 게 좋아. 


유니티에서는 각기 다른 텍스처 1장이 추가될 때 마다 드로우콜이 1씩 늘어남. 그래서 씬이 커지면 커질수록 드로우콜이 늘어가고, 텍스처 메모리를 저장하는 슬롯이 부족해지면서 월드가 무거워지는 현상이 생겨. 


결국 그렇다면 텍스처를 적게 쓰는 것이 유리하다는 결론이 나와. 그런데 텍스처를 적게 사용하면 월드 자체가 조금 밋밋해지거나 하는 문제가 있을거야. 


그렇다면 많은 오브젝트의 텍스처를 한장에 모조리 담고, 그 텍스처 한장만 써서 텍스처를 가져오면 드로우콜을 절약할 수 있지 않을까?




24b0d121e09c28a8699fe8b115ef046f574d909aa8


실제로 이렇게 텍스처 아틀라스를 통해서 오브젝트의 텍스처를 한곳에 모아 최적화를 해 


3d 개발 환경에서도 아틀라스 방식을 사용하지만, 조금 더 넓은 확장성을 지닌 '트림시트' 방식도 많이 사용함. 





ㅇ 트림시트(trimsheet)




24b0d121e09c28a8699fe8b115ef046f5c4d999dacca

24b0d121e09c28a8699fe8b115ef046c60f72d4e99e8




예를들어 월드에서 아바타가 걸어다닐 저런 다리 오브젝트와 저 밑의 스퀘어홀 오브젝트가 필요하다고 가정할게. 


그럼 지금 사진에서 보이는 바와같이 다리의 노랑, 빨강, 초록칠한 부분의 텍스처가 서로 다른 것을 알 수 있는데


통맵으로만 때려넣으면 다리 오브젝트에만 텍스처가 3장 이상이 들어가. 


보통 이럴때는 트림시트라는 텍스처를 만들어서 저런 다리 오브젝트를 총 1장으로 끝내버리는데,





24b0d121e09c28a8699fe8b115ef0464df88e4cde0



트림시트는 벽돌, 몰딩, 장식 같은 각각의 디자인 요소들을 가로로 긴 띠 형태로 제작하고, 이를 최종적으로 정사각형 규격의 텍스처 한 장에 모아둔 것을 말해. 

(아까 말했던 노말베이크 방식을 차용해서 제작함. / 저렇게 가로로 긴 형태의 오브젝트들을 하이폴로 제작해서, 로우폴(평면)에 노말 베이크를 한 후 텍스처를 익스포트)


이렇게 하면 모델링의 UV를 해당 패턴 위에 겹쳐 올리는 것만으로도 복잡한 디테일을 효율적으로 입힐 수 있는 것도 장점이야. 





이 트림시트로 저런 다리의 텍스처링과 스퀘어홀 오브젝트를 만든다고 예시를 들어보면,



24b0d121e09c28a8699fe8b115ef046c64f2214898e3



이런식으로 1장의 트림시트 텍스처를 가지고, 평편한 plane 오브젝트로만 이런 느낌의 타일을 만들 수가 있어. 


여기서 더 나아가 이 트림시트 한 장으로 여러 오브젝트의 텍스처링을 커버할 수 있어. 




24b0d121e09c28a8699fe8b115ef046c60f328479eeb



아까 보여준 로아의 스퀘어홀도 이런 느낌으로 만들수가 있어. 


즉, 트림시트 1장을 잘 만들어놓는다면 이 1장으로 정말 많은 오브젝트들을 커버할 수가 있음.



24b0d121e09c28a8699fe8b115ef046c60f32b489ae3



왼쪽 사진 와이어 프레임을 보면 엣지가 추가 된 부분마다 트림시트의 디자인이 바뀌는 걸 볼 수가 있어. 


즉, 트림시트로 시각적으로 재밌게 바리에이션을 주려면 와이어 추가를 해서, 일직선으로 uv를 편 후 트림시트에 맞게 배치를 해주어야 해. 


오른쪽이 스퀘어홀 uv를 펴서 트림시트 위에 얹인 상태야. 예를들면 데코 부분의 uv를 펴서, 트림시트의 해당 부분에 배치하는 식. 





ㅇ 트림시트 제작



기획단계에서 내가 어떤 오브젝트를 제작할 건지 같은 게 다 정해질테니까 그에 맞게 구상을 하면 돼. 


24b0d121e09c28a8699fe8b115ef046f5b4d9e9d



나는 이런식으로 계획을 하고, 아랫부분은 작업하면서 추후 추가 될게 있을 것 같아서 남겨뒀어. 




24b0d121e09c28a8699fe8b115ef046f5d459d99


이렇게 1:1 사이즈의 plane을 만들어주고 자기가 구상해놓은 트림시트를 가지고 그에 맞게 모델링을 해줘. 


24b0d121e09c28a8699fe8b115ef046c63f1284e99

24b0d121e09c28a8699fe8b115ef046a7f65eaca30




보통 2번째 사진의 단계에서 바로 섭페로 넘어가서 베이크를 해주어도 되는데, 문양이나 크랙 표현을 위해서 지브러쉬에서 작업을 해주었음. 


3번째 사진을 보면 양쪽이 다 대칭으로 끝나는 걸 알 수 있는데, 트림시트 특성상 가로로 길게 이어지게 만들다 보니 대칭으로 만들어주어야 이어질 때 끊어지지 않고 어색하지 않게 보여. (만약 대칭이 안 맞아서 이음새가 눈에 띄게 보일경우, 몰딩 트림시트 부분을 활용해서 티가 나는 부분을 덮어줄 수도 있어.) 


여기에서 아까 서술한 노말 베이크와 트림시트의 상관관계가 여기서 나오는데, 저런 문양 같은 느낌을 로우폴리곤에서는 표현자체가 불가능 해.


설령 할 수 있다고 해도 폴리곤 낭비가 심할거야. 





24b0d121e09c28a8699fe8b115ef046b6e6c973123



그래서 이렇게 만든 하이폴리곤 트림시트 오브젝트를, 쌩 plane 오브젝트에다가 노말맵을 베이크 해주는거야.


그럼 이제 섭페에서 저 베이크 된 걸 텍스처링 하고, 이미지만 뽑아서 쓰면 돼. 



그럼 여기서 통맵은 쓰면 안 되나? 라는 의문이 있을 수 있는데, 


답변은 서로 적절히 사용하면 된다는 거임. 



메인으로 주인공이 되는 오브젝트는 거의 무조건 트림시트가 아닌 노말 베이크 후 통맵을 써서 디테일에 신경 써 줘야 해. 



24b0d121e09c28a8699fe8b115ef04699430f0bef6



이런식으로 씬을 만들기전에 어떤 요소가 트림시트로 쓰일 수 있고, 어떤 오브젝트가 노말 베이크 후 통맵을 써야하는지 적절히 배분을 해주면 돼. 

나는 해당씬에서는 중앙 메인 오브젝트를 통맵을 사용했고, 식생을 제외한 모든 요소는 트림시트 1장으로만 작업을 마쳤어.


그리고 눈치 챘을수도 있겠지만 지금 예시로 드는 트림시트는 디자인은 똑같고 색만 다른거야. 


즉 그렇단건 트림시트에 펴준 uv자리만 변동이 없다면, 색깔과 텍스처의 느낌을 얼마든지 바꿔서 많은 바리에이션을 줄 수 있다는 얘기가 돼. 


최종적으로 트림시트는 기획하고 제작하는데는 시간이 좀 걸리지만, 한번 제대로만 만들어 놓으면 엄청난 확장성과, 여러 바리에이션, 수정의 용이함, 등등


장점이 뒤따라와. 









근데 트림시트까진 너무 딥한 얘기일수도 있고, 그냥 통맵쓰고 싶음 써도 돼. 


다만 노말 베이크는 언젠가 월드를 만들면서 사용할 수 있는 날이 있을거야. 




물론 이런식으로 제작을 하면 시간도 많이 걸리고 번거롭고 다 만들어 갈때면 계절이 바뀐다는 게 단점이지만


나처럼 월드를 0부터 거의 100까지 직접 만드려는 사람도 있을 것 같아서 약소하지만 글을 쓰게 됐어. 


뭐 그냥 경우에 따라서는 제작기로도 봐줘도 되고 월드 제작에 더욱 딥하게 만들어보고 싶은 사람에게도 도움이 되었음 좋겠음. 



댓글이 없습니다.
번호 분류 제목 글쓴이 날짜 추천
5387148 침대 쿠마리 바디 좀 나쁘지 않을지도 ㅇㅇ 2026-01-30 1
5387147 침대 쿠마리 닭장으로 만들준비 ㅇㄴ 2026-01-30 1
5387146 침대 대충 뭐 집어먹고 자야지 햄스터혓바닥말랑해 2026-01-30 1
5387145 침대 요즘 갤 자짤도 ㅇㅇ 2026-01-30 1
5387144 침대 지금글쓰면 념글감?? 큐베이스 2026-01-30 7
5387143 침대 '닭' 프리즘분광기 2026-01-30 1
5387142 침대 근데 개추컷 좀 낮춰도 되지않나 멜구 2026-01-30 7
5387141 침대 브미나이한테꼬순내가뭔지물어봣는데요 미찌 2026-01-30 3
5387140 침대 ㅁㅊ 개추요정 뭐임 개물렁 2026-01-30 8
5387139 침대 오늘따라 섹스가 마려워요 ㅇㅇ 2026-01-30 8
5387138 부스 무료 역대급임@@@@@ 무료로해줌 2026-01-30 0
5387137 침대 개성있는찌찌 보추 2026-01-30 1
5387136 침대 마찌 ♥ 미찌 ㅇㅇ 49.171 2026-01-30 0
5387135 침대 내가 없어져도 아무일 없던데 육식곤뇽 2026-01-30 1
5387134 침대 기껏 일찍 왔는데 넘 졸류.. ㅇㅇ 2026-01-30 1
5387133 침대 한복에쿠기모노에쿠 ㅇㅇ 2026-01-30 1
5387132 침대 그러고보니 이 옷 넣고나서 들은말 마찌 2026-01-30 1
5387131 침대 꼬순내날거같은게머지 미찌 2026-01-30 1
5387130 침대 아 장학금 신청안했다 크림이 2026-01-30 1
5387129 침대 왼쪽팔 힘 마구마구 빠진다 우주이 2026-01-30 1
5387128 침대 난 행복해 육식곤뇽 2026-01-30 1
5387127 침대 잠만 무료 개맛있는데 오늘 무료로해줌 2026-01-30 2
5387126 침대 "노치카" miJe 2026-01-30 0
5387125 침대 짤녀도개성잇나요 미찌 2026-01-30 1
5387124 침대 나 이거 누구한테 인겜에서 보여줬었는데 멜구 2026-01-30 1
5387123 침대 댇글로보는 외모력평가.. 반프르2 2026-01-30 2
5387122 침대 누워있을땐 농바타 씀 스트로크 2026-01-30 2
5387121 침대 일단 개무생기면 념글가는건 알고있음 햄스터혓바닥말랑해 2026-01-30 0
5387120 침대 브야스하고싶어 AVI 2026-01-30 1
5387119 침대 브개르CCTV병 근무투입합니다 곱도리탕 2026-01-30 1
5387118 침대 일단 개무생기면 념글가는건 알고있음 햄스터혓바닥말랑해 2026-01-30 18
5387117 침대 두개합치니까나름느낌있을지도 미찌 2026-01-30 1
5387116 침대 개멋있네 진쟈.. 개물렁 2026-01-30 1
5387115 침대 이쁘고 꼴리는 아바타 만들 능력을 주세요 거미군주 2026-01-30 0
5387114 침대 술먹으니까존나우울해 이세상게임이아냐 2026-01-30 1
5387113 침대 감기인지 독감인지 모르겟는데 디지게 아프네 ㅇㅇ 222.113 2026-01-30 1
5387112 침대 개성있게 생겼다는 말 ㄹㅇ 포장하기 딱 좋은 단어같음 ㅇㅇ 219.241 2026-01-30 1
5387111 침대 오늘 브얄하구십은뎅.. 우주이 2026-01-30 1
5387110 침대 1시간 뒤에 전투 메이드복 나오네 우에하라라 2026-01-30 1
5387109 침대 원래는 파란색이 아이덴티티였는데 잔물결 2026-01-30 0
념글 삭제글 갤러리 랭킹