지난 여름 UE Fest에서 Niagara Data channel의 존재를 알게 된 후, 그 사용법에 관해 연구하고 있습니다. 문서도 거의 없고 가이드도 없어서 사실상 혼자 연구해야 했습니다. 총의 총구 화염과 총알의 충돌 VFX가 지속적으로 생성될 때 메모리를 효과적으로 관리할 방법이 필요했기 때문에 이것을 사용하여 이 VFX들을 생성하고 싶었습니다. 저는 제 게임을 최적화 하는 단계에 있었고, 어쨌든 어떤 방식으로든 오브젝트 풀링을 구현하려던 참이었습니다.

하지만 데이터 채널을 생성하거나 쓰려고 할 때는 모든 것을 직접 수동으로 설정해야 합니다. 여기에는 position과 rotation이 포함되며, 원래 이것들은 ‘spawn niagara system’ 노드를 사용할 경우 자동으로 처리됩니다. Data channel 관련 노드를 사용할 경우엔 그 자체에서 연결할 수도 없고 나이아가라 시스템 애셋의 많은 부분을 조정해야 합니다. 저는 여러 곳에서 얻어 놓은 에셋을 사용하고 있었는데, 그것들을 처리하는 방식이 모두 달랐기 때문에 처음에는 많은 문제가 생겼습니다. 돌이켜 보면 position 처리가 더 쉬웠던 듯 하지만 그렇다고 해서 순조롭게 진행되었 던 것은 아닙니다. 데이터 채널이 호출될 때마다 0,0,0으로 생성되기 때문에 테스트하는 동안 뭔가 잘못하고 있는 것 같다는 생각이 들었습니다. 하지만 곧 그게 바로 원래 그런 것이고, y=0 이상으로 모든 것을 올릴 수 있기 때문에 플레이어의 시야에서 숨길 수 있다는 것을 알게 되었습니다. 데이터 채널을 회전하려면 에셋마다 다르지만 회전을 처리하기 위해 별도의 변수를 만들어야 했고, 나이아가라 시스템을 처리하는 Data channel reader의 내부 변수에 그것들을 연결해야 했습니다.

그만한 가치가 있었냐고 물어본다면 그렇다고 말할 수 있습니다. 요즘 사람들이 언리얼로 만든 게임들을 보고 최적화가 잘 되지 않는다는 말을 많이 합니다. 하지만 도움이 될 수 있는 기능들이 많이 있음에도, 그 기능들은 많이 알려져 있지 않습니다. 2025년 UE 페스티벌에서 열린 세미나를 듣기 전에는 저도 이런 기능이 있는 줄 몰랐습니다. 에픽 측에서 문서에 조금만 시간을 들여서 모두에게 도움을 줄 수 있으면 좋겠습니다.

연락처: [email protected] link\

ko-fi\