Unity的粒子系統(tǒng)(二)

歡迎來到第二篇文章,我們繼續(xù)看粒子系統(tǒng)剩下的選項(xiàng).

3. Shape(形狀模塊)

顧名思義,該模塊可以設(shè)置粒子發(fā)射器的形狀,從而控制粒子的發(fā)射位置和發(fā)射方向.

Shape模塊的默認(rèn)設(shè)置

因?yàn)槊糠NShape下對應(yīng)的Editor界面不太一致,因此我們分批次來說明.

3.1 Shape:Sphere(圓形)和Hemisphere(半圓)

這兩種形狀下的界面板基本一致,因此我們放到一起來說明.

Sphere和Hemisphere的編輯器界面

Sphere

Hemisphere

  • Radius: 球體半徑的大小,單位是米.
  • Radius Thickness: 發(fā)射半徑厚度.球體中發(fā)射粒子的殼的厚度,從最外層向里計(jì)算,值為0 ~ 1,當(dāng)值為0時(shí),只有最外層的球面發(fā)射粒子,當(dāng)為1時(shí),從圓心到球面的整個(gè)球體發(fā)射粒子,我們來看當(dāng)值為0.5時(shí)的形狀:
    Radius Thickness = 0.5

    可以看到從內(nèi)部的球面到外部的球面形成了一個(gè)殼體,粒子從這個(gè)殼體的范圍發(fā)射出來.
  • Arc:圓形發(fā)射器的有效弧度,一周是360°,我們把這個(gè)值設(shè)置為180°看下效果:
    Arc = 180°

    可以看到發(fā)射器的有效范圍變?yōu)榱?80°的圓弧.
    該屬性下還有其他的設(shè)置:
    • Mode: 粒子噴嘴(自己起的名字,可以理解為噴出粒子的位置)在有效范圍內(nèi)的移動(dòng)方式.
      • Random: 噴嘴在殼內(nèi)的有效位置隨機(jī)出現(xiàn)并噴出粒子.
      • Loop: 噴嘴在殼內(nèi)沿著一個(gè)圓的軌跡不停運(yùn)動(dòng)并噴射粒子.


        Loop Mode
      • Ping-Pong: 噴嘴按照乒乓的模式運(yùn)動(dòng),可以理解為先順時(shí)針運(yùn)動(dòng)一周后再逆時(shí)針返回,然后循環(huán).


        Ping-Pong Mode
      • Burst Spread: 這個(gè)功能主要是配合 Emission 模塊中的 Bursts 功能,如果設(shè)置了 Bursts ,那么設(shè)置這個(gè)模式的話可以使爆發(fā)的粒子均勻沿著殼面噴出.
        Burst Spread
    • Spread: 散射角度. 取值為0 ~ 1,含義為每隔多少度來發(fā)射粒子,間隔角度 = Arc * spread的值,比如Arc是360°, Spread設(shè)置為0.1, 那么每隔36°發(fā)射粒子,我還是用上面的例子,當(dāng)設(shè)置了 Bursts 并設(shè)置為 Burst Spread Mode, 效果如下:
      Spread = 0.1

      其他模式下也是同樣的意思,請大家自行測試.
    • Speed: 在 Loop ModePing-Pong Mode 下出現(xiàn)的配置,表示噴嘴在圓形軌跡上的移動(dòng)速度.
  • Texture: 紋理,在粒子系統(tǒng)形狀表面貼上圖片紋理,被影響的粒子會(huì)復(fù)制對應(yīng)位置紋理的顏色.同時(shí)可以使用該屬性配合下面幾個(gè)屬性來裁剪粒子發(fā)射區(qū)域.
  • Clip Channel: 裁剪通道,使用哪種通道來對上面設(shè)置的Texture進(jìn)行裁剪.有RGBA四個(gè)選項(xiàng).
  • Clip Threshold: 裁剪閾值.取值范圍是0 ~ 1,如果 Clip Channel 選擇了 Red, 這個(gè)值設(shè)置為了0.3, 意思是設(shè)置的 Texture 上顏色值的Red分類大于等于0.3的位置才能發(fā)射粒子.
  • Color affects Particles: 顏色影響粒子,勾選后經(jīng)過該 Texture 位置發(fā)射的粒子顏色會(huì)使用該位置紋理的顏色.
  • Alpha affects Particles: 透明度影響粒子,勾選后經(jīng)過該 Texture 位置發(fā)射的粒子透明度會(huì)使用該位置紋理的透明度.
  • Bilinear Filtering: 雙線過濾. 對像素比較少的紋理進(jìn)行優(yōu)化.關(guān)于此概念的理解可以查閱這里:
    紋理的過濾方式
  • Position: 把shape當(dāng)做粒子系統(tǒng)的子物體,設(shè)置shape的位置.
  • Rotation: 設(shè)置shape的旋轉(zhuǎn).
  • Scale: 設(shè)置shape的縮放.
  • Align To Direction: 方向?qū)R,當(dāng)選擇了該設(shè)置后,可以看到所有粒子的Z軸都與自己的初始速度方向保持一致,當(dāng)有需求需要從物體表面垂直噴出粒子效果時(shí),可以使用該選項(xiàng),并且可以與 Start Rotation 一起來設(shè)置.
    設(shè)置Align To Direction
    .
  • Randomize Direction: 使粒子的初始運(yùn)動(dòng)方向隨機(jī)化,當(dāng)值為0的時(shí)候不隨機(jī),粒子的運(yùn)動(dòng)方向有一定的趨勢,這個(gè)趨勢跟發(fā)射器的形狀有關(guān)系,比如當(dāng)是圓形的時(shí)候,更多的是方向是沿著球面的法線方向,當(dāng)是Cone的時(shí)候,更多的是貼著內(nèi)壁,而當(dāng)該值為1的時(shí)候,運(yùn)動(dòng)方向完全隨機(jī).
  • Spherize Direction: 球面化方向,在球形發(fā)射器下很難觀察到,可以把形狀切換為 Box 后設(shè)置該項(xiàng)的值,當(dāng)為0的時(shí)候沒有作用,值為1的時(shí)候,粒子的發(fā)射方向會(huì)以 Shape 的中心為圓心,向虛擬球面的法線方向發(fā)射,類似于 Sphere 形狀下的粒子發(fā)射方向.
  • Randomize Position: 隨機(jī)化位置.距離原有發(fā)射點(diǎn)的位置隨機(jī)化,隨機(jī)范圍是原有位置到最大噴射位置,該值控制隨機(jī)化的權(quán)重,當(dāng)為1的時(shí)候所有粒子的初始位置都會(huì)隨機(jī).
