Landscape 레벨 생성
액터 배치
DirectionalLight 추가
SkyAtmosphere 추가
랜드스케이프 모드로 변경
* 지형을 구성하고 있는 것에서 제일 작은 사각형 하나를 쿼드라고 부른다.
* 멀리서 보면 조금 더 두꺼운 사각형을 섹션이라 부른다
* 섹션들이 모여서 컴포넌트가 된다
https://docs.unrealengine.com/5.0/ko/landscape-technical-guide-in-unreal-engine/
랜드스케이프 테크니컬 가이드
랜드스케이프 야외 터레인의 구성 및 치수에 관해 알아봅니다.
docs.unrealengine.com
https://ansohxxn.github.io/ue4%20lesson%203/ch2-1/
Ch2-1. 지형과 식물 : 랜드스케이프 - 지형 생성(섹션, 컴포넌트)
인프런에 있는 배틀로얄 게임을 만들어보며 배우는 언리얼 게임 개발 강의를 듣고 정리한 필기입니다. 😀 강의 들으러 가기
ansohxxn.github.io
* 전체 해상도
섹션과 컴포넌트의 수에 따라 결정한다. 즉 전체 지형의 가로 세로의 격자 개수이다.
전체 해상도가 57 X 57 이라는 얘기는 전체 지형의 가로는 격자 57칸, 세로는 격자 57 칸이라는 얘기이다.
여기에 각각 Scale을 곱하면 5700cm X 5700cm 즉 이 지형은 57^2 ㎡ 크기의 지형이라는 얘기다.
MT_Landsccape 생성
- 텍스처 이미지를 3차원 공간의 폴리곤에 입히기 위해 변환 기준이 되는 2차원 좌표계다.
- 좌표값들은 0 ~ 1 사이의 float 값(비율)으로 표현한다.
- 엔진마다 (0,0) 원점의 기준이 다르다. 언리얼의 경우 좌측 상단이 원점이다.
- 3 D 모델을 u, v 이렇게 2 개의 축(0~1)을 가지는 2 차원 그림으로 나타낸 것이라고 생각하면 될 것 같다.
- 지구를 uv 매핑하면 세계 지도가 되고, 정육면체를 uv 매핑하면 전개도가 되듯이.
Multiply 로 0.1 / 0.01 등 곱해서 적용하게 되면 자연스럽게 변한다.
격자 하나하나가 텍스쳐이다.
Layer Blend 는 attributes 로 받는다.
그렇기 때문에 디테일 -> 머티리얼 -> 머티리얼 어트리뷰트 사용 체크
MT_Landscape 의 Layer Blend 노드의 디테일에서 레이어를 추가해주고 이름을 설정해준다.
그러면 랜드스케이프에 레이어가 생성이된다.
레이어에 + 버튼 -> 레이어 인포생성 -> Weight Blended Layer 클릭 -> Landscape 폴더의 LandInfo 에 저장
* 레이어 인포 오브젝트란 랜드스케이프 레이어에 대한 정보가 들어있는 애셋이다.
모든 랜드스케이프 레이어에는 레이어 인포 오브젝트가 할당되어 있지 않고서는 페인트가 불가능하다.
- 레이어 인포 유형
- 1️⃣ 웨이트 블렌딩된 레이어(Weight-Blended)
- 일반적으로 이 유형을 사용한다.
- 레이어 순서에 상관 없이 마지막에 칠한 텍스처가 가장 가중치가 높다고 판단되어 렌더링 된다.
- 웨이트 블렌딩된 레이어는 일반적인 유형의 레이어로 서로 영향을 끼칩니다: 웨이트 블렌딩된 레이어를 칠하면 다른 모든 웨이트 블렌딩된 레이어의 웨이트를 낮춥니다. 예를 들어, 진흙을 칠하면 풀밭이 제거되고, 풀밭을 칠하면 진흙이 제거됩니다.
- 2️⃣ 웨이트 블렌딩 되지 않은 레이어(Non Weight-Blended)
- 포토샵 레이어 같은 유형
- 레이어 순서와 상관 있다. 현재 가장 밑에 있는 레이어는 3 레이어인 Sand 이다. Sand 가 보이려면 위의 3 개의 텍스처는 칠해지지 않아야 한다.
- 웨이트 블렌딩되지 않은 레이어는 서로간에 독립적이어서, 하나를 칠해도 다른 레이어의 웨이트에 영향을 끼치지 않습니다. 좀 더 고급 이펙트에 사용되는데, 이를테면 눈을 다른 레이어에 블렌딩할 때, 풀이냐 진흙이냐 돌이냐 눈이냐 하는 대신, 웨이트 블렌딩되지 않은 눈 레이어를 사용하여 “풀, 진흙, 돌” 과 "눈덮인 풀, 눈덮인 진흙, 눈덮인 돌" 사이를 블렌딩할 수 있습니다.
- 1️⃣ 웨이트 블렌딩된 레이어(Weight-Blended)
https://ansohxxn.github.io/ue4%20lesson%203/ch2-3/
Ch2-3. 지형과 식물 : 랜드스케이프 - 페인트, 머테리얼, UV 좌표, 노말맵, 레이어 인포
인프런에 있는 배틀로얄 게임을 만들어보며 배우는 언리얼 게임 개발 강의를 듣고 정리한 필기입니다. 😀 강의 들으러 가기
ansohxxn.github.io
노말맵
울퉁 불퉁함을 보여주기 위해서 모델 위에 씌여지는 특별한 텍스처 이미지
노말 맵핑 (Normal Mapping)은 폴리곤의 법선 벡터 (Normal Vector)의 값을 사용하여 로우 폴리곤의 그래픽 환경에서 입체감 및 질감을 구현하는 방법이다. 물체의 질감을 폴리곤으로 표현하기엔 연산량을 많이 차지하는데 이걸 텍스쳐로 대신하는 표현해주는 일종의 “눈속임” 기술이다. 물체의 표면에 굴곡이 있을 때 그 굴곡 때문에 표면의 방향이 바뀌고 그 방향에 따라 빛이 다르게 반사되기 때문에 보는 사람이 그 굴곡을 느낄 수 있다. 결국 표면 질감에서 중요한건 진짜 굴곡이 아닌 반사각이기 때문에 3D그래픽으로 물체를 표현할 때 표면을 실제로 굴곡이 있는 형태로 만들지 않고, 평면으로 만들고 그 위에 어떤 각도로 보일지 그려놓으면 하나의 폴리곤으로 굴곡이 있는 표면을 표현할 수 있다.
- 진짜로 모델을 울퉁불둥하게 세밀하게 만들어버리면 폴리곤 수가 너무 많아지고 라이트 연산이 어마어마 할 것이다. 성능도 떨어지게 된다.
- 따라서 폴리곤을 늘리지 않고 텍스처 이미지(노말맵)에 울퉁 불퉁한 정보들을 하나의 2D 그림(노말맵)에 저장해두고 이를 통하여 빛 연산을 계산한다.
- 푸르딩딩한 파란색인 텍스처 맵이다.
- 노말 맵은 울퉁불퉁함 즉, 들어가고 나오고에 대한 정보를 가진다. 따라서 0 ~ 1 의 Z 값을 가진다. (바깥 표면 계산이므로 사실 들어간 부분에 대한 정보는 넣지 않는다. 즉 음수는 없음)
- XYZ 를 RGB 에 대응시키면 Z 는 B 에 대응되어 Z 가 Blue 가 되버린 것 뿐이다.
- -1~1 을 0~255 에 대응시키는데 사실상 음수는 쓰이지 않으므로 대략 127~128 정도부터가 z = 0 에 대응한다.
- 레드 하이라이트가 어느쪽에 생기는지에 따라 노말 X 방향이 어딘지도 알고 그린 하이라이트가 어느 방향으로 생기는지에 따라 노발 Y 방향도 알 수 있다.
- Y 컴포넌트 하이라이트를 뒤집어서 아티스트가 보기 쉽게 해주기도 한다.
높이맵 활용하는 쉐이더 맵핑기법 (POM, Parallax Occlusion Mapping) -> 노말맵핑보다 상위버전 ?
https://online.ts2009.com/mediaWiki/index.php/Parallax_Occlusion_Map
Parallax Occlusion Map - TrainzOnline
Parallax Occlusion Mapping (POM) is a high-end GPU fragment shading technique which effectively adds a true height value to each texel. Normal Mapping In normal mapping, the lighting on each fragment is modified to act as if the surface was oriented in a d
online.ts2009.com
노말맵핑의 단점
-> 가까이서 옆으로 보면 평면인게 티가 난다.
하이트맵이란?
Vertex는 X, Y 이동은 불가능하고 Z 축 위 아래로만 이동이 가능하다.
전체 랜드스케이프의 Vertex 의 Z 축 정보를 Vertex마다 0~255 (알파) 범위의 값으로 저장하여 하나의 그림에 담아 표현한 것을 하이트맵이라고 한다.
즉 하나의 랜드스케이프의 전체적인 높낮이 정보를 담고 있는 2D 그림이다.
하늘에서 수직으로 바라보는듯한 지형의 지도라고 생각하면 된다.
* 하이트맵의 크기는 적용할 랜드스케이프의 전체 해상도와 일치하게 만들어야 한다.
'언리얼 5' 카테고리의 다른 글
231018 물리 엔진 (사운드 재생) / 레벨 스트리밍 (0) | 2023.10.18 |
---|---|
231017 랜드스케이프 (0) | 2023.10.17 |
231013 애니메이션(?) 나이아가라 (0) | 2023.10.13 |
231012 나이아가라 (스프라이트) / 벡터 필드 (0) | 2023.10.12 |
231011 포스트 프로세스 외곽선 효과 / 나이아가라 (0) | 2023.10.11 |