2024/04 24

[MATERIAL] Basic

[MATERIAL] Basic  오랫동안 열어보지 않아 잊고 있던 언리얼을 다시 공부하기 위해 기록한다. 블랜드 모드OpaueMaskedTranslucentAdditiveModulateAlphaCompositeAlphaHoldout   라이팅 모드Volumetric NonDirectionalVolumetric DirectionalVolumetric PerVertex NonDirectionalVolumetric PerVertex DirectionalSurface TranslucencyVolumeSurface ForwardShading InstructionsBase pass shader : Base pass vertex shader :   Translucent Shader 예시      자주 사용되는 노드 ..

[BP][Editor] Tool 제작을 위한 첫걸음

[BP][Editor] Tool 제작을 위한 첫걸음   UE 5에서 사용할 보조 툴 제작을 위해 기본적인 버튼을 이용하여 출력 로그에 'String'을 출력해 보기 위해 공부하였다.  기본적으로 블루프린트를 이용하여 하단과 같이 Custom Event를 이용하면 Print 노드를 이용하여 문자(String)를 콘솔창에 띄울 수 있다.  위와 같이 블루프린트를 작성하고, 블루프린트 액터를 레벨에 배치 후, 디테일 패널을 확인하면 이런 식으로 버튼이 생긴다.  이것은 쉽게 이렇게 작동한다.  처음 프로그래밍을 배우며 작성한 printf 함수를 이용한 Hello World가 생각났다.  다음으로 UI에 붙여서 게임 개발을 할 때, 편하게 사용할 수 있도록 하기 위하여 위젯과 블루프린트를 이용하여 작업해 보았다..

[ART] 애니메이션에서 무생물에게 생명력과 감정을 전달하는 방법

[ART] 애니메이션에서 무생물에게 생명력과 감정을 전달하는 방법   이야기가 정리되지 않았지만, 개인적인 생각과 픽사 월E의 눈에 대하여 적어본다.   감정이 없는 존재에게 감정을 심어주고, 무생물에게 생명을 불어 넣어 주는 애니메이션은 우리에게 많은 감동을 준다.  특히 픽사의 애니메이션을 보면 유난히도 생명이 없는 것들에게 생명을 부여하고 있다.  놀라운 것은 우리는 픽사의 애니메이션인 토이스토리나 월E에 나오는 우디나, 월E에게서 그것들이 느끼고 있는 감정들에 대해서 너무나 자연스럽게 공감할 수 있다.  이것의 이유는 무엇일까? 컷의 구도와 색, 라이팅, 3D 오브젝트의 연기, 사운드 등 많은 요소들이 있겠지만, 그중 애니메이션 속 주인공들에게 생명을 불어 넣어 주는 '눈'에 집중..

Article/Art 2024.04.23

[UE5] UV Editor

[UE5] UV Editor   언리얼 5에는 UV를 직접 수정할 수 있는 기능이 존재한다.  이 UV 에디터는 언리얼 5의 내장 플러그인을 활성화 해야 가능하며, 플러그인을 활성화 하면 '버텍스 컬러 제거' 위에 'UV Editor'라는 메뉴가 추가 된다.  참고로 Unity에서도 이와 비슷한 기능이 존재하지만 둘의 차이점을 생각해보면, 언리얼 5쪽이 좀더 많은 작업을 할 수 있다는 것이다.  UV 에디터가 가능한 이유는 아마도 언리얼에서의 Mesh 데이터는 언리얼의 엔진 데이터로 변경되어 존재하기 때문에, 에디팅이 가능한 것 같다.  유니티에서도 UV를 변경하기 위해서는 언리얼과 비슷하게 플러그인을 추가 해야하지만, Mesh 데이터를 직접 변경하는 것이 아닌, 원본과 다른 또 다른 Mesh 데이터를 ..

[최적화] 3D 공간에서 Perspective 카메라 VS Orthographic 카메라

3D 공간에서 Perspective 카메라 VS Orthographic 카메라 중 렌더링 성능면에서 어느것이 더 가벼울까?   정답부터 이야기하면 무조건 어느 하나가 더 가볍다라기 보다, Orthographic 카메라가 더 가벼운 상황일 경우가 많다.   두 카메라 모두 장단점이 존재하고, 사용하는 용도가 다르지만, 렌더링 성능 측면에서 perspective 카메라는 다음과 같은 이유로 더 많은 계산이 필요하다.  1. 투시 변환  perspective 카메라는 현실 세계를 시뮬레이션하기 위해 투시 변환을 수행해야 한다. 이는 3D 객체를 2D 화면에 투사하기 위해 각 객체의 거리와 각도를 고려하는 복잡한 계산 과정이다.  반면 orthographic 카메라는 모든 객체를 동일한 크기와 비율로 투사하기 ..

[UE5][BP] 조건 강화, 기능 추가, 게임의 클리어 조건 - UI추가, 디버깅

[UE5][BP] 조건 강화, 기능 추가, 게임의 클리어 조건 - UI 추가, 디버깅 조건 강화, 기능 추가 등을 진행할 것이다. 계획은 이렇다. 탄창의 총알을 모두 소비 하면 총이 발사 되지 않는다. 그렇기 때문에 총알을 충전할 수 있는 아이템을 만들어 레벨에 배치한 후, 유저가 이 아이템을 통하여 총알을 충전 할 수 있도록 한다. 정해진 목표치의 몹을 파괴시 게임은 클리어 되도록 하며, 관련 UI도 제작한다. 먼저 총알 충전용 아이템을 획득 시 총알이 충전되는 노드를 제작한다. 'Event Actor Begin Overlap' 이벤트 노드를 이용하여, Ammo Pickup Count 라는 변수를 만들어 Current Ammo의 변수에 더해준다. 'Event Actor Begin Overlap' 이벤트..

[iOS][번역] iOS 메모리 심층 분석

[iOS][번역] iOS 메모리 심층 분석 의역이 많이 존재하고, 녹색의 문장은 본문에 없는 내용이다. 메모리 줄이기 메모리는 왜 줄이나요? 메모리를 줄인다는 것은 메모리 사용량을 줄이는 것을 의미한다. 앱 메모리 사용량을 줄여야 하는 이유 사용자(유저)에게 더 나은 경험을 제공한다는 것. 앱이 더 빠르게 실행될 뿐만 아니라 시스템 성능이 더 좋아짐. 앱이 메모리에 더 오래 유지될 수 있다. 다른 앱 또한 메모리에 더 오래 남아 있을 수 있다. 거의 모든 경우에서 안 하는 것보다 더 좋다. 클린 & 더티 페이지 힙 메모리(Heap Memory)에 여러 개체를 보유할 수 있는 페이지에 제공되는 메모리와 일부 개체는 여러 페이지에 걸쳐 있을 수 있다. Heap Memory : 동적으로 할당된 메모리를 관리하..