TECHARTNOMAD | TECHARTFLOWIO.COM

TechArt 35

【INDEX】 OPEN WORLD DEV.

[번역] Unreal Engine 5 Open World Production역자의 말. 이틀 전에 이어서 추가로 괜찮은 토픽이 있어서 공유 해 봅니다. 중국어는 글을 읽는 수준이 제가 좋지 않기 때문에 번역기의 도움을 받은 후 음성으로 다시 듣고 어색한 곳은 교정을techartnomad.tistory.com  Runtime Partition" data-og-description="UE5의 새로운 레벨 분할 기술은 런타임에서 그 장점이 두드러집니다.레벨의 정적 오브젝트들은 레벨 시작 시 단 한 번만 계산되어 메모리에 저장되므로, 이전의 Bake 방식과 비교해도 게임 실행 " data-og-host="techartnomad.tistory.com" data-og-source-url="https://techar..

INDEX 2025.03.16

바인딩(Binding)과 바이닝(Binning)

그래픽스 프로그래밍을 공부하다 보면 "바인딩(Binding)"과 "바이닝(Binning)"이라는 용어를 접하게 된다. 두 용어는 비슷한 발음 때문에 혼동될 수 있지만, 의미하는 개념은 전혀 다르다. 이번 글에서는 이 두 용어의 차이점과 각각의 역할을 명확히 정리해보겠다.1. 바인딩(Binding) – GPU 리소스를 연결하는 과정바인딩(Binding)이란, 특정 리소스를 GPU에 연결(연동)하여 사용할 준비를 하는 과정을 의미한다. 그래픽스 API(OpenGL, Vulkan, DirectX 등)에서 셰이더, 텍스처, VBO(Vertex Buffer Object), 프레임버퍼 등을 사용할 때 반드시 필요한 단계로, GPU가 특정 데이터를 인식하고 활용할 수 있도록 지정하는 역할을 한다.예를 들어, Open..

9장. 핵심정리 중 멀티패스와 버텍스

9.9 핵심 정리셀 셰이딩 학습 과정을 잘 마무리 한 것을 축하드린다. 이제 전체 과정을 명료하게 복기 하면서 핵심정리 하는 시간이다.9.9.1 멀티패스와 Vertex 그리고 Vertex buffer object아웃라인 렌더링을 위해 멀티머티리얼과 멀티패스 모두 활용해 봤다.자 그럼 멀티패스를 활용하거나 멀티머티리얼을 활용했을 때 버텍스 수량은 어떻게 증가하고 버텍스 버퍼 오브젝트는 어떤 식으로 증가하는지도 알고 넘어가자. 패스 수량 버텍스 증가량 VBO 사용 방식 GPU 부하 단일 패스 (No Outline)1배 (기본 버텍스 수)1개 VBO낮음멀티패스 (기본 + 버텍스 오프셋 방식)2배동일한 VBO 재사용보통멀티패스 렌더링을 사용할 경우 패스 수만큼 버텍스 수량이 증가하지만, 일반적으로 동일한 ..

FAndroidMisc 클래스

클라이언트팀(특히 UI)에서는 이미 잘 알고 사용하고 있겠지만 테크아트 부서에서는 잘 다룰 일이 없는 클래스입니다.그럼에도 최근 AOS 빌드 관련 업무를 주도적으로 처리 하고 있기 때문이기도 하고 구글에서 제공하는 안드로이드 적응형 퍼포먼스 제어 플러그인으로 알려진 ADPF 내부 구조를 분석하고 커스터마이징을 하는 과정에 들어가야 했었기 때문에 AndroidMisc 클래스에서는 어떤 것들을 제공하는지 알고 싶었습니다. ADPF 의 핵심은 사실 열 공간에 대한 런타임 모니터링이 가장 핵심이고 열 공간 빈드에 따라 간단한 분기문을 통해 언리얼 모바일 렌더피처를 동적으로 수정해 주는 것이 전체 메커니즘의 전부라고 볼 수 있어요. ADPF 에 대해서도 따로 살펴 볼 기회가 있겠지만 먼저 몇 가지 언리얼엔진 내부..

UNREAL ENGINE 2025.03.14

내장 셰이더 벡터 파라메터

enum BuiltinShaderVectorParam{...};에서 포함하고 있는 벡터 파라메터.조명 관련 파라미터:kShaderVecLight[0-7]Diffuse: 각 조명의 확산광 색상kShaderVecLight[0-7]Position: 각 조명의 위치kShaderVecLight[0-7]SpotDirection: 스팟라이트의 방향kShaderVecLight[0-7]Atten: 조명의 감쇠 파라미터kShaderVecLightModelAmbient: 전역 주변광 색상kShaderVecLightColor0: 첫 번째 조명의 색상카메라/변환 파라미터:kShaderVecWorldSpaceCameraPos: 카메라의 월드 공간 위치kShaderVecWorldTransformParams: 월드 변환 파라미터kS..

UNITY3D 2025.03.03

Cursor AI IDE 와 UNITY3D 연동하여 개발하기.

주로 Rider 를 사용하고 있습니다만... ( 거의 10년 동안 ) Cursor AI 도 가끔 사용하고 있습니다. 유니티 엔진 소스코드 내부를 살펴보거나 할 때 왠지 Cursor AI 를 쓰고 있더라고요... (제가... )그래서 웹서핑을 하던 중 UNITY3D 와 Cursor AI 를 연동하여 개발하는 분들도 있나? 싶었느데 유니티 패키지가 이미 나와있었습니다. 다른 블로그에 정리 된 것도 있지만 뭐 테크아트노마드 블로그 자체가 저를 위한 메모장 기능도 하고 있다보니 링크 보다는 제가 따라 한번 작성해서 기록 해 놔야겠다 싶었습니다.준비물Cursor AI 편집기Visual Studio Code 편집기유니티용 Cursor AI 연동 패키지 ( git 패키지 타입 )이렇게 3가지가 필요합니다.유니티용 C..

UNITY3D 2025.03.02

[알쓸신잡] 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

World Partition-> Runtime Partition

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

UNREAL ENGINE 2025.02.17