UDN
Search public documentation:

UsingInstanceParametersKR
English Translation
日本語訳
中国翻译

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 홈 > 파티클과 이펙트 > 파티클 시스템 > 파티클 시스템에 인스턴스 파라미터 사용하기
UE3 홈 > FX 아티스트 > 파티클 시스템에 인스턴스 파라미터 사용하기

파티클 시스템에 인스턴스 파라미터 사용하기


문서 변경내역: Jeff Wilson 작성. 홍성진 번역.

개요


인스턴스 파라미터란 UE3 의 이펙트 파이프라인에서 매우 강력한 부분입니다. 파티클 파라미터는 인스턴스 단위별로 여러 값을 제어하는 데 사용할 수 있습니다. 또한 여러가지 모듈을 제어하기 위해 게임 코드가 호출하기도 하지만, 종종 레벨에 놓인 이펙트에 사용됩니다.

파라미터를 통한 색 제어


이 데모에서는 파티클 파라미터 로 셋업된 ScaleColorLife 모듈을 사용하여 불 파티클 시스템의 색을 제어하겠습니다.

fireexample.jpg

먼저 캐스케이드에서 이펙트를 열고, 파티클 시스템에 InitialColor 나 ColorOverLife 모듈이 있는지 확인합니다.

다음으로 시스템에 Color > ScaleColor/Life 모듈을 추가합니다. ScaleColor/Life 의 경우 파라미터가 매우 자주 활용되니, 우클릭하고 파티클 파라미터 셋업 을 선택하여 간단히 셋업을 마칩니다. 주: 모든 파티클 파라미터가 이렇지는 않습니다.

setupparameter.jpg

모듈을 선택하고 그 프로퍼티를 보면 이 모듈에 벡터와 상수 값이 정의된 것이 보입니다. 파라미터의 이름은 자동으로 Color 와 Alpha 로 되어 있으나, 이 이름을 수정하는 것은 물론이고, 파티클 시스템에 복수의 파라미터 이름을 만들어 고유 이미터 스택에 놓는 것도 가능합니다.

cascadeparameters.jpg

인스턴스 파라미터 셋업

다음 단계는 씬에 놓은 개별 이미터 액터입니다. 그 위에 우클릭하고 드롭 다운 메뉴에서 이미터 > 자동 생성 을 선택합니다.

autopopulate.jpg

이 시점에서는 알파/컬러 세팅과 블렌드 모드에 따라 파티클 시스템이 사라진 것으로 보일 수 있습니다만, 정상입니다. F4 키를 눌러 이미터 액터의 프로퍼티 창을 엽니다.

ParticleSystemComponent 범주의 Instance Parameters 부분 아래 새로 생성된 데이터 세트가 위치해 있으며, 두껍게 보일 것입니다.

instanceparams.jpg

이펙트에 지정된 두 개의 파라미터를 오른 편에 그 이름과 함께 확인할 수 있습니다. 파라미터를 열고, 아래 원 부분처럼 RGB 에 대한 벡터와 Alpha 에 대한 스칼라 세팅을 편집합니다.

editedparams.jpg

놓인 원본 이펙트는:

originaleffect.jpg

이미터 액터의 파티클 파라미터로 조작하여 같은 이펙트의 블룸과 채도를 더 올려줌:

modifiedeffect.jpg

컬러 파라미터를 사용하여 파티클 이펙트를 하나 만들고, 필요한 대로 색을 조작하면 여러가지 이펙트를 패키지 속으로 복사/붙여넣지 않고도 다양한 레벨에 걸친 기본적인 색 변종(variation)을 만드는 것도 가능합니다.

파티클 파라미터로 이펙트 정리와 검색 작업이 훨씬 간편해 지며, 메모리와 레벨 로드 시간은 물론 디스크에 저장하는 데 필요한 파일의 수도 줄어듭니다.

파라미터를 통한 위치 제어 (이미터 액터 카운트 감소)


