TECHARTNOMAD | TECHARTFLOWIO.COM

ue5 24

[번역]언리얼 엔진 5 카툰 렌더링.앞머리 그림자 구현 방법 (포스트 프로세싱 방식 제외)

저자: 次次先生들어가며명일방주 앤드필드 렌더링을 공부하던 중, 작품의 "앞머리 그림자"가 한 장의 얇은 면(plane)으로 구현된 것을 확인했습니다. 사실 명일방주 앤드필드뿐만 아니라 많은 2D풍 게임들이 같은 방식으로 앞머리 그림자를 만듭니다. 이 글은 그 면을 활용해 고품질의 앞머리 그림자를 구현하는 과정을 정리한 것입니다.최종 결과 미리 보기어떤 각도로 회전하더라도, 그림자는 얼굴과 머리카락의 영역을 벗어나지 않습니다.그림자 색은 투영 뒤에 있는 실제 색을 기준으로 실시간 보정됩니다.접근 개요가장 단순하게는, 앞머리용 반투명 면의 머티리얼에 색과 투명도를 직접 넣을 수 있습니다. 하지만 이렇게 하면 다음과 같은 문제가 발생합니다.그림자가 필요 없는 곳에도 착색되어 어색합니다.피부 위의 그림자와 머리..

TECH.ART.FLOW.IO 2025.11.16

[번역] UE5 Add Custom MeshDrawPass

