在這個教程中我們將建立一個簡單的粒子系統效果。通過建立這個基本的粒子系統我們將熟悉很多編輯器的介面,希望我們將知道這個編輯器和Ogre的粒子系統能做什麼。
在本教程中我們將建立一個這樣的粒子系統,一個簡單的噴洒效果
提示:本教程假定你沒有修改編輯器的任何資料檔案。
好了,開啟粒子編輯器。預設的粒子系統將被載入到背景,所有主要編輯視窗都將顯示出來,除了Editor Options 視窗雖然顯示但預設只顯示標題。
開啟Template Management 視窗(譯者註:雙擊開啟,其它視窗類別似),選擇Available選項。可使用的粒子系統指令碼名、模版名、是否載入將列表顯示出來。點擊Unload按鈕將卸載預設的粒子系統(澤者註:當前顯示的粒子將不會顯示出來),Particle System Parameters視窗也將不能再調節參數,在視窗下面將顯示“Selected Particle System Template not loaded(譯者註:選擇的粒子模版沒有載入)”。
讓我們來建立一個新的粒子系統。選擇New Template選項,在下邊輸入你的新模版名,這裡讓我們輸入“tutorial1”,要確保“Use Defaults”選項按鈕被選中。
基於引擎預設設定建立一個新的模版
單擊Create按鈕。
現在你的新模版將不會被建立和載入,選擇Available選項。你的新粒子模版將在列表中顯示出來,指令碼名為“NOT—SAVED”——這是因為我們新的模版還僅僅存在於粒子編輯器中,它不會存在於指令碼中,除非我們儲存它。我們將稍後儲存它,先讓我們在這玩一會。
如你已經在列表中選中了新的模版,再次點擊——將會跳到Selected選項中來。單擊Load按鈕。
你的新模版已經被載入了,但現在你還不能看到四處飛散的粒子。因為我們還需要添加至少一個發射器。讓我們轉移到Particel System Parameters視窗。 在這裡應該僅僅只有一個Basic可見的選項。在視窗的下面部分,你應該能看到Add Emitter按鈕在一個下拉控制項旁邊。在發射器類型下拉控制項(澤者註:就是左邊的下拉控制項,預設選擇的是“Box”)中選擇“Ring”,然後單擊Add Emitter按鈕。
一個環形發射器將添加到你的粒子系統,現在你會看到一個名叫"Emitter 1"的選項(譯者註:Basic選項右邊)。你現在應該會看到一些大的白色的方塊在輕微的晃動。這可能看起來並不讓人興奮,但不要氣餒!你所看到的粒子是預設大小和材質——寬、高都是相當大的30個單位,材質是基本的白色。實際上,Ogre真實的預設粒子寬、高是100個單位,但因為這超過了在編輯器設定檔“parameters.cfg”中最小和最大值設定,所以減少到編輯器的最大寬、高值。
添加一個使用預設的白色材質的粒子發射器
讓我們修改少量基本的參數值。在基本參數面板中輸入下面的值。找到參數位置,在後面的輸入框中輸入或選擇對應的值。
Basic
quota = 2000
material = PE/lensflare
particle_width = 3
particle_height = 3
cull_each = false
現在我們看到粒子很小,讓我們修改發射器的參數。
單擊Emitter 1按鈕。這樣,將出來一個發射器地區設定嚮導和發射器方向設定嚮導。發射器地區設定將更好的控制發射器大小和位置。發射器方向設定將控制發射粒子的方向。
在Emitter 1中修改為下面的值:
emitter 1(Ring)
colour = 0 0.4 1 1
emission_rate = 200
position = 0 -20 0
velocity = 0.01
time_to_live = 3
width = 60
height = 60
depth = 2
inner_width = 0.9
inner_height = 0.9
發射器嚮導會自動化佈建一些發射器地區大小
你現在應該看到了一個藍色緩慢移動的粒子小環了吧。
在繼續我們的工作之前,讓我們停留一會。我們不再需要Template Management 視窗開啟,單擊標題列右邊的X按鈕關閉。開啟Editor Options視窗,選擇Camera Control選項。在下拉式清單中選擇攝像機模式為“Target” 。 如果我們想讓粒子系統顯示在編輯視窗的左手邊,單擊右箭頭按鈕來移動攝像機。移動攝像機的位置到粒子系統鄰近Particle System Parameters視窗的一個合適位置。現在關閉Editor Options視窗。
讓我們再添加一個發射器。在Particle System Parameters視窗中重選Basic選項,這次選擇”Point“發射器樣式。單擊Add Emitter按鈕添加一個發射器到粒子系統。
一個名叫”Emitter 2“的選項現在出現了。選擇它,修改它的參數為下面的值:
emitter 2(point)
angle = 4
colour = 0.23 0.54 0.35 1
direction = 0 -1 0
emission_rate = 80
position 0 20 0
velocity_min = 10
velocity_max = 20
time_to_live_min = 1.5
time_to_live_max = 2.5
不時地儲存我們的工作是可取的,避免你的貓在鍵盤上跳來跳去地摧毀了我們的工作(譯者註:我也沒懂起它的意思)。
在狀態列單擊複原按鈕顯示我們原先關閉的編輯視窗。在Template Management視窗單擊Selected選項。輸入一個有效粒子指令檔名(這裡取為test.particle),單擊Save按鈕。會有一個確定框顯示出來,單擊OK,在顯示你已經成功儲存檔案的訊息框中再次單擊OK。
如果你看了一下Available選項,你會發現你的新的粒子系統模版現在有指令碼名出來了。
再次關閉Template Management視窗和Editor Opeions視窗,現在是時候再添加一個發射器了。
在這Basic選項中選擇一個Point發射器樣式,添加一個發射器到粒子系統。選擇這個建立的Emitter 3選項,修改下面的參數:
emitter 3(point)
首先,設定發射器的位置在Emitter 1的環形的左邊。
position = -30 -20 0
設定粒子的速度讓我們看到它在哪兒移動。
velocity = 40
現在讓我們修改發射器的方向讓它和Emitter 2的點相交。在Direction Helper視窗中去不斷測試,直到方向設定正確。(譯者註:後面這方法更簡單)單擊方向參數控制項旁邊的小藍色按鈕來開啟Direction Helper視窗。在下拉式清單中選擇Emitter 2,然後單擊Apply Direction按鈕。
direction = 0.6 0.8 0
輸入下面這些剩下的參數值:
colour = 0.96 0.63 0.77 1
colour_range_end = 0.39 0.39 0.84 1
emission_rate = 20
time_to_live = 1.2
duration = 4
repeat_delay = 2
設定一個發射器的方向向著另一個發射器
現在我們已經有一個發射器位於粒子系統的左手邊了,直接在右手邊再加一個是很笨的。不過,這次我們將用更簡單的方法,因為我們將去複製Emitter 3。
返回到Basic選項,單擊發射器類型下拉框。向下拉到你看到一個叫“Clone Emitter 3”的選項。選擇它,再單擊Add Emitter按鈕。
你的第四個發射器已經添加到你的粒子系統中。它看上去跟Emitter 3像極了,不是嗎?我們要改變的參數僅僅是發射器的位置和方向。
emitter 4(Point)
direction = -0.6 0.8 0
position = 30 -20 0
複製一個發射器是一個快速而簡單的複製一個已經存在的發射器參數。
這裡添加最後一個發射器給我們更想得到的噴洒效果。它同樣也是一個Point類型,選擇並添加它,然後修改下面的參數:
emitter 5(Point)
angle = 10
position = 0 20 0
velocity_min = 40
velocity_max = 50
time_to_live = 3
duration_min = 4
duration_max = 6
repeat_delay_min = 0.5
repeat_delay_max = 1.5
讓我們再一次儲存我們的工作。單擊狀態列上的恢複視窗按鈕(譯者註:在編輯器下面那個圓形按鈕)再次顯示Template Management視窗。選擇Selected選項,再單擊Save按鈕。
提示:發射器在新的粒子系統中有時間延遲以至於不能同步觀察到。我們想看到當一個粒子發射器發射粒子時其它發射器也同時發射粒子。不能同步的原因是因為我們在一個隨機時間點添加了它們。補救辦法是,簡單地在Selected選項中單擊Reload按鈕(先要確定你已經儲存過)。
哈哈,這樣好些了。
在這裡,我們建立一個看起來更加奇怪的粒子系統...讓它看起來更加奇怪!讓我們添加一個效果器。
返回到Basic選項,在效果器類型下拉框中選擇一個叫做“LinearForce”的選項。添加到系統中。
當你添加了效果器,你的粒子將從天上掉下來,就像重力把它們拉下來一樣。
這裡僅僅娛樂一下,選擇affectors選項,然後單擊Randomise按鈕幾次(譯者註:隨機設定參數)。
當你這樣做沒有用時,就讓我們重新手動修改效果器參數吧。單擊Restore按鈕,修改下面的參數:
affector(LinearForce)
force_vector = 0 -500 0
force_application = add
添加一個LinearForce效果器使用隨機值是很好玩的
好了,這些是你學到的,一個噴水的東西。如果你很自豪看到自己的粒子系統建立出來了,你可能想繞著它轉,在不同的角度觀察它,還可能進行螢幕。試著去按”F1“,所有的GUI介面都會消失。使用滑鼠可旋轉螢幕,也可以用"A","W","S"和”D“。試著去按二次暫停鍵,你看看你的粒子發生了什麼。
使用"Free Camera"模式去近距離觀察你建立的粒子系統