# LMHPOLY : GAME ASSET BEGINNER TUTORIAL

## Modeling in Blender (Part 1/5)

<https://www.youtube.com/watch?v=\\_Iu88tZ9utE\\&list=PLQk3p-aJsSWTKKmuFwnzEVaf3ovKIg1jx\\&index=3>

![](https://velog.velcdn.com/images/biomatrix117/post/56b9e699-1d82-4738-888c-7d9ac7a5c8f7/image.png)

Edit > Preferences > Navigarion > Orbit Around Selection : 선택된 물체를 중심으로 회전 우측 상단 화살표 > Backface Culling : 앞쪽면만 보이게 설정 (유니티와 동일하게 보이게)

Num패드에 있는 `.` : 선택된 물체로 카메라 이동 물체 선택 > 우클릭 > Set Origin > Origin to 3D Cursor : 물체 피벗 설정

Tab : Edit 모드 A : 모든 오브젝트 선택 X : 삭제 Z : 렌더링 모드 변경 Shift+N : 노말 반전 Shift+S : 커서 위치 고르기

Cavity : 뷰포트 셰이딩(Viewport Shading) 옵션의 한 부분으로, 모델의 오목한 부분과 돌출된 부분의 조명을 조정하여 강조

> Normals tab이 없길래 검색해봤더니 사라졌다고 함. 우클릭 > Shade Auto Smooth 하면 되는듯 <https://blender.stackexchange.com/questions/316985/missing-normals-in-data>

## UV Unwrapping in Blender (Part 2/5)

<https://www.youtube.com/watch?v=-uYwkBCPpiQ\\&list=PLQk3p-aJsSWTKKmuFwnzEVaf3ovKIg1jx\\&index=14>

UV unwrapping을 해야 한다

* Ctrl + A > Rotation & Scale
* N > Rotation 0,0,0, < Scale 1,1,1
  * 이거 안 해주면 UV unwrap하고 나서 UV map이 이상해진다
* Menus > UV Editing > New > Name 'UV\_Grid' > Alpha 체크 해제 > Generated Type 'UV Grid' > Tab 눌러서 Edit 모드 종료
  * 오브젝트의 메시를 감싸는 텍스쳐가 어떻게 생겼는지 확인하기 위함
* 오브젝트 선택된 채로 > Properties > Material > New > Base Color의 노란색 점 클릭 > Image Texture > 방금 만든 UV Grid 선택 > 적용된거 확인하려면 Header 우측에서 Viewport 설정 변경
  * 보면 아직 오브젝트 전체가 감싸지지 않았기 때문에, UV Unwrap을 해야 한다.
* Tab > A > UV Map을 제대로 보기 위해 UV Window에서 UV Grid Texture 제거 > Alt + A > 2 > Alt + 좌클로 통 맨 위 선택 > 우클릭 > Mark Seam (UV Map에 절단면 만든다) > 아래 면에도 똑같이 Edge loop 선택하고 Mark Seam
* A > U > Unwrap > L로 UV Island 확인 > Texture에 UV Grid를 적용시키고 R로 회전시켜보면 메시에 적용된 텍스쳐도 회전한다는 걸 확인할 수 있음. 확인만 하고 UV Grid 적용 취소
* A > U > Unwrap > 좌측 하단 > Method > Conformal
  * Conformal: 정확한 비율을 유지하며 폴리곤을 펼침.
* 통 벽도 펼치기 시작 > 엣지 하나 클릭하고 Ctrl + 좌클릭으로 반대편 엣지 클릭하면 그 사이에 있는 엣지들 다 선택됨 > Mark Seam > A > U > Unwrap

![](https://velog.velcdn.com/images/biomatrix117/post/eaf2274b-0801-4fca-8847-555d03827729/image.png)

* 통 벽이 아직 비율이 맞지 않음. 이러면 텍스쳐도 왜곡됨.
* Tab > Alt + A > Alt + 좌클로 통 벽 edge loop 선택 > 우클 > Align Verically 또는 Align Horizontally > 모든 edge에 대해 align 해준다 > 다른 축 edge들도 다 펴준다
* 통의 뚜껑 부분도 Unwrap 해주기 시작 > Ctrl + Alt + 뚜껑 옆면 edge 하나 좌클 > 우클 > Mark Seam > 뚜껑에 대고 L > U > Unwrap > UV Editing에서 L로 뚜껑 UV 선택 > G로 옆으로 옮기기 > View Port에서 A로 모두 선택 > UV Editing에서 A > 좌측 상단 UV > Average Islands Scale
* 통 벽 선택하고 Numpad 1로 확인해보면 텍스쳐가 약간 늘어나있음 > S > X > 정사각형으로 보이도록 조정
* UV Editing에서 A > UV > Pack Islands > 확인 > A > R > Angle에 90도 혹은 Ctrl 누르며 90도 회전 > G로 UV space에 맞게 이동 > S로 살짝 줄여서 빈 공간 살짝씩 있게 > 통 벽 제외한 UV Island L 눌러서 다 선택하고 > G > Y로 공간 생기게 이동 > 나머지도 x축 조절하여 빈 공간 생기게
  * 픽셀 Bleeding(픽셀 침범)이란? UV Island 간 간격이 너무 좁거나 겹칠 경우, 텍스처의 픽셀이 의도하지 않게 다른 Island로 넘어가는 현상
* UV Island 선택하고 움직여보면서 어디가 어디에 적용돼있는지 확인 > 위치 조정 > 통 벽 UV Island를 내리면 텍스쳐가 위로 올라가야 한다 > 아니라면 R로 180도 뒤집기
  * 왜 방향이 반대인가? : UV 좌표계에서 V 축은 아래가 0, 위가 1로 설정됩니다. 이는 일반적인 2D 텍스처의 픽셀 좌표계와 반대입니다.
* UV Editing 좌측 상단 대각선 화살표 2개 교차한 아이콘 클릭 (UV Sync Selection) 하면 UV 선택하면 Viewport에서도 선택됨 > 일단 옵션 꺼두기
* UV Editing 좌측 상단 UV Select Mode : Island 클릭하면 클릭할 때 UV Island 단위로 선택 가능 > 통 위 아래 선택한 뒤에 R로 가운데 edge들이 평행하도록 만들기

![](https://velog.velcdn.com/images/biomatrix117/post/d4214412-380d-4bb0-afc7-28f041a470d0/image.png)

## Texturing In Blender & GIMP (Part 3/5)

* UV Editing > UV > Export UV Layout > Barrel\_UV로 명명하고 Size는 2048x2048로 바꾸고 Export > GIMP로 열기
* Layer 'Walls'를 만들고 Barrel\_UV 레이어 아래로 > Barrel\_UV 레이어 선택하고 Fuzzy Select(마법봉) 클릭 > 임계값 조절하여 UV Island 전체 선택 > 우클 > Select > Grow > 10px > Walls 레이어 선택 > Bucket Fill Tool > Foreground Color를 나무 색깔로 바꾸기 > Walls Layer에 색칠 > 다른 곳도 동일하게 선택하고 늘이고 칠하기 (영역 겹치지 않게 늘이기 조절, Ctrl+Shift+A로 선택 해제)
* Layer 'BG' 만들고 맨 아래에 두기 > Barrel\_UV 안 보이게 하고 > BG 레이어에 살짝 밝은 색 칠하기
* File > Save as > Barrel\_Albedo.xcf로 GIMP 형식으로 먼저 저장 > File > Export as > Barrel\_Albedo.png
* Blender로 가서 머테리얼의 Base Color에 Barrel\_Albedo.png 선택 > UV Editing에도 Texture 적용 > Image를 바꾸면 텍스쳐도 바뀌게 된다
* GIMP로 가서 Metal 레이어 만들기 > Barrel\_UV 보이게 하기 > 사각 선택 툴로 금속이 될 부분 선택 > 회색으로 칠하기 > Metal\_Top과 Metal\_Bottom 레이어로 각각 나누어 칠하기 > Barrel\_UV 안 보이게 하기 > File > Export To Barrel\_Albedo.png
* Blender로 가서 Alt+R하면 텍스쳐 업데이트됨
* GIMP로 가서 경로 선택 툴 선택 > Barrel\_UV 레이어 표시 > UV Map 경계에 맞게 일진석 긋기 > 우측 메뉴에서 경로 메뉴 > Unnamed 선택 > 복제 > Alt+좌클릭으로 경로를 다음 선에 이동시키기 > 반복하여 모든 세로 선에 경로 위치시키기 > 경로 메뉴 우클 > Merge Visible Paths > Walls\_Highlight 명명
* 경로 하나 클릭하여 선택 (모든 동그라미들이 하얀색으로 채우기) > 레이어 탭으로 가기 > Walls 레이어 위, Metal 레이어 아래에 Walls\_Highlight 레이어 만들기 > Barrel\_UV 레이어 안 보이게 하기 > 더 밝은 나무 색깔 선택 (모니터 위에 스포이드 있는 아이콘으로 컬러 피킹) > Walls\_Highlight 레이어 선택 > 좌측 메뉴 Stroke Path (경로 따라 그리기) > 선 너비 20px > 선(Stroke)

> **Alt+R 누르면 나오는 Nvidia 성능 오버레이 끄기**\
> 설정 > HUD 레이아웃 > 성능 > 끄기

![](https://velog.velcdn.com/images/biomatrix117/post/34fb8c9b-55b8-4f64-a9a1-5d9d6e905c84/image.png)

* 다시 경로 선택 > Walls\_Shadow 레이어 생성 > 더 어두운 나무 색깔 고르기 > Stroke Path(경로 따라 그리기) > 10px > 텍스쳐를 더 잘 보려면 경로 탭 가서 경로 안 보이게 하고 Move Tool 선택
* 위랑 아래에도 같은 작업 해주기 시작 > GIMP로 돌아오기 > Barrel\_UV 보이게 하기 > 통 위랑 아래에도 경로 그리기 (이전 경로 선택 취소하려면 다른 도구 선택했다가 오기) > Shift+좌클로 새 경로점 생성 > 모든 선들에 대해 경로 생성하기 > 경로 탭 가서 새 경로에 Top\_Highlight 명명 > 레이어 탭 가서 Top\_Highlight 레이어 생성 > 다른 UV Island에도 반복
* Bottom Highlight, Shadow는 Top Layer 복사 > 이름 바꾸기 > Move Tool > 현재 레이어 이동
* 레이어 그룹 만들어서 Top, Bottom 등 정리 > Top, Bottom에 가로축용 Highlight도 더 추가 > 시작하고 끝 이어서 원 만들려면 마지막에 Ctrl+좌클로 이어주기 < Lid에 옆 선 만들 땐 대충 선 추가하고 기존 점에 비슷하게 위치시키기
* 블랜더로 돌아가서 Material Roughness 0.8
* GIMP로 돌아가서 텍스트 추가
* Walls 레이어 우클 > 알파를 선택 영역으로 > Dirt 레이어 추가 > Grunge 01 브러시로 흙 느낌 칠하기 > 적당히 지워주고 투명도 조절
* 텍스트 레이어 선택 > 우클 > 레이어 마스크 추가 > 브러시 색깔 검은색 설정 > 텍스트에 칠해서 칠 벗겨진 느낌 주기
* Metal과 Walls 사이에도 Dirt 칠해주면 디테일 증가
* Metal scratch 추가해주기 > 경로로 사각형 만들기 > 밝은 색으로 경로 따라 그리기 > 레이어 하나 새로 만들기 > 어두운 색으로 Fill Path

![](https://velog.velcdn.com/images/biomatrix117/post/0ed6a87a-8b06-47d7-98b1-dbab12cd1be1/image.png)

![](https://velog.velcdn.com/images/biomatrix117/post/a5d0ac7f-a743-43b2-955a-461df5c7443b/image.png)

* Blender로 돌아가기 > WorkSpace에서 Layout 선택 > Viewport Shading 변경 > Shift+A > Light > Sun > Plane 추가해서 그림자도 확인 > Intensity 올리기 > Transform에서 각도 조절 > Angle 조절하면 그림자 흐려짐 > World Property > Color 조절

![](https://velog.velcdn.com/images/biomatrix117/post/e9dc5fb3-5fe5-46c3-865c-923e6cd2a10d/image.png)

## Exporting from Blender to Unity (Part 4/5)

* 추가했던 Sun과 Plane 삭제
* Layout workspace 선택 > 우측 상단 Viewport 옵션에서 Material Preivew 선택 > 오브젝트 이름을 Barrel로 바꾸기 (유니티에서 사용될 이름) > 오브젝트 자식도 Barrel로 명명 > Material 탭 가서 Material 이름도 Barrel로 바꾸기
* N > Item 탭 > Location과 Rotation이 0,0,0이고 Scale이 1,1,1인지 확인 > Alt+G로 Location reset 가능 > Alt+R로 Rotation reset 가능
* File 메뉴 > Export > FBX (.fbx) > Selected Objects 옵션 선택하면 선택된 오브젝트만 export > Apply Transform 옵션 선택해서 유니티에서 원치 않는 회전이 일어나지 않게
* 유니티 열기 > Meshes, Textures, Materials 폴더 만들기 > Textures 폴더에 Barrel\_Albedo.png 넣기 > Meshes 폴더에 Barrel.fbx 넣기 > Barrel 선택하고 Model 탭 > 앞에 Import 붙은 옵션들 끄기 (안 꺼도 되긴 함) > lightmap을 bake할거면 Generate Lightmap UVs 옵션 켜기 > apply
* Rig 탭 > Animation Type > None > Animation 탭 > Import Animation 끄기 > apply > Materials 탭 > Material Creation Mode > None (Barrel Material 직접 만들거라)
* Barrel fbx 씬 뷰로 옮겨넣기 > 오브젝트 선택하고 F > Ambient Shadow가 완전히 검은색이므로 고쳐야 함 > Window > Rendering > Lighting > Scene > Lighting Settings > New > 생겨난 Lighting Setting은 Scenes 폴더에 옮겨넣는다 > Generate Lighting
* 조명이 너무 밝다면 Edit > Project Settings > Player > Other Settings > Color Space > Linear
* Material 폴더에 Barrel\_Mat 만들기 > 머테리얼 설정 조정 (아는 거라 생략)
* Plane 만들기 > Directional Light > (영상에선 Light > Shadow Type > Normal Bias를 직접 조정했지만, Unity 6에선 Bias가 Use settings from Render Pipeline Asset으로 돼있음. 안 건드리고 넘어감)
* 카메라 선택하고 Ctrl + Shift + F 누르면 카메라가 현재 씬뷰에서 보고 있는 시선대로 정렬됨
* Rigidbody 추가하고 이제 Collider를 추가해야 하는데, Mesh대로 콜라이더를 적용시키기 위해선 Blender에서의 작업이 필요함

![](https://velog.velcdn.com/images/biomatrix117/post/98650f5e-c71e-4223-bad0-a0c587a415e8/image.png)

* Blender로 돌아가기 > Shift + D로 복사 > 우클릭으로 기본 위치에 위치시키기 > 기존 Barrel 안 보이게 하기 > 복사한 Barrel을 Barrel\_Collider로 명명 (자식에 있는 Data도 이름 바꿔주는거 잊지 말기) > 머테리얼 삭제 > (Data 탭 > Auto Smooth 해제 해야 하는데 블랜더 버전 올라가서 없음. 강의에서 auto smooth 끈 결과 보니까 내가 이전에 auto smooth 했다고 생각한게 사실 적용 안된거였는듯) > 우클 > Shade Flat (optional) > UV Maps 속성에서 UVMap 삭제
* Tab > A > 좌측 상단 Edge Select 모드 > 우클 > Clear Seam > 우클 > Clear Sharp
  * 콜라이더 생성에 불필요한 엣지들 제거한 것
* Alt+A > 뚜껑에 대고 L > X > Vertices > Alt+좌클로 통 금속 edge loop 선택 > Sfhit+Alt+좌클로 여러 개 선택 > X > Edge Loops > 매끈해질 때까지 반복
  * 콜라이더 생성에 불필요한 폴리곤 제거
* Ctrl+A > Rotation & Scale로 Rotation과 Scale이 000 111인지 확인 > File > Export > FBX > Selected Objects와 Apply Transform 활성화 > Barrel\_Collider로 명명하고 export
* Unity로 돌아오기 > Meshes 폴더에 Barrel\_Collider.fbx import > Model 탭 > Normals > None > apply (이렇게 하면 vertices가 줄어듦. blender에서 shade flat 대신 shade smooth로 메시를 설정해도 똑같은 효과) > Import 붙은 옵션들 다 끄고 apply > Animation 탭에서 Import 끄고 apply > Materials 탭에서 Material Creation Mode None으로 설정하고 apply
* 아까 만들었던 Barrel 오브젝트 선택 > Mesh Collider 추가 > Mesh에 Barrel\_Collider 적용 > Convex 선택 (다른 매시 콜라이더와 충돌 가능) > play해보면 plane에 착지하는거 볼 수 있음 > Prefabs 폴더 만들고 barrel을 prefab으로 만들어놓기 > 오브젝트 지우고 대신 프리팹 넣기 > 씬뷰 좌측 상단 Toggle Tool Handle Position을 Pivot으로 바꾸면 중심점 기준으로 이동시킬 수 있음
  * Convex는 콜라이더를 볼록 다면체(Convex Hull) 형태로 변경하는 옵션입니다.
  * 메쉬가 오목한 형태(Concave)라면 이를 무시하고 가장 단순한 볼록 형태로 충돌 처리를 계산합니다
  * Convex 옵션이 활성화된 상태에서만 Mesh Collider를 RigidBody와 함께 사용할 수 있습니다.
  * 이는 Unity에서 충돌 계산 시 안정성을 보장하기 위해 강제됩니다.
* Lighting > Environment > Environment Lighting > Source > Color > 원하는 밝은 색으로 바꾸기 > Directional Light 선택 > Intensity 1.2 > Realtime Shadows > Strength 0.9 > Renderer 애셋에서 Ambient Occlusion 추가 > 나머지 Post processing 설정은 버전이 달라져서 그냥 패스

![](https://velog.velcdn.com/images/biomatrix117/post/41fa0878-95a6-48f9-8f63-4edb3754c9fd/image.png)

## Creating LOD In Blender & Unity (Part 5/5)

* Blender > Barrel\_Collider 숨기기 > Barrel 보이게 하기 > Barrel 선택 > Shift + D > 우클 > 상단 Snapping > Grid > G > X > Ctrl 누르며 이동하면 그리드에 맞춰서 이동 > 좌클로 confirm
* L로 뚜껑 선택 > X > Vertices > Alt 클릭으로 edge loop 선택하고 X로 edge loop도 삭제 > 밑면도 같은 작업

![](https://velog.velcdn.com/images/biomatrix117/post/13a5b0fa-775f-40cd-b1a0-46aba4536d41/image.png)

> 해당 모델 vertis 및 faces 정보 표시\
> Edit > Preferences > Interface > Status Bar > Scene Statistics 체크\
> 그냥 나오는 정보는 씬 전체 오브젝트에 대한 정보. Edit 모드를 들어가야 해당 오브젝트에 대한 정보가 표시됨.

* Barrel\_LOD0,1,2로 명명 (\_LOD0 이런 식으로 명명하면 유니티에서 import할 때 자동으로 LOD Group으로 만들어 줌) (Data들도 이름 바꿔주는 거 잊지 말기)
* Hierarchy > A > Alt + G > Rotation과 Scale 000 111 확인 > Barrel\_Collider 오브젝트 빼고 LOD 3종 오브젝트 선택 > export > Barrel.fbx로 예전 거 대체
* Unity로 돌아오기 > 기존 오브젝트들 다 삭제 > 프리팹도 삭제 > 매시도 삭제 > 새 LOD 오브젝트 import > Inspector에서 필요 없는 설정 끄기 > 모든 LOD 오브젝트 선택 > Material 적용
* Barrel 부모 오브젝트에 Rigidbody, Collider 추가
* LOD 변경이 너무 티나니까 LOD Group에서 거리 설정 변경

![](https://velog.velcdn.com/images/biomatrix117/post/0d203751-82eb-4d35-bcdf-a3cc6e779301/image.png)

최적화 팁\
: 지금 import한 texture의 resolution은 2048x2048(2k)인데, Max Size를 1024(1K)로 줄이면 퀄리티의 차이는 거의 없으면서 용량은 줄어든다


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://lazyartisan.gitbook.io/note/main-page/courses/lmhpoly-game-asset-beginner-tutorial.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