3.2 Shape:Cone(圓錐體)

我們先來看 Cone 形狀的編輯器界面.

Cone Shape Editor

可以看到其中有些屬性我們已經(jīng)說明過,如果沒有特別含義的話就不再寫出了.
Cone

Cone Geometry

作圖水平有限,希望可以讓大家看懂.

  • Angle: 上圖的α角度,值越大,錐頂?shù)陌霃奖儒F底越大,取值范圍是0° ~ 90°, 其他值會(huì)被強(qiáng)制修改到此范圍.
  • Radius: 錐底的半徑大小.
  • Radius Thickness: 圖中所示的殼體厚度.
  • Arc屬性同上.
  • Length: 椎體的高度,只有在 Volume 發(fā)射模式下才能使用.
  • Emit from:粒子的發(fā)射位置.
    • Base: 只從錐底發(fā)射.
    • Volume: 從錐底與錐頂之間的整個(gè)椎體發(fā)射.

其余屬性同上.

3.3 Shape:Donut(甜甜圈)
Donut Editor

Donut Geometry
  • Radius: 大圓的半徑.
  • Donut Radius: 小圓的半徑.
  • Texture: 分布在小圓的橫截面上.

其他屬性同上.

3.4 Shape:Box(盒型)
Box Editor

Box Geometry
  • Emit from:粒子的發(fā)射位置.
    • Volume: 整個(gè)體積內(nèi)發(fā)射粒子.
    • Shell: 從6個(gè)面發(fā)射粒子.
    • Edge: 從12個(gè)邊發(fā)射粒子.
  • Box Thickness: 當(dāng)選擇 Shell 或者 Edge 的時(shí)候出現(xiàn)該選項(xiàng).設(shè)置了XYZ三個(gè)軸分量.
    這個(gè)厚度并不是如表面意思一般,當(dāng)為0的時(shí)候,粒子幾乎可以均勻的從各邊和各面發(fā)射,當(dāng)為1的時(shí)候,會(huì)集中在粒子發(fā)射系統(tǒng)各個(gè)軸反向的邊和面進(jìn)行發(fā)射.