이 데모에서는 이미터의 초기 위치 제어를 위해 파티클 파라미터 사용하는 법을 보일 것이며, 파티클 파라미터를 사용하면 씬에 이펙트 이미터를 덜 사용할 수도 있는 유연성이 생깁니다.

이 예제에서는 이 불 이펙트를 참조하겠습니다.

locationeffect.jpg

주: 이 이펙트는 다방면에 걸쳐 사용하도록 고안되었으며, 화염의 메인 소스 둘은 이미터 원점에 하나, X, Y 앞에 하나 있습니다. 파티클 파라미터를 사용하면 이 이펙트의 외형을 수정할 수 있으며, 딱 하나의 파티클 시스템만 메모리에 로드됩니다.

아래는 같은 이펙트를 파티클 파라미터로 수정한 것입니다:

locationeffectparam.jpg

파티클 파라미터 셋업

하나의 이미터를 사용하여 파티클 파라미터로 이펙트 위치를 옮기겠습니다.

basiceffect.jpg

캐스케이드에서 우클릭하고 이미터에 Initial Position 모듈을 추가합니다.

Initial Location 모듈을 선택하고 Distribution List 에서 DistributionVectorParticleParameter 를 선택합니다.

distributionparam.jpg

파라미터 이름을 InitialPosition 든 다른 이름이든 이 이미터에 고유하도록만 바꾸되, 공유 파티클 파라미터를 사용하여 여러 이미터에 걸쳐 위치 값을 공유하고자 한다면 같게 해도 됩니다.

paramname.jpg

Param Modes 부분을 열고 드롭다운을 DPM_Direct 로 바꿉니다.

parammodes.jpg

월드에 놓은 이미터 액터를 선택하고 우클릭한 뒤 이미터 > 자동 생성 을 클릭하여 파티클 파라미터를 셋업합니다.

F4 키를 눌러 이미터 프로퍼티 중 Particle System Component 부분을 확인합니다. Instance Parameter 부분이 두껍게 표시되고 [0] 항목이 보입니다. 이 항목의 이름이 모듈의 InitialPosition 이름과 일치할 것입니다.

instancename.jpg

벡터 값을 원하는 위치에 일치하도록 바꿉니다.

instancevalues.jpg

위치 조정을 위해 파티클 파라미터 사용 전:

beforelocation.jpg

위치 조정을 위해 파티클 파라미터 사용 후:

afterlocation.jpg

이 데모는 파티클 파라미터를 사용하는 단순화된 예제이며, 이 기능을 사용하여 프로젝트에 도움이 될 수 있는 여지는 많이 있습니다.

이미터 액터 하나를 캐스케이드에서 세 개의 고유 이미터에 고유한 이름을 가진 파티클 이미터를 사용하여 불을 세 개 지핀 것입니다:

finallocation.jpg

복잡한 이펙트 작업을 할 때는 파티클 파라미터 이름을 명확히 해 주는 것이 중요한데, 허술한 이름의 파라미터를 가진 예전 이펙트를 되돌아 보는 것 자체가 헛갈리는 일이 되어 파라미터 작동 방식을 추론하는 데 있어 시간 낭비가 될 수 있기 때문입니다. 여러 파티클 파라미터를 사용하여 단수/복수 이미터 내 여러 모듈에 걸친 행위를 제어하는 것도 가능합니다. 색, 위치, 스케일, 수명 등을 편집해 보십시오. 여러가지 세팅으로 실험하여 바람직한 결과를 내는 것이 이로울 수 있습니다.

딱 이 경우 씬의 이펙트 엘리먼트를 이리저리 옮기는 데 파티클 파라미터를 사용하면 이미터 액터 수를 줄일 수 있고, 퍼포먼스와 로드 시간에도 도움이 됩니다. 마티네와 게임 코드를 통해 파티클 파라미터를 제어하는 것도 가능합니다.