저자: 搓手苍蝇이 문서는 UE 5.0.3 버전 기준이다. 나중에 시간이 되면 5.1 버전으로 업데이트할 예정.개요UE5에서 네이티브 아웃라인 렌더링을 지원하기 위해, Backface Outline 기반의 MultiPass Draw를 구현하려면 새로운 렌더링 Pass를 추가해야 한다.이 글을 작성하기 전에 인터넷에서 여러 대단한 분들의 관련 글을 찾을 수 있었지만, 대부분 UE4 버전의 코드를 다루고 있어서 UE5에 그대로 적용하면 많은 문제가 발생한다. 그래서 이 글을 노트 삼아 남긴다. 참고한 글들의 저자분들께 감사드린다. 거인의 어깨 위에서 바라보니 정말 편하다.구현된 아웃라인 효과의 특징머티리얼 디테일 패널에서 아웃라인 켜고 끌 수 있다머티리얼 디테일 패널에서 색상을 수동으로 제어할 수 있다 (모델..

TECH.ART.FLOW.IO 2025.11.03

Unreal Engine의 숨겨진 최적화: Roughness 1.0이 만드는 마법

이 글은 메이즈라인 velog 미러 입니다. Unreal Engine의 숨겨진 최적화: Roughness 1.0이 만드는 마법오늘은 제가 언리얼 엔진 소스를 파헤치다가 발견한 흥미로운 최적화 기능과, 그것을 몰라서 같은 기능을 직접 구현하려 했던 뻘짓(?)에 대한 이야기를 들려드리려 합니다.사실 며칠 전까지만velog.io바퀴를 다시 만들 뻔한 이야기오늘은 제가 언리얼 엔진 소스를 파헤치다가 발견한 흥미로운 최적화 기능과, 그것을 몰라서 같은 기능을 직접 구현하려 했던 뻘짓(?)에 대한 이야기를 들려드리려 합니다.사실 며칠 전까지만 해도 저는 모바일 플랫폼에서 TwoSided Foliage 셰이더의 성능을 개선하기 위해 고민하고 있었습니다. "모바일에서는 어차피 반사가 별로 안 보이니까, 강제로 Full..

UNREAL ENGINE 2025.10.28

[번역] 언리얼엔진5 SceneViewExtension을 사용하여 Gbuffer 데이터 수정하기

저자: Levent서론SceneViewExtension에 대해서는 온라인에 이미 많은 소개 자료가 있으므로, 본문에서는 기본 개념을 다시 설명하지 않고 구현 방법과 핵심 아이디어에 중점을 두겠습니다.관심 있는 독자들은 언리얼 엔진의 내장 플러그인을 참고할 수 있습니다.이 플러그인 코드의 대부분을 이해하면 기본적으로 SceneViewExtension을 마스터할 수 있습니다. 저도 초보자이며, 이 글은 주로 개인 노트용으로 작성했지만 비슷한 요구사항을 가진 분들에게 도움이 되길 바랍니다. 오류가 있다면 언제든 지적해 주세요.시작하기SceneViewExtension을 사용하면 플러그인에서 커스텀 Pass를 추가하여 렌더링 파이프라인을 확장할 수 있습니다. 먼저 플러그인을 생성해야 합니다. 시간을 절약하기 위해..

TECH.ART.FLOW.IO 2025.10.14

[번역][연재물] 언리얼 엔진 개발 가이드. Slate part two

기본SButton :버튼SCheckBox:체크박스SComboBox :사용자 정의 요소의 콤보 박스, 메뉴 항목의 위젯 생성기 제공 필요STextComboBox :텍스트 콤보 박스SComboButton :콤보 버튼, ComboBox와 다른 점은 ComboButton은 메뉴 항목 생성기가 아닌 전체 메뉴 생성기를 제공해야 함SInputKeySelector :키 입력 선택기SNumericDropDown :숫자 드롭다운 위젯SNumericEntryBox :숫자 선택 상자SRotatorInputBox = SNumericRotatorInputBox :회전 입력 상자SSlider :슬라이더SSpinBox :사용자 정의 숫자 타입의 스핀 박스SVectorInputBox = SNumericVectorInputBox, 3..

TECH.ART.FLOW.IO 2025.04.26

[번역] UE5.1 모바일 지연 렌더링 파이프라인 테스트 및 프로파일링

UE5.1은 모바일 지연 렌더링에 대한 대대적인 업데이트를 진행했으며, 단 3개의 gbuffer(SceneColor와 Depth 제외)만 사용하면서도 데스크톱의 모든 shadingmodel을 지원하고, Vulkan, Metal은 물론 GLES에도 On Chip Memory 대역폭 최적화를 적용했습니다. 마침 제가 Unity 2021.3의 지연 렌더링 파이프라인을 살펴본 직후라 UE5.1에는 어떤 새로운 기능이 있는지 확인해 보려고 합니다.공식 발표:테스트 및 소스 코드 검토 후 확인된 기능directional light는 여러 개 사용 가능(각각 다른 light channel에 위치해야 함), 그 중 하나만 그림자 투사 가능point light 개수에 제한이 없어짐, 그림자 미지원spot light는 그..

TECH.ART.FLOW.IO 2025.03.02

World Partition-> Runtime Partition

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

UNREAL ENGINE 2025.02.17

【번역】 언리얼 엔진 비디오 메모리 누수 찾기 솔루션 공유 - 툴 및 사용법

작성강의 계획서LLM(Low Level Memory)Memreport -fullUnreal InsightsTracing_mallocLinux에서 메모리 보기:Pid용 #2254watch -n 1 -d 'cat /proc/2254/status | grep VmRSS'가상 메모리 제한 방법: -v 사용할 수 있는 최대 가상 메모리 양을 KB 단위로 지정합니다.패킹후 메모리 분석:패킹 방식에 따라 프로그램 메모리 최적화 방법도 다르기 때문에 Shipping 패키지에 DebugFile을 포함하여 메모리 사용 상황을 분석할 수 있습니다. 언리얼 프로젝트 셋업UE 메모리 할당 방법:일반적으로 사용되는 UE5 가상 엔진 메모리 분배기를 비교 일반적인 FMalloc 유형 및 시스템 지원언리얼 엔진의 공식 메모리 분석..

TECH.ART.FLOW.IO 2024.12.15

[번역] Bindless Resources Notes

역자의 말: 이틀 전에 게시 된 언리얼페스트2024의 멋진 초콜릿 강연을 봤습니다. 바인드리스 텍스처에 대한 이해를 돕기 위해 팀 내부에서도 2주 간 추가 리서치를 하고 멀티플레폼에서 우리가 얻을 이점이 정확히 무엇인지 파악하고자 하는데요... 그 전에 간략히 Wong 씨가 요약한 내용을 동시에 재게시 해 봅니다. 애픽게임즈 로드맵.저자 : 玄冬Wong keywords: Direct3D 12, D3D12, Vulkan, Bindless, Texture and Buffer, DescriptorSet, Descriptor Set Layout, Descriptor Indexing요약장점 배열 텍스처(슬롯 기반)와 바인드리스 텍스처의 차이점: 배열 텍스처는 일반적으로 배열의 모든 텍스처가 동일한 형식과 치수를 ..

TECH.ART.FLOW.IO 2024.07.30

애러 추적 : GetSingleLayerWaterMaterialOutput 에 대해서...

애러 추적5.4.2 소스를 일부 내용을 목적에 부합하게 일부 수정하고 게임 콘텐트를 빌드 하면서 만나게 된 몇 가지 애러 출력을 추적 합니다.애러를 추적하고 근본 원인을 이해하고 복기 합니다.5.4.1 수정 된 엔진을 사용하고 있는 상태에서 컨텐트의 쉽핑 빌드 테스트가 진행 될 때 5.4.2 수정 버전으로 교체 하여 진행 하는 경우.PackagingResults: Error: use of undeclared identifier 'GetSingleLayerWaterMaterialOutput0'PackagingResults: Error: use of undeclared identifier 'GetSingleLayerWaterMaterialOutput1'PackagingResults: Error: use of..

UNREAL ENGINE 2024.06.28