목록엔진스터디 (14)
그냥 게임개발자

- 볼륨이란? - 라이트매스 볼륨 사용 - 컬 디스턴스 볼륨 사용 볼륨 사용에 대해 알아보기 전에 볼륨이란 무엇일까? 볼륨이란 언리얼에 배치에 다양한 일을 수행할 수 있는 특정한 액터이다. 플레이어가 갈 수 있는 곳과 갈 수 없는 곳을 결정하는 것부터 사운드 리버브 방식까지 언리얼의 기능상 상호작용할 수 있는 많은 요소가 사실 볼륨으로 제어가 된다. 볼륨은 아무렇게나 원하는 것을 레벨에 배치할 수 있다. 이번 포스트에서는 라이트 매스 볼륨과 컬 디스턴스 볼륨만 다룰 텐데 이 두가지 볼륨만 가지고도 언리얼에서 엄청나게 다양한 것을 할 수 있다. 라이트 매스 볼륨은 시뮬레이션의 경계를 정하여 라이트 매스가 계산할 가장 큰 영역과 작은 영역을 결정한다. 라이트매스 볼륨을 레벨에 두지 않으면 결국 라이트를 전혀..

라이팅 모빌리티 타입에는 3가지가 있다. Static, Stationary, Movable이다. 각 모빌리티 유형에는 라이팅의 성능 면에서 서로 다른 기능이 있다. Static 스태틱이 가장 저렴하고, 씬에서 아무것도 하지 못하는 라이팅을 의미한다. 라이팅이 게임 시작 전에 구워져서 형태나 모양을 전혀 바꿀 수가 없다. 정말 퀄리티 있게 보이면서 정말 빠르게 시작된다. Stationary 스테이셔너리 라이트는 씬과 상호작용을 할 수 있어 이 라이트로 인해 생기는 섀도는 움직이는 오브젝트가 해당 섀도와 어우러지게 해 준다. 하지만 스테이셔너리 라이트는 비용이 살짝 비싸다. 그 이유는 런타임에서 스테이셔너리 라이트의 라이팅 색상과 강도를 실제로 바꿀 수 있기 때문이다. 하지만 라이팅을 움직이지는 못한다. M..

■텍스처 스트리밍 앞으로 많은 양의 텍스처를 다룰 때 특히 건축 시각화 프로젝트나 차량 프로젝트에서 텍스처가 좀 흐려지는 상황이 발생할 수있다. 디테일이 제대로 표시되지 않고 있다는 건데 그 이유는 제대로 스트리밍이 되고 있지 않기 때문이다. 일반적으로는 이런 걸 처리할 필요가 없지만 만약에 이런 일이 발생할 때 알아두면 좋은 정보이다. 스트리밍은 기본적으로 텍스처가 얼마나 크거나 작게 보일지 처리한다. 전에 밉맵을 다뤘는데 밉맵은 레벨 오브 디테일(LOD)를 추가하는 효과적인 수단이었다. 밉맵은 텍스처와 정확히 똑같은 버전이지만 그냥 다른 LOD를 살짝 작은걸로 보여주므로, 리소스의 비용이 더 적다. 텍스처 스트리밍은 이처럼 레벨의 오브젝트와 카메라의 거리에 따라 서로 다른 LOD를 스트리밍하는 것을 ..

- 부모 / 마스터 머티리얼과 그 자손 - 머티리얼 인스턴스를 생성 및 사용 - 부모 머티리얼 함수 기능의 재정의(오버라이드) 머티리얼 부모가 R, G, B를 다 사용할 수 있다면 자식들도 R, G, B를 사용할 수 있다. 즉, 이 말은 부모가 할 수 있으면 자손도 할 수 있고 부모가 할 수 없으면 자손도 할 수 없다. ■ 머티리얼 인스턴스 제작 머티리얼 인스턴스를 생성하는 것은 굉장히 쉽다. 콘텐츠 브라우저에서 머티리얼 인스턴스를 생성할 머티리얼을 오른쪽 클릭 후 맨 위에 머티리얼 인스턴스 생성을 누르면 된다. 또는 그냥 아무 빈칸에 오른쪽 버튼을 누른 후 머티리얼 & 텍스처 > 머티리얼 인스턴스로 생성할 수 있다. 나는 MAT_ENV_Master를 머티리얼 인스턴스를 생성했다. 보면 디테일 패널에 여..

머티리얼 함수란? 머티리얼 간에 셰이더 코드를 공유하는 수단이다. 정확히 말하자면 특정 머티리얼 셰이더 코드를 공유할 수 있게 해주는 것이다. 하지만 Ctrl+C, Ctrl+V로 그냥 붙여 넣어서 일일이 손수 할 필요 없이 머티리얼 함수에 딱 하나만 조정해서 적용을 눌러주면 해당 머티리얼 함수를 사용하는 모든 머티리얼에 변경사항이 업데이트가 된다. 일단 머티리얼 함수를 만들어보자. 콘텐츠 브라우저 > 머티리얼 & 텍스처 > 머티리얼 함수 머티리얼 함수를 만들었으니 구성을 해보자. 전에 우리가 만든 두 개의 머티리얼을 서로 공유할 수 있는 간단한 텍스처 타일링을 하나 만들 거다. 이런 작업을 하는 이유는 타일링을 동일하게 유지시켜야 하기 때문이다. 지금 사용 중인 어느 머티리얼에든 벽을 타일링 하더라도 컨..

- 오브젝트 환경에 대한 마스터 머티리얼 설정 - 유리에 대한 마스터 머티리얼 설정 - 머티리얼 함수 생성 및 사용 새 머티리얼 생성 콘텐츠 브라우저 > 오른쪽 클릭 > 머티리얼 선택 이제 머티리얼에 색을 추가해보자 머티리얼 에디터 > 우클릭 > Vector 검색 > Vector Parameter선택 벡터 파라미터의 이름을 Base_Color라 짓고 그룹에 BaseColor그룹을 만들었다. 이제 Base_Color 출력을 베이스 컬러에 연결한 후 R, G, B의 값을 0.5로 맞추어 살짝 하얀색으로 만들어준다. 다음 콘텐츠 브라우저에서 내가 사용할 텍스처를 누른 뒤 머티리얼 에디터에 T키를 눌러 에디터를 클릭하면 내가 선택한 텍스처로 Texture Sample 노드를 만들어낸다. 이대로 사용할 수도 있지..

■PBR PBR은 Physical Based Rendering 즉 물리 기반 렌더링의 약자이다. 물리 기반 렌더링이란? 빛의 실제 작용을 추적하는 것 PBR을 사용하면 물리 기반의 머티리얼이 모든 라이팅 시나리오에서 똑같이 잘 작동한다는 점이다. 머티리얼이 스튜디오 안의 밝은 빛 아래에서 보이든 바깥에서 보이든 물 속에서 보이든 우주 밖에서 보이든 상관없이 라이팅에 정확히 똑같은 방식으로 반으한다. 즉, 특정한 오브젝트가 보이는 라이팅 시나리오 별로 머티리얼 또는 텍스처를 다양한 버전으로 만들 필요가 없다는 뜻이다. 또한 머티리얼도 평소처럼 복잡해질 필요가 없다. 원래 필요했던 머티리얼 인스트럭션 수를 많이 간소화할 수 있다. 또한 사용하는 머티리얼 값은 훨씬 덜 복잡하고 상호 의존적이라 결과적으로 아티..

■스태틱 메시 익스포트 언리얼 엔진은 스태틱과 스케레탈 메시는 FBX 파일 포맷을 사용한다. 여기에는 애니메이션 도 포함 FBX는 다음 유형의 데이터를 포함할 수 있는데 기본 머티리얼 데이터와 함께 스태틱 메시 데이터를 또 기본 머티리얼 데이터와 함께 스킨을 입힌 메시 데이터를 포함할 수 있으며, LOD 데이터와 기반 애니메이션 데이터가 포함되어 있다. FBX는 익스포트 할 수 있는 주요 포맷이다. 3dmax에서 FBX를 익스포트 할 때 smoothing Groups, Triangulate, Preserve Edge Orientation을 꼭 체크해주셔야 하고 Animation, Deformations, Skins는 선택사항이다. 그다음에 그냥 노멀로 임포트 하면 된다. 보통 노멀로 임포트 하면 되지만 ..