OGRE 엔진을 기반으로 제작된 파티클 툴들이 다수 있다.
그중 파티클엑셀레이터(Particle Accelerator)의 각 기능과 기능이 어떤 스크립트 속성과 관계 있는지, 그리고 세부적으로 바뀌는것이 무엇인지를 알아보겠다.
Attributes 탭 | |||||
번호 |
항목 |
기능 |
입력타입 |
스크립트속성 |
비고 |
1 |
Material |
효과의 재료(종류) |
콤보박스 |
material |
|
2 |
Width |
입자의 너비 |
에디트 |
particle_width |
|
3 |
Height |
입자의 높이 |
에디트 |
particle_height |
|
4 |
Quota |
최대 입자 수 |
에디트 |
quota |
|
5 |
Cull each |
입자들의 컬링여부 |
체크박스 |
cull_each |
|
6 |
Accurate facir |
체크박스 |
accurate_facing |
||
7 |
sorted |
입자 정렬 |
체크박스 |
sorted |
|
8 |
Point renderir |
체크박스 |
point_rendering |
이 항목을 체크하면 width, height,Facing, up, dir, origin항목이 비활성화 된다. | |
9 |
Local Space |
체크박스 |
local_space |
||
10 |
Rendere |
콤보박스 |
renderer |
||
11 |
Facing |
입자 빌보드의 정렬방식 |
콤보박스 |
billboard_type |
point인 경우 모든방향으로 정렬 (구면 입자의 모델리에 사용) |
12 |
Up |
common_direction항목을 기준으로 up벡터 정의 |
에디트 |
common_up_vector |
Facing 항목이 perpendicular_self, perpendicular_common 이어야 활성화 됨. |
13 |
Dir |
입자의 방향 |
에디트 |
common_direction |
Facing 항목이 oriented_common, perpendicular_common 이어야 활성화 됨. |
14 |
Origin |
입자의 시작지점 |
콤보박스 |
billboard_origin |
|
15 |
Rotation |
콤보박스 |
billboard_rotation_type |
||
16 |
Interval |
갱신주기 |
에디트 |
iteration_interval |
|
17 |
Timeout |
에디트 |
nonvisible_update_timeout |
Emitters 탭 | |||||
번호 |
항목 |
기능 |
입력타입 |
스크립트속성 |
비고 |
1 |
Emitter |
이미터(생성, 삭제) |
콤보박스 |
emitter |
복수 생성가능 |
2 |
Type |
타입 지정 |
콤보박스 |
type명 |
type종류 6가지 |
3 |
Width(Inner) |
이미터 폭 |
에디트 |
width |
|
4 |
Height(Inner) |
이미터 높이 |
에디트 |
height |
|
5 |
Depth(Inner) |
이미터 깊이 |
에디트 |
depth |
|
6 |
Angle |
입자 최대 방출 각도 |
에디트 |
angle |
|
7 |
Emission Rate |
초당 방출 입자 개수 |
에디트 |
emission_rate |
|
8 |
Velocity(min,max) |
입자 방출 속도 |
에디트 |
velocity_min, velocity_max |
|
9 |
Directior(x,y,z) |
이미터의 방향 |
에디트 |
direction |
|
10 |
Pos(x,y,z) |
입자방출 위치 |
에디트 |
position |
|
11 |
LifeSpan(min, max) |
입자 생명주기 |
에디트 |
time_to_live_min, time_to_live_max |
|
12 |
Duration(min,max) |
입자생성 지속시간 |
에디트 |
duration_min, duration_max |
|
13 |
Repeat(min,max) |
다음주기 시작시간 |
에디트 |
repeat_delay_min, repeat_delay_max |
|
14 |
Start Colour |
입자의색상(시작) |
색상표 |
colour_range_start |
입력 값 (R,G,B,A) |
15 |
End Colour |
입자의색상(끝) |
색상표 |
colour_range_end |
입력 값 (R,G,B,A) |
Affectors 탭 | |||||
번호 |
항목 |
기능 |
입력타입 |
스크립트속성 |
비고 |
1 |
Affector |
Affector 생성&삭제 |
콤보박스 |
affector |
|
2 |
Type |
Affector 타입구분 |
콤보박스 |
affector 타입명 |
번호 |
타입명 |
설정 기능 |
스크립트속성 |
비고 |
1 |
ColourFader |
색상 조절 |
red, green, blue, alpha |
|
2 |
ColourFader2 |
색상 조절 |
red1,green1,blue1,alpha1, red2,green2,blue2,alpha2, state_change |
|
3 |
ColourImage |
색상정볼르 담은 이미지를 불러옴 |
image |
|
4 |
ColourInterpolator |
색상을 임의로 지정가능 |
||
5 |
DeflectorPlane |
입자의 충돌관련 내용 지정 |
plane_point, plane_normal, bounce |
|
6 |
DirectionRandomiser |
randomness, scope, keep_velocity |
||
7 |
LinearForce |
force_vector, force_application |
||
8 |
Rotator |
rotation_speed_range_start, rotation_speed_range_end, rotation_range_start, rotation_range_end |
||
9 |
Scaler |
rate |
파티클 엑셀레이터는 아마도, SDK 버전 1.6 버전 이전에 제작된것으로 보여진다.
때문에 파티클엑셀레이터에서 만들어진 파티클파일(파티클 엑셀레이터의 new 항목을 통해, 각각의 효과를 항목에 넣어서 저장하면 규격에 맞는 파티클파일 *.particle 이 생성된다.)을 SDK에서 제공되는 파티클예제에 적용(결국 엔진에 적용한다는 소리) 할려면 오류가 난다.
1.6 버전 이후의 SDK 사용자라면, 파티클 스크립트의 파티클이름(예: Example/Sun) 앞에 particle_system 이라는 항목을 붙여주도록 한다. 무슨 말인지 모르겠다고? 아래를 보자! 친절하게 설명해주마!!
태양의 효과를 나타낼수 있는 파티클 파일을 생성한다. 파일명 sun.particle
Examples/Sun { quota 100 material Examples/Flare particle_width 20 particle_height 20 cull_each false renderer billboard sorted false local_space false iteration_interval 0 nonvisible_update_timeout 0 billboard_type point billboard_origin center billboard_rotation_type texcoord common_up_vector 0 1 0 point_rendering false accurate_facing false emitter Ellipsoid affector ColourFader |
particle_system Examples/Sun { quota 100 material Examples/Flare particle_width 20 particle_height 20 cull_each false renderer billboard sorted false local_space false iteration_interval 0 nonvisible_update_timeout 0 billboard_type point billboard_origin center billboard_rotation_type texcoord common_up_vector 0 1 0 point_rendering false accurate_facing false emitter Ellipsoid affector ColourFader |
작은 차이지만 이걸 모른다면 몇시간, 몇일동안 고생할수 있다. 나도 그랬으니까... 쩝.