본문 바로가기

프로그래밍 공부/Unreal Engine 42

[Unreal Engine 일반] 언리얼 프로퍼티(Property) 시스템(리플렉션, reflection) 리플렉션(reflection) 리플렉션은 실행시간(runtime)에 어떠한 객체가 자기 자신을 조사하는 기능으로, 표준 C++에서 객체의 다형 정보(dynamic_cast 연산자), 객체의 데이터형 식별(typeid 연산자), typeinfo 클래스 정보로써 나타나는 실행시간 데이터형 정보(runtime type information, RTTI)보다 더 포괄적인 개념으로, 런타임에서 객체의 정보 및 구조를 관리하거나 수정할 수 있도록 하는 기능들까지 포함하는 개념이다. 게임(엔진) 프로그래밍에 있어서 리플렉션 기능은 왜 필요할까? 리플렉션 기능이 게임 프로그래밍(특히 엔진 프로그래밍)에서 필수적인 이유는, 컴파일 타임에 만들어지는 객체의 정보 이외에도 런타임에서 객체의 정보들이 새로 추가되거나 수정될 수.. 2023. 5. 11.
[Unreal Engine 일반] 비주얼 이펙트(VFX) 시스템 개요 - 파티클 시스템(Particle System)과 나이아가라 시스템(Niagara System) 언리얼 엔진의 비주얼 이펙트(visual effect, VFX) 시스템 언리얼 엔진에는 다양한 시각적 효과를 표현하기 위한 파티클 시스템(particle system)과 나이아가라 시스템(Niagara system)이 탑재되어있다(언리얼 엔진 4 버전 이상을 기준). 파티클 시스템과 나이아가라 시스템은 공통적으로 UFXSystemAsset이라는 기반 클래스로부터 상속되어 구현되는 파생 클래스들이며, 우리가 구현하는 월드에 여러 가지 파티클을 스폰(spawn)하는 이미터들을 가지고 있다. 언리얼 엔진 4 버전 이전에는 주로 파티클 시스템을 기반으로 비주얼 이펙트를 생성하고 편집하였으나, 언리얼 엔진 4부터는 나이아가라 VFX 시스템이 새로 추가되었다. 파티클 시스템(particle system)의 특징 파.. 2023. 5. 10.