TECHARTNOMAD | TECHARTFLOWIO.COM

UNREAL ENGINE 29

[알쓸신잡] Shader Define Keyword 와 Custom Expression.

뭐 당연히 알거라고 생각하지만 생각보다 구글이건 어디건 검색해도 ...아니면 애픽 문서에도 모호하거나 누락 되어 있는 것 같아서 잠깐 남겨 봅니다.원래는 CVars 로 Custom_Shader_Enable 뭐 이렇게 엔진에 추가를 하던 와중에... Custom Expression 에서 Pre-Defien 은 어떻게 동작하는지 잠깐 알고 싶어서였고 그래서 뭐 이렇게 적는 거 같습니다.여기서는 간단하게 살펴볼 심산이라...머트리얼 에디터의 Custom Expression 과 셰이더 소스의 MaterialTemplate 정도를 가지고 이야기 해 볼겁니다.저는 라이더를 쓰고 있으니 파일 찾기로 materialtemplate 을 찾아 보죠.MaterialTemplate.ush 가 있네요. 자 이걸 일단 열어봅시다..

UNREAL ENGINE 2025.03.01

TAutoConsoleVariable 와 FAutoConsoleVariableRef

TAutoConsoleVariable와 FAutoConsoleVariableRef는 언리얼 엔진에서 **콘솔 변수(Console Variables, CVars)**를 선언하고 활용하기 위한 두 가지 주요 클래스입니다. 두 가지 모두 개발 중 혹은 디버그 목적으로 사용되며, 서로 다른 방식으로 콘솔 변수를 다루는 데 사용됩니다.1. TAutoConsoleVariableTAutoConsoleVariable은 콘솔 변수를 직접 선언하고 관리하기 위한 템플릿 클래스입니다. 선언된 콘솔 변수는 게임 실행 중 직접 값을 설정하거나 확인할 수 있으며, 데이터 타입에 따라 다양한 설정을 지원합니다.주요 특징직접적으로 변수의 값을 저장하고 관리합니다.템플릿 형식으로 제공되며, 변수를 정적으로 선언하여 사용할 수 있습니다..

UNREAL ENGINE 2025.02.26

VIEW_UNIFORM_BUFFER_MEMBER 와 VIEW_UNIFORM_BUFFER_MEMBER_PER_VIEW

요즘 뭐 좀 하는게 있어서.... 지하철 독서용으로 기록 해 봅니다.VIEW_UNIFORM_BUFFER_MEMBER와 VIEW_UNIFORM_BUFFER_MEMBER_PER_VIEW는 언리얼 엔진의 쉐이더 기반 렌더링에서 뷰 관련 유니폼 버퍼 멤버 정의를 처리하는 매크로입니다. 이들은 주로 렌더링 파이프라인 중 버퍼 구조체와 뷰 데이터를 정의하는 데 사용됩니다.1. VIEW_UNIFORM_BUFFER_MEMBER이 매크로는 하나의 뷰에 대한 특정 데이터를 유니폼 버퍼 멤버에 추가할 때 사용됩니다. 즉, 하나의 뷰 데이터를 정의할 경우 사용됩니다.정의#define VIEW_UNIFORM_BUFFER_MEMBER(MemberType, MemberName)MemberType: 멤버의 데이터 타입 (예: uin..

UNREAL ENGINE 2025.02.26

!! 연산자

const bool bFoliageDiscardOnLoad = !!CVarFoliageDiscardDataOnLoad.GetValueOnGameThread();위 코드에서 !! 연산자가 있다는 걸 알 수 있죠.이걸 리펙토링 하면.const bool bShouldDiscardFoliageDataOnLoad = CVarFoliageDiscardDataOnLoad.GetValueOnGameThread() != 0;이것과 같습니다.변수 이름 변경 (Renaming): bFoliageDiscardOnLoad를 bShouldDiscardFoliageDataOnLoad로 변경하여 변수의 역할을 더 잘 표현.문법 단순화: !! 연산자를 제거하고 GetValueOnGameThread() 메서드가 반환하는 값을 명시적으로..

UNREAL ENGINE 2025.02.19

World Partition-> Runtime Partition

