본문 바로가기

프로그램 공부/Unity 컴포넌트

파티클 시스템 (Particle System)

 

-기본 요소

Duration 파티클 재생 시간
Looping 계속 돌릴것인가? (체크 → 계속 반복)
Prewarm

체크 : 이전에 정지되었던 그대로 재생

미체크 : 다시 처음부터 재생

Start Delay 시작 되기까지 딜레이
Start Lifetime 파티클 입자들의 생명주기
Start Speed 파티클 입자들의 속도
Start Size 파티클 입자들의 크기
3D Start Size 각 축마다 크기를 정할 수 있음
Start Rotation

파티클 입자가 얼마만큼 꺾일 상태로 재생

파티클의 방향이 꺾이는 것×

Flip Rotation 뒤집는 것? (아직 잘 모르겠음)
Start Color 파티클 입자의 색 바꿈
Gravity Modifier 파티클 입자에게 중력 부여
Simulation Speed 파티클의 재생 속도
Delta Time 일시정지 했을시 영향을 받게할지 안받게 할지
Play On Wake 시작하자마자 바로 재생할것인가 (체크 → 바로시작)
Max Particles 동시에 보여줄 수 있는 최대 입자 수

 

 

-Emission

Rate over Time 1초에 몇의 입자를 뿜어 낼것인가?
Rate over Distance

거리에 따라서 뿜어져 나올 입자를 정해줌

: 파티클이 움직이는 속도에 따라 파티클이 뿜어져 나오는 속도가 달라짐

ex) 자동차가 움직일때 배기가스가 나오는 느낌

Bursts

like 폭발, 동시에 입자들을 뿜어내는 것

Time : 재생 시 몇초 뒤에 뿜어낼 것인가

Count : 동시에 몇개의 입자를 뿜어 낼것인지

Cycle : 뿜을때 몇번을 뿜어낼 것인가

Interval : 뿜어낼때 텀

 

 

-Shape : 입자들이 뿜어져 나올 형태를 결정

Shape

뿜어져 나오는 모양

ex) Cone : 원뿔의 형태의 방향으로 입자들이 뿜어져 나온다

Sphere : 원 모양의 방향으로 입자들이 뿜어져 나온다

Angle 뿜을 각도를 정함
Radius 뿜어져 나오는 범위
Arc

뿜어져 나올 각도의 범위를 지정

Mode : 어떤 방식으로 뿜어낼 것인지

Clip Channel 클리핑 하겠다
Clip Threshold 위의 클리핑의 정도 (0~1)
Position 뿜어낼 위치
Rotation 뿜어낼 각도
Scale 뿜어낼 크기

 

 

-Velocity over Lifetime : 시간이 지나면 속도를 부과

Linear 직선방향으로 속도를 부과
Orbital 궤도방향으로 속도를 부과
Offset  

 

 

-Limit Velocity over Lifetime : 속력 제한

Drag 시간경과에 따라 저항을 줌

 

 

-Force over Lifetime : 계속 힘을 가해줌

x, y, z 해당 축의 방향으로 끌어당기는 힘을 가함 (힘이 중첩)

 

 

-Color over Lifetime : 시간의 경과에 따라 색이 바뀌게 만듦

 

 

- ~by Speed : 입자의 스피드에 따라 조절됨

 

 

-Size over Lifetime : 시간이 지남에 따라 사이즈를 조절

그래프를 건드려서 조절

 

 

-Noise : 파티클의 움직임을 방해

체크시 자연스럽게 올라가는 것이 아닌 뭔가에 방해를 받은 듯이 부들부들 떨리게됨

 

 

-Collision : 입자에 충돌 가능 여부를 부여

Type

어떤것에 부딫힐 것인지

Plane : 특정 Plane에 부딪힘

World : 월드에 있는 모든 오브젝트에 부딪힘

(→자원소비가 너무 심해 권장하지 않음)

Bounce 튕기는 정도
Lifetime Loss 튕길때마다 튕기는 정도가 얼만큼 줄어들게 할지

 

 

-Triggers : 충돌했을 경우 어떠한 이벤트를 실행시킬 수 있음

ex) 체력충전, 데미지 입힘

Colliders 어떤 객체와 충돌할 것인지
Inside 닿으면 이벤트 발생
Outside 닿지 않으면 이벤트 발생
Exit 닿았다가 나가게 되면 이벤트 발생

 

 

-Sub Emitters : 생겨난 입자에게서 또 입자가 생겨나게 만드는 것

ex) 입자가 터졌을때 그 입자에서 또 입자가 뿜어져 나올 수 있다.

(해당 파티클에 자식 파티클을 넣어서 사용)

 

 

-Texture Sheet Animation : 입자에 텍스처 또는 애니메이션을 넣음

Mode

Grid : 일반적인 입자

Sprite : 특정 스프라이트 이미지로 대체 가능

 

 

-Light : 파티클에 조명을 붙임

ex) 모닥불이 빛을 발산할때

Light 조명 오브젝트를 넣음
Ratio (Ratio값)%의 확률로 조명을 비춘다.
Range Multiplier 조명의 범위
Intensity Multiplier 조명의 세기
Maximum Lights 최대 Maximum값의 개수에만 조명을 붙임

 

 

-Trails : 입자가 지나간 자리에 자국을 남김

(Renderer에 Trail Meterial이 있어야 한다.)

ex) 총알의 궤적

Ratio 자국이 Ratio값의 확률로 남아있게 함
Lifetime 흔적이 남아있는 시간
Minimum Vertex Distance

like 최적화, 자국을 갱신 0에 가까울수록 과부화가 심해짐

얼마나 Vertex를 자주 갱신해서 자연스러운 움직임(회전)을 구현시킬 것인지 조정하는 설정값.

0에 가까울수록 자연스러움(갱신이 자주 이뤄짐)

Texture Mode 자국의 효과를 부여
Color over Lifetime 자국의 색 조절
Width over Trail 자국의 넓이 조절

 

 

-Renderer : 어떤 식으로 렌더할 지 결정

Render Mode 입자의 모양
Material Material을 넣어 사용
Render Alignment

보여지는 방향을 고정

View : 우리가 보는 방향으로 고정

World : 월드의 방향으로 고정

Masking 가려지게 하는 것
Cast Shadows 입자들에 따라서 그림자를 부여
Receive Shadows (bool) 입자들의 그림자의 영향을 받을 것인가?
Sorting Layer 우선 순위를 지정
Order in Layer 우선 순위를 지정
Light Probes 빛 반사, 조명 효과 영향을 받을지 여부

 

 

-Script 명령어

ParticleSystem ps;

Play() 파티클을 재생
Stop() 파티클 정지
Pause() 파티클 일시정지
Emit(n) 파티클에서 n개의 입자를 뿜음. like burst

 

 

---

파티클 메터리얼 넣는 법

http://blog.soonsoons.com/197359978

불러오는 중입니다...

 

'프로그램 공부 > Unity 컴포넌트' 카테고리의 다른 글

Image  (0) 2019.06.28
Character Controller  (0) 2019.06.13
Collider  (0) 2019.05.23
Rigidbody  (0) 2019.05.23
Transform  (0) 2019.05.23