나이아가라에서 빔 이펙트를 생성하는 방법

이 페이지에서는 번개를 시뮬레이션하는 빔 이펙트를 생성하는 방법을 보여줍니다.

Windows
MacOS
Linux
필요한 사전지식

이 글은 다음 주제에 대한 지식이 있는 분들을 대상으로 합니다. 계속하기 전 확인해 주세요.

선행 단계: 이번 하우투에서는 나이아가라 플러그인에 포함된 콘텐츠인 DefaultRibbonMaterial을 사용합니다. 하지만 메시 파티클 이펙트 생성(Create a Mesh Particle Effect) 하우투를 완료한 경우 해당 튜토리얼에서 사용했던 M_Balloon 머티리얼을 사용해도 됩니다.

캐스케이드에서는 빔 이펙트용으로 사용되는 특별한 데이터 유형이 있었습니다. 나이아가라에서는 리본이 빔으로 사용됨을 나타내는 특정 모듈과 함께 리본 렌더러를 사용합니다. 이 가이드에서는 번개를 시뮬레이션하는 빔 이펙트를 생성하는 방법을 배워봅니다.

시스템 및 이미터 생성

캐스케이드와 달리 나이아가라의 이미터와 시스템은 서로 독립적입니다. 현재 추천되는 워크플로는 기존 이미터나 이미터 템플릿에서 시스템을 생성하는 것입니다.

  1. 우선 콘텐츠 브라우저에서 오른쪽 클릭 후 FX(FX) > 나이아가라 시스템(Niagara System) 을 선택하여 나이아가라 시스템을 생성합니다. 그러면 나이아가라 이미터 마법사가 표시됩니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

  2. 선택된 이미터에서 신규 시스템 생성(New system from selected emitters) 을 선택합니다. 그리고 다음(Next) 을 클릭합니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

  3. 템플릿(Templates) 에서 스태틱 빔(Static Beam) 을 선택합니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

  4. 더하기 기호(Plus sign) (+) 아이콘을 클릭해 시스템에 추가할 이미터 목록에 이미터를 추가합니다. 그리고 완료(Finish) 를 클릭합니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

  5. 새 시스템을 BeamSystem 으로 명명합니다. 해당 시스템을 더블클릭하여 나이아가라 에디터에서 실행합니다.

시스템 명명(Name System)

  1. 신규 시스템의 이미터 인스턴스에는 StaticBeam 이라는 기본 이름이 지정되어 있지만 변경할 수도 있습니다. 시스템 개요에서 이미터 인스턴스의 이름을 클릭하면 변경할 수 있게 됩니다. 이미터를 FX_Beam 으로 명명합니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

렌더러 세팅 변경

렌더(Render) 그룹은 스택 마지막에 있지만 이펙트를 올바르게 표시하려면 몇 가지 요소를 변경해야 합니다.

  1. 시스템 개요(System Overview) 에서 렌더(Render) 를 클릭해 선택(Selection) 패널에서 실행합니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

    이 시스템의 이미터 템플릿에는 이미 리본 렌더러가 포함되어 있습니다. 이 가이드에서는 나중에 특정 모듈을 추가하여 리본이 빔으로 사용된다는 것을 나타냅니다.

  2. 이 렌더러에 사용되는 머티리얼은 DefaultRibbonMaterial 입니다. 다른 머티리얼을 사용하고 싶은 경우에는 드롭다운을 클릭하여 해당하는 머티리얼을 검색해 선택하면 됩니다.

  3. 리본 렌더링(Ribbon Rendering) 섹션 아래로 스크롤을 내려 보면 테셀레이션(Tessellation) 이라는 섹션이 있습니다. 이 섹션에서 커브 텐션(Curve Tension).5 로 설정합니다. 이 설정은 번개 이펙트의 뾰족한 정도에 영향을 줍니다. 이 값을 높이거나 낮춰 이펙트를 변형할 수 있습니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

  4. **BeamSystem 을 레벨로 드래그합니다.

    파티클 이펙트를 만들 때는 시스템을 항상 시스템을 레벨로 드래그하는 게 좋습니다. 그러면 모든 변경 사항과 편집을 컨텍스트에 맞춰 확인할 수 있습니다. 시스템에 대한 모든 변경 사항은 레벨 상의 시스템 인스턴스에 자동으로 반영됩니다.