其余屬性同上.

3.5 Mesh(網(wǎng)格), Mesh Renderer(網(wǎng)格渲染),Skinned Mesh Renderer(骨骼網(wǎng)格渲染).

把這三個(gè)合在一起說明,是因?yàn)槿蠸hape的選項(xiàng)設(shè)置基本都是一樣的.


Mesh系列 Editor
  • Mesh: 對應(yīng)不同的Shape可以設(shè)置一個(gè)Mesh,Mesh Renderer或者Skinned Mesh Renderer.
  • Type: 發(fā)射樣式,跟前面所述的 Emit from 有些類似:
    • Vetex: 只在 Mesh 的頂點(diǎn)發(fā)射.
    • Edge: 只在 Mesh 的邊緣線發(fā)射.
    • Triangle: 在模型的三角面上進(jìn)行發(fā)射.
  • Single Material: 獨(dú)立材質(zhì).一個(gè)Mesh可能有多個(gè)材質(zhì),選中該項(xiàng)后需要輸入一個(gè)材質(zhì)編號(hào),那么粒子只會(huì)從該材質(zhì)的位置發(fā)射.
  • Use Mesh Color: 使用網(wǎng)格頂點(diǎn)顏色調(diào)整粒子顏色,如果沒有網(wǎng)格頂點(diǎn),默認(rèn)使用材質(zhì)中的著色器屬性 Color 或者 TintColor. 并不是很理解這個(gè)屬性與 Color affects Particles 的區(qū)別,請知道到的小伙伴留言指導(dǎo)一下.
  • Normal Offset: 法線偏移,粒子生成位置距離原有位置在法線上偏移的距離.
  • UV channel: 可以讓圖片使用指定的UV通道顯示.

其他屬性同上.

3.6 Sprite(精靈),Sprite Renderer(精靈渲染器)
Sprite系列 Editor
  • Sprite: 可以設(shè)置一個(gè) Sprite 或者 Sprite Renderer,粒子會(huì)從 Type 指定的位置發(fā)射.

其余屬性同上.

3.7 Circle(圓形)

Circle Animation

Circle Geometry

Circle Editor

其實(shí) CircleCone 很像, 只不過 Circle 只是一個(gè)底部平面,而且粒子的發(fā)射趨勢是沿著圓面的法線方向,如果設(shè)置 Texture 的話,會(huì)直接貼在圓面上,其余屬性跟 Cone 基本一致.

3.8 Edge(單線形)
Edge Editor

Edge Geometry
  • Radius: 發(fā)射線的長度.

發(fā)射器的形狀是一條線, 其余屬性同上.

3.9 Rectangle(矩形)
Rectangle Editor

Rectangle Geometry

發(fā)射器的形狀是矩形,粒子的發(fā)射方向趨于Z軸正方向.其余屬性同上.

終于結(jié)束了 Shape 的說明,這次請多多休息,然后繼續(xù)向下一篇掙扎.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容