UE5의 새로운 레벨 분할 기술은 런타임에서 그 장점이 두드러집니다.레벨의 정적 오브젝트들은 레벨 시작 시 단 한 번만 계산되어 메모리에 저장되므로, 이전의 Bake 방식과 비교해도 게임 실행 중 성능 부담이 발생하지 않습니다.또한 에디터(Editor)에서 오브젝트와 스트리밍 레벨 간의 관계(진입/이탈)를 일일이 처리할 필요가 없어져 오픈 월드 씬 편집이 한결 수월해졌습니다.관련 설정World Partition SetupRuntime Hash ClassWorldPartitionRuntimeHashSet와 WorldPartitionRuntimeSpatialHash는 언리얼 엔진의 World Partition 시스템에서 사용되는 두 가지 런타임 해싱 전략입니다. 각각의 차이점을 살펴보겠습니다.1. World..

UNREAL ENGINE 2025.02.17

모바일 셰이더 구조 분석 및 정리.1

MobileBasePassPixelShader.usfMobileLightingCommon.ush는 언리얼 엔진의 모바일 쉐이딩 파이프라인에서 가장 핵심이 되는 쉐이더 코드 파일이다. 이 파일은 모바일 플랫폼에서 최적의 성능을 발휘하기 위해 정교하게 설계된 조명 계산 시스템과 효율적인 렌더링 파이프라인을 체계적으로 구현한다. 이어지는 내용에서 이 파일의 구조와 주요 기능을 상세히 분석해보도록 한다.1. 파일 개요MobileLightingCommon.ush는 모바일 환경에 특화된 핵심적인 조명 계산 기능을 제공하는 통합 쉐이더 파일이다. 이 파일은 Main 함수를 중심으로 다양한 조명 함수들과 최적화된 데이터 구조를 정의하고 있으며, 이를 통해 모바일 디바이스에서도 효율적이면서 시각적으로 뛰어난 조명 처리를..

UNREAL ENGINE 2025.02.05

Actor Cluster Created 에 대하여...

언리얼 엔진의 Actor Clustering Enabled 에 대해서 살펴 보면...주요 특징액터 그룹화:서로 가깝거나 관련된 액터들을 하나의 클러스터로 묶습니다.묶인 클러스터는 스트리밍이나 렌더링 시 하나의 단위로 취급됩니다.레벨 스트리밍 최적화:클러스터 단위로 액터를 로드하거나 언로드하여, 씬의 메모리 사용량과 성능을 최적화합니다.필요한 지역(클러스터)만 활성화하므로 대규모 월드에서 성능 병목을 줄이는 데 도움을 줍니다.렌더링 효율성:묶인 액터들이 동일한 조건에서 평가되기 때문에, LOD(레벨 오브 디테일) 및 Occlusion Culling(차폐 제거) 같은 최적화가 더 효과적으로 수행됩니다.자동 클러스터링:Unreal Engine은 클러스터링을 자동으로 수행하며, 위치와 관계를 기반으로 액터를 클..

UNREAL ENGINE 2025.01.21

.uexp와 .ubulk 파일의 정의와 역할

.uexp와 .ubulk 파일의 정의와 역할언리얼 엔진에서 텍스처를 쿠킹(Cooking)하면 .uexp와 .ubulk 파일이 생성됩니다. 이 파일들은 각각 텍스처 데이터와 관련된 정보를 저장하며, 최적화된 리소스 로딩과 관리를 위해 사용됩니다..uexp 파일정의 및 역할.uexp는 Unreal Export 파일의 약자로, 주로 텍스처와 같은 리소스의 데이터와 메타정보를 저장합니다. 이 파일은 .uasset 파일과 함께 작동하며, 텍스처의 압축 설정이나 Mip Map 레벨과 같은 추가적인 데이터가 포함됩니다.주요 내용 머티리얼과 텍스처 설정 정보: 텍스처의 압축 형식(예: DXT, BC7, ASTC). 필터링 방식(예: Bilinear, Trilinear). 텍스처의 Wrap Mod..

UNREAL ENGINE 2025.01.04

[번역] Using physical lighting units with Enlighten and UE4

Original topic by Silicon Studio Japan at 2019. Additional extra declaring by JPLee at 2021.물리적 기반 렌더링 (https://en.wikipedia.org/wiki/Physically_based_rendering)은 게임 개발의 표준 기술이 되었습니다. Roughness 및 Metallic과 같은 물리적 매개 변수를 기반으로 재질을 만드는 간단한 방법을 제공하며 다른 조명 조건에서 보기 좋게 보이도록 수정할 필요가 없습니다.광원에 대한 유사한 물리적 기반 접근 방식은 아직은 보편적이지 않습니다.하지만 이러한 물리적 기반 접근 방식이 없으면 아티스트는 임의의 밝기와 노출 값을 선택하고 "올바르게 보일 때까지"조정해야 합니다.사진에서..

UNREAL ENGINE 2024.11.06