이미터 업데이트 그룹 세팅 편집

우선 이미터 업데이트(Emitter Update) 그룹에서 모듈을 편집합니다. 이 비헤이비어는 이미터에 적용되며 매 프레임마다 업데이트됩니다.

  1. 시스템 개요(System Overview) 에서 이미터 업데이트(Emitter Update) 그룹을 클릭해 선택(Selection) 패널에서 실행합니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

  2. 스태틱 빔(Static Beam) 이미터 템플릿의 라이프 사이클 모드(Life Cycle Mode) 는 기본 세팅상 셀프(Self) 로 설정되어 있습니다. 즉, 이미터의 라이프 사이클과 루프 비헤이비어는 시스템에 의해 처리되는 게 아니라 직접 설정됩니다. 이 이펙트에는 루프 기간(Loop Duration) 값에 플로트를 하나 추가하여 약간의 무작위성을 추가할 것입니다. 루프 기간(Loop Duration) 의 드롭다운 화살표를 클릭한 후 동적 입력(Dynamic Inputs) > 균등 범위 플로트(Uniform Ranged Float) 를 선택합니다. 그러면 루프 기간에 최소(Minimum)최대(Maximum) 영역을 추가합니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

  3. 루프 기간 최소와 최대를 다음과 같이 설정합니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

    세팅

    최소(Minimum)

    .1

    최대(Maximum)

    .2

  4. 이 이펙트가 빔을 사용한다는 것을 처음으로 나타내는 모듈은 빔 이미터 구성(Beam Emitter Setup) 모듈입니다. 스태틱 빔 템플릿으로 시작했기 때문에 이 모듈은 이미 포함이 되어 있습니다. 빔 시작(Beam Start)빔 끝(Beam End) 은 기본 위치 그대로 둡니다. 박스를 체크해서 절대 시작(Absolute Start)절대 끝(Absolute End) 을 활성화할 수 있습니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

  5. 이펙트에 원호나 커브를 추가하려면 이 박스를 체크하여 빔 탄젠트 사용(Use Beam Tangents) 을 활성화합니다. 이렇게 하면 빔 시작 탄젠트(Beam Start Tangent)빔 끝 탄젠트(Beam End Tangent) 세팅이 표시됩니다. 디폴트로 리셋(Reset to Default) (작은 노란색 화살표) 아이콘을 클릭해 빔 시작 탄젠트(Beam Start Tangent)벡터에 플로트 곱하기(Multiply Vector by Float) 로 변경합니다. 빔 끝 탄젠트(Beam End Tangent) 는 이미 벡터에 플로트 곱하기로 설정되어 있습니다. 빔 시작 탄젠트 벡터(Vector)플로트(Float) 를 다음 값으로 설정합니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

    세팅

    벡터(Vector)

    X: 0, Y: 0, Z: 1

    플로트(Float)

    .5

  6. 빔 끝 탄젠트 벡터와 플로트를 다음 값으로 설정합니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

    세팅

    벡터(Vector)

    X: 0, Y: 0, Z: 1

    플로트(Float)

    1

  7. 즉시 스폰 버스트(Spawn Burst Instantaneous) 모듈에서 스폰 수(Spawn Count)35 로 설정합니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

파티클 스폰 그룹 세팅 변경

다음으로 파티클 스폰(Particle Spawn) 그룹에서 모듈을 편집합니다. 이 비헤이비어는 파티클이 처음 스폰될 때 적용됩니다.

  1. 시스템 개요(System Overview) 에서 파티클 스폰(Particle Spawn) 그룹을 클릭해 선택(Selection) 패널에서 실행합니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

  2. 파티클 초기화(Initialize Particle) 모듈에서 수명(Lifetime) 파라미터를 찾습니다. 이 파라미터는 파티클이 사라지기 전까지 얼마나 오랫동안 표시될지를 결정합니다. 수명(Lifetime).2 로 설정합니다. 이렇게 수명을 짧게 설정하면 빔이 번쩍이게 되므로 더 실감나는 번개를 만들 수 있습니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

  3. 스폰 빔(Spawn Beam) 모듈은 두 번째 빔에 특화된 모듈입니다. 이 모듈에서는 아무것도 설정하지 말고 그대로 두면 됩니다.

  4. 세 번째 빔 특화 모듈은 빔 너비(Beam Width) 모듈입니다. 빔 너비는 커브로부터 플로트(Float from Curve) 로 설정되어 있습니다. 두 번째 커브 키를 클릭하여 시간과 값 영역을 표시합니다. 시간(Time).5 로, 값(Value)1 로 설정합니다. 모양을 제대로 갖추려면 각 커브 키를 오른쪽 클릭한 다음 자동(Auto) 으로 설정되었는지 확인합니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

  5. 커브 다이어그램 밑에는 추가 세팅이 있습니다. 커브 스케일(Scale Curve)5 로 설정합니다.

파티클 업데이트 그룹 세팅 변경

이제 파티클 업데이트(Particle Update) 그룹에서 모듈을 편집합니다. 이 비헤이비어는 이미터의 파티클에 적용되며 매 프레임마다 업데이트됩니다.

  1. 시스템 개요(System Overview) 에서 파티클 업데이트(Particle Update) 그룹을 클릭해 선택(Selection) 패널에서 실행합니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

  2. 컬러(Color) 모듈에서 RGB 값을 다음과 같이 설정합니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

  3. 커브를 분해해서 빔이 번개처럼 갈라지고 튀도록 만들려면 떨림 위치(Jitter Position) 모듈을 추가해줍니다. 그러려면 더하기 기호(Plus sign) (+) 아이콘을 파티클 업데이트(Particle Update) 에서 클릭하여 위치(Location) > 떨림 위치(Jitter Position) 를 선택합니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

  4. 떨림 위치(Jitter Position) 모듈이 제대로 작동하게 하려면 빔 업데이트 모듈이 필요합니다. 빔 업데이트(Update Beam) 모듈을 추가하려면 더하기 기호(Plus sign) (+) 아이콘을 파티클 업데이트(Particle Update) 에서 클릭한 다음 빔(Beam) > 빔 업데이트(Update Beam) 를 선택합니다. 시스템 개요(System Overview) 에서 빔 업데이트(Update Beam) 모듈을 스택의 떨림 위치(Jitter Position) 모듈 위로 드래그합니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

  5. 이제 떨림 위치(Jitter Position) 모듈로 돌아갑니다. 떨림 양(Jitter Amount) 은 기본적으로 10 으로 설정되어 있으며, 떨림 딜레이(Jitter Delay) 의 기본 설정은 .25 입니다. 하지만 떨림 지연(Jitter Delay).1 로 낮추면 빔이 각지고 삐죽삐죽하게 바뀌기 시작합니다. 하지만 값이 .1 이어도 삐죽삐죽한 빔 아래로 여전히 원본의 원호 모양이 보이게 되므로 아직은 이상적인 상태는 아닙니다. 이 문제를 해결하려면 떨림 딜레이를 음수로 설정해야 합니다. 떨림 딜레이(Jitter Delay)-.01 로 설정합니다. 떨림 양(Jitter Amount)15 로 설정합니다.

    이미지를 클릭하면 전체 크기로 확대됩니다.

최종 결과

축하합니다! 번개를 시뮬레이션하는 빔 이펙트를 생성했습니다. 아래 영상에서는 번개 빔 이펙트의 예시를 볼 수 있습니다. 이처럼 빔을 사용해 만들 수 있는 비주얼 이펙트는 레이저, 광선 무기, 테슬라 코일 등 다양합니다.

태그
Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