Unity粒子系統

目錄

  • 一、界面參數介紹
    • 1.主模塊
    • 2.Emission 模塊
    • 3.Shape 模塊
    • 4.Velocity over Lifetime 模塊
    • 5.Noise 模塊
    • 6.Limit Velocity Over Lifetime 模塊
    • 7.Inherit Velocity 模塊
    • 8.Force Over Lifetime 模塊
    • 9.Color Over Lifetime 模塊
    • 10.Color By Speed 模塊
    • 11.Size over Lifetime 模塊
    • 12、Size by Speed 模塊
    • 13.Rotation Over Lifetime 模塊
    • 14.Rotation By Speed 模塊
    • 15.External Forces 模塊
    • 16.Collision 模塊
      • 16.1.Planes模式
      • 16.2.World模式
    • 17.Triggers 模塊
    • 18.Sub Emitters 模塊
    • 19.Texture Sheet Animation 模塊
      • 19.1.Grid 模式屬性
      • 19.2.Sprite 模式屬性
    • 20.Lights 模塊
    • 21.Trails 模塊
    • 22.Renderer 模塊
  • 二、常用參數和方法解析(待更新)

一、界面參數介紹

1.主模塊

屬性功能可選值及說明
Duration系統運行的時間長度-
Looping如果啟用此屬性,系統將在其持續時間結束時再次啟動并繼續重復該循環-
Prewarm如果啟用此屬性,系統將初始化,就像已經完成一個完整周期一樣(僅當Looping也啟用時才有效)-
Start Delay啟用此屬性后,系統開始發射前將延遲一段時間(以秒為單位)-
Start Lifetime粒子的初始生命周期-
Start Speed每個粒子在適當方向的初始速度-
3D Start Size如果要分別控制每個軸的大小,請啟用此屬性-
Start Size每個粒子的初始大小-
3D Start Rotation如果要分別控制每個軸的旋轉,請啟用此屬性-
Start Rotation每個粒子的初始旋轉角度-
Flip Rotation使一些粒子以相反的方向旋轉-
Start Color每個粒子的初始顏色-
Gravity Modifier縮放Physics窗口中設置的重力值。值為零會關閉重力-
Simulation Space控制粒子的運動位置是在父對象的局部空間中(因此與父對象一起移動)、在世界空間中還是相對于自定義對象(與您選擇的自定義對象一起移動)-
Simulation Speed調整整個系統更新的速度-
Delta TimeScaledUnscaled之間進行選擇,其中的Scaled使用Time窗口中的Time Scale值,而Unscaled將忽略該值。此屬性對于出現在暫停菜單 (Pause Menu) 上的粒子系統非常有用

Scaled:使用Time窗口中的Time Scale
Unscaled:忽略Time Scale

Scaling Mode選擇如何使用變換中的縮放。設置為HierarchyLocalShapeLocal僅應用粒子系統變換縮放,忽略任何父級。Shape模式將縮放應用于粒子起始位置,但不影響粒子大小

Hierarchy:按層級縮放
Local:僅應用粒子系統變換縮放,忽略任何父級
Shape:將縮放應用于粒子起始位置,但不影響粒子大小

Play on Awake如果啟用此屬性,則粒子系統會在創建對象時自動啟動-
Emitter Velocity選擇粒子系統如何計算Inherit VelocityEmission模塊使用的速度。系統可使用剛體組件(如果存在)或通過跟蹤變換組件的移動情況來計算速度-
Max Particles系統中同時允許的最多粒子數。如果達到限制,則移除一些粒子-
Auto Random Seed如果啟用此屬性,則每次播放時粒子系統看起來都會不同。設置為false時,每次播放時系統都完全相同-
Random Seed禁用自動隨機種子時,此值用于創建唯一的可重復效果-
Stop Action當屬于系統的所有粒子都已完成時,可使系統執行某種操作。當一個系統的所有粒子都已死亡,并且系統存活時間已超過Duration設定的值時,判定該系統已停止。對于循環系統,只有在通過腳本停止系統時才會發生這種情況

Disable:禁用游戲對象
Destroy:銷毀游戲對象
Callback:將OnParticleSystemStopped回調發送給附加到游戲對象的任何腳本

Culling Mode選擇粒子在屏幕外時是否暫停粒子系統模擬。在屏幕外時進行剔除具有最高效率,但您可能希望繼續進行非一次性 (off-one) 效果的模擬

Automatic:循環系統使用Pause,而所有其他系統使用Always Simulate
Pause And Catch-up:系統在屏幕外時停止模擬。當重新進入視圖時,模擬會執行一大步以到達在不暫停的情況下可實現的程度。在復雜系統中,此選項可能會導致性能尖峰
Pause:系統在屏幕外時停止模擬
Always Simulate:無論是否在屏幕上,系統始終處理每個幀的模擬。這對于煙花等一次性效果(在模擬過程中這些效果很明顯)非常有用

Ring Buffer Mode-

Disabled:禁用Ring Buffer Mode,以便系統在粒子生命周期終結時刪除粒子
Pause Until Replaced:在粒子生命周期結束時暫停舊粒子,直至達到Max Particle限制,此時系統會進行粒子再循環,因此舊粒子會重新顯示為新粒子
Loop Until Replaced:在粒子生命周期結束時,粒子將倒回到其生命周期的指定比例,直至達到Max Particle限制,此時系統會進行粒子再循環,因此舊粒子會重新顯示為新粒子

2.Emission 模塊

屬性功能可選值及說明
Rate over Time每個時間單位發射的粒子數。-
Rate over Distance每個移動距離單位發射的粒子數。-
Bursts爆發是指生成粒子的事件。通過這些設置可允許在指定時間發射粒子。

Time:設置發射爆發粒子的時間(粒子系統開始播放后的秒數)。
Count:設置可能發射的粒子數的值。
Cycles:設置播放爆發次數的值。
Interval:設置觸發每個爆發周期的間隔時間(以秒為單位)的值。
Probability:控制每個爆發事件生成粒子的可能性。較高的值使系統產生更多的粒子,而值為 1 將保證系統產生粒子。

3.Shape 模塊

屬性功能可選值及說明
Shape發射體積的形狀

Sphere:在所有方向均勻發射粒子
Hemisphere:在平面其中一面的所有方向均勻發射粒子
Cone:從錐體的底部或主體發射粒子,根據粒子與錐體中心線的距離按比例發射粒子
Box:從盒體形狀的邊、表面或主體發射粒子,粒子在發射器對象的前向 (Z) 方向上移動
Mesh:從Inspector中提供的任意網格形狀發射粒子
MeshRenderer:從引用的游戲對象網格渲染器 (Mesh Renderer) 發射粒子
SkinnedMeshRenderer:從引用的游戲對象帶蒙皮的網格渲染器 (Skinned Mesh Renderer) 發射粒子
Sprite:從Inspector中提供的精靈形狀發射粒子
SpriteRenderer:從引用的游戲對象精靈渲染器 (Sprite Renderer) 發射粒子
Circle:從圓形的中心或邊緣均勻發射粒子,粒子僅在圓形的平面內移動
Edge:從線段發射粒子,粒子在發射器對象的向上 (Y) 方向上移動
Donut:從環面發射粒子,粒子從環面的環向外移動
Rectangle:從矩形發射粒子,粒子從矩形向上移動

Radius形狀的圓形半徑數值,定義圓形、錐體、環形等形狀的半徑大小
Radius Thickness發射粒子的體積比例值為 0 表示從形狀的外表面發射粒子;
值為 1 表示從整個體積發射粒子;
介于兩者之間的值將使用體積的一定比例
Texture用于為粒子著色和丟棄粒子的紋理-
Clip Channel紋理中用于丟棄粒子的通道-
Clip Threshold將粒子映射到紋理上的位置時,丟棄像素顏色低于此閾值的所有粒子-
Color affects Particles粒子顏色受紋理顏色影響-
Alpha affects Particles粒子 Alpha 受紋理 Alpha 影響-
Bilinear Filtering在讀取紋理時,無論紋理尺寸如何,均組合 4 個相鄰樣本以獲得更平滑的粒子顏色變化-
Position將一個偏移應用于生成粒子的發射器形狀-
Rotation旋轉生成粒子的發射器形狀-
Scale更改生成粒子的發射器形狀的大小-
Align to Direction根據粒子的初始行進方向定向粒子-
Randomize Direction將粒子方向朝隨機方向混合設置為 0 時,此設置不起作用;
設置為 1 時,粒子方向完全隨機
Spherize Direction將粒子方向朝球面方向混合,從它們的變換中心向外行進設置為 0 時,此設置不起作用;
設置為 1 時,粒子方向從中心向外(與 Shape 設置為 Sphere 時的行為相同)
Randomize Position以隨機量移動粒子,直至達到指定值此屬性設置為 0 時,此設置不起作用;
任何其他值都會對粒子的生成位置應用一些隨機性
Angle錐體在其頂點處的角度角度為 0 時產生圓柱體,
角度為 90 度時產生圓盤
Arc形成發射器形狀的整圓的角部-
Mode定義 Unity 如何在形狀的弧形或半徑周圍生成粒子

Random:在弧形或半徑周圍隨機生成粒子
Loop:在形狀的弧形或半徑周圍依序生成粒子,并在每個周期結束時循環回到起點
Ping - Pong:與Loop基本相同,不同之處在于每個連續循環的發生方向與上一個循環相反
Burst Spread:在形狀周圍均勻分布粒子生成位置,最適合與爆發發射一起使用

Spread弧形或半徑周圍可產生粒子的離散間隔

例如,值為 0 表示允許在弧形或半徑周圍的任何位置生成粒子,值為 0.1 表示僅在形狀周圍或半徑上以 10% 的間隔生成粒子

Speed發射位置圍繞弧形或半徑移動的速度使用值字段旁邊的小黑色下拉菜單將此屬性設置為Constant可使值始終保持不變,設置為Curve可使值隨時間變化。僅當Mode設置為Random以外的其他設置時,此選項才可用
Length錐體的長度僅當Emit from:屬性設置為Volume時,此選項才適用
Emit from:錐體或盒體發射粒子的部分

BaseVolume(用于錐體);
EdgeShellVolume(用于盒體)

Type指定從何處發射粒子(針對MeshSprite相關模式)

Vertex:從頂點發射粒子
Edge:從邊發射粒子
Triangle:從三角形發射粒子。默認情況下,此設置為Vertex

Single Material指定是否從特定子網格(由材質索引號標識)發射粒子啟用此屬性后會顯示數字字段,可指定材質索引號
Use Mesh Colors使用網格頂點顏色調整粒子顏色,或者,如果頂點顏色不存在,則使用材質中的著色器顏色屬性“Color“或”TintColor”-
Normal Offset在距離網格或精靈表面多遠處發射粒子(在表面法線的方向上)-
UV Channel選擇將源網格上的哪個 UV 通道用于對紋理進行采樣-

4.Velocity over Lifetime 模塊

屬性功能可選值及說明
Linear X, Y, Z粒子在X、Y和Z軸上的線性速度-
Space指定Linear X, Y, Z軸是參照本地空間還是世界空間本地空間:粒子速度參照粒子系統的父對象坐標系
世界空間:粒子速度參照整個游戲世界的坐標系
Orbital X, Y, Z粒子圍繞X、Y和Z軸的軌道速度-
Offset X, Y, Z軌道中心的位置,適用于軌道運行粒子-
Radial粒子遠離/朝向中心位置的徑向速度-
Speed Modifier在當前行進方向上/周圍向粒子的速度應用一個乘數數值,例如0.5表示將粒子速度乘以0.5,使速度減半;2表示速度加倍等

5.Noise 模塊

屬性功能
Separate Axes在每個軸上獨立控制強度和重新映射。
Strength通過一條曲線定義噪聲在粒子的生命周期內對粒子的影響有多強。值越高,粒子移動越快和越遠。
Frequency低值會產生柔和、平滑的噪聲,而高值會產生快速變化的噪聲。此屬性可控制粒子改變行進方向的頻率以及方向變化的突然程度。
Scroll Speed隨著時間的推移而移動噪聲場可產生更不可預測和不穩定的粒子移動。
Damping啟用此屬性后,強度與頻率成正比。將這些值綁在一起意味著可在保持相同行為但具有不同大小的同時縮放噪聲場。
Octaves指定組合多少層重疊噪聲來產生最終噪聲值。使用更多層可提供更豐富、更有趣的噪聲,但會顯著增加性能成本。
Octave Multiplier對于每個附加的噪聲層,按此比例降低強度。
Octave Scale對于每個附加的噪聲層,按此乘數調整頻率。
Quality較低的質量設置可顯著降低性能成本,但也會影響噪聲的有趣程度。請使用能為您提供所需行為的最低質量以獲得最佳性能。
Remap將最終噪聲值重新映射到不同的范圍。
Remap Curve描述最終噪聲值如何變換的曲線。例如,可使用此選項來創建從高點開始并以零結束的曲線,從而選擇噪聲場的較低范圍并忽略較高范圍。
Position Amount用于控制噪聲對粒子位置影響程度的乘數。
Rotation Amount用于控制噪聲對粒子旋轉(以度/秒為單位)影響程度的乘數。
Size Amount用于控制噪聲對粒子大小影響程度的乘數。

6.Limit Velocity Over Lifetime 模塊

屬性功能
Separate Axes將軸拆分為單獨的 X、Y 和 Z 分量。
Speed設置粒子的速度限制。
Space選擇速度限制是適用局部空間還是世界空間。僅當啟用了 Separate Axes 時,此選項才可用。
Dampen當粒子速度超過速度限制時,粒子速度降低的比例。
Drag對粒子速度施加線性阻力。
Multiply by Size啟用此屬性后,較大的粒子會更大程度上受到阻力系數的影響。
Multiply by Velocity啟用此屬性后,較快的粒子會更大程度上受到阻力系數的影響。

7.Inherit Velocity 模塊

屬性功能可選值及說明
Mode指定如何將發射器速度應用于粒子Current 發射器的當前速度將應用于每一幀上的所有粒子。例如,如果發射器減速,所有粒子也將減速。
Initial 每個粒子出生時將施加一次發射器的速度。粒子出生后對發射器速度的任何改變都不會影響該粒子。
Multiplier粒子應該繼承的發射器速度的比例。

8.Force Over Lifetime 模塊

屬性功能
X, Y, Z在 X、Y 和 Z 軸上施加到每個粒子的力。
Space選擇是在局部空間還是在世界空間中施力。
Randomize使用 Two Constants 或 Two Curves 模式時,此屬性會導致在每個幀上在定義的范圍內選擇新的作用力方向。因此會產生更動蕩、更不穩定的運動。

9.Color Over Lifetime 模塊

屬性功能
Color粒子在其生命周期內的顏色漸變。漸變條的左側點表示粒子壽命的開始,而漸變條的右側表示粒子壽命的結束。例如,粒子可能從橙色開始,隨著時間的推移逐漸變淡,并在其壽命結束時不可見。

10.Color By Speed 模塊

屬性功能
Color在速度范圍內定義的粒子的顏色漸變。
Speed Range顏色漸變映射到的速度范圍的下限和上限(超出范圍的速度將映射到漸變的端點)。

11.Size over Lifetime 模塊

屬性功能
Separate Axes在每個軸上獨立控制粒子大小。
Size通過一條曲線定義粒子的大小在其生命周期內如何變化。

12、Size by Speed 模塊

屬性功能
Separate Axes在每個軸上獨立控制粒子大小。
Size通過曲線定義粒子在速度范圍內的大小。
Speed Range大小曲線映射到的速度范圍的下限和上限(超出范圍的速度將映射到曲線的端點)。

13.Rotation Over Lifetime 模塊

屬性功能可選值及說明
Separate Axes允許根據每個軸指定旋轉。啟用此選項后,即可為 X、Y 和 Z 軸中的每個軸設置旋轉。-
Angular Velocity旋轉速度(以度/秒為單位)。請參閱下文以了解更多信息。

Constant:粒子旋轉的速度,以度/秒為單位。
Curve:角速度可設定為在粒子的生命周期內變化。Inspector 底部會出現一個曲線編輯器,可用于控制粒子在整個生命周期內的速度變化情況(若勾選了 Separate Axes 復選框,則可為每個 X、Y 和 Z 軸賦予曲線速度值)。
Random Between Two Constants:角速度屬性具有兩個角度,允許在它們之間旋轉。
Random Between Two Curves:角速度可設定為在粒子的生命周期(由曲線指定)內變化。在此模式下,兩條曲線均為可編輯狀態,每個粒子將在您定義的這兩條曲線的范圍之間選擇一條隨機曲線。

14.Rotation By Speed 模塊

屬性功能
Separate Axes為每個旋轉軸獨立控制旋轉。
Angular Velocity旋轉速度(以度/秒為單位)。
Speed Range大小曲線映射到的速度范圍的下限和上限(超出范圍的速度將映射到曲線的端點)。

15.External Forces 模塊

屬性功能
Multiplier應用于風區外力的比例值。
Influence Filter選擇是否基于__層遮罩 (Layer Mask)__ 或通過顯式__列表 (List)__ 包含力場。
List定義可影響此粒子系統的力場的顯式列表。當 Influence Filter 設置為 List 時,將顯示此屬性。
Influence Mask使用層遮罩來確定哪些力場影響此粒子系統。當 Influence Filter 設置為 Layer Mask 時,將顯示此屬性。

16.Collision 模塊

16.1.Planes模式

屬性功能
Planes 彈出菜單選擇 Planes 模式。
Planes用于定義碰撞平面的變換的可擴展列表。
Visualization選擇要將 Scene 視圖中的碰撞平面輔助圖標顯示為線框網格還是實體平面。
Scale Plane用于可視化的平面大小。
Dampen粒子碰撞后損失的速度比例。
Bounce粒子碰撞后從表面反彈的速度比例。
Lifetime Loss粒子碰撞后損失的總生命周期比例。
Min Kill Speed碰撞后運動速度低于此速度的粒子將從系統中予以移除。
Max Kill Speed碰撞后運動速度高于此速度的粒子將從系統中予以移除。
Radius Scale允許調整粒子碰撞球體的半徑,使其更貼近粒子圖形的可視邊緣。
Send Collision Messages如果啟用此屬性,則可從腳本中通過 OnParticleCollision 函數檢測粒子碰撞。
Visualize BoundsScene 視圖中將每個粒子的碰撞邊界渲染為線框形狀。

16.2.World模式

屬性功能可選值及說明
World彈出菜單選擇World模式/
Collision Mode設置碰撞模式為3D或2D3D、2D
Dampen粒子碰撞后損失的速度比例/
Bounce粒子碰撞后從表面反彈的速度比例/
Lifetime Loss粒子碰撞后損失的總生命周期比例/
Min Kill Speed碰撞后運動速度低于此速度的粒子將從系統中予以移除/
Max Kill Speed碰撞后運動速度高于此速度的粒子將從系統中予以移除/
Radius Scale2D或3D的設置/
Collision Quality使用下拉選單來設置粒子碰撞的質量,影響有多少粒子可以穿過碰撞體以及計算資源的消耗

High:碰撞始終使用物理系統來檢測碰撞結果,最耗費資源但最準確。
Medium (Static Colliders):碰撞使用一組體素來緩存先前的碰撞,以在以后的幀中更快地重用,僅適用于靜態碰撞體,每幀查詢物理系統的次數多于Low
Low (Static Colliders):與Medium類似,使用體素緩存碰撞,僅適用于靜態碰撞體,每幀查詢物理系統的次數少于Medium

Collides With粒子只會與所選層上的對象發生碰撞/
Max Collision Shapes粒子碰撞可包括的碰撞形狀個數,多余的形狀將被忽略,且地形優先/
Enable Dynamic Colliders勾選此選項可將動態碰撞體包括在粒子響應碰撞的對象集中,否則粒子僅響應靜態碰撞體的碰撞TrueFalse
Voxel Size使用MediumLow質量碰撞時,Unity會在網格結構中緩存碰撞,此設置控制著網格大小/
Collider Force在粒子碰撞后對物理碰撞體施力/
Multiply by Collision Angle向碰撞體施力時,根據粒子與碰撞體之間的碰撞角度來縮放力的強度/
Multiply by Particle Speed向碰撞體施力時,根據粒子的速度來縮放力的強度/
Multiply by Particle Size向碰撞體施力時,根據粒子的大小來縮放力的強度/
Send Collision Messages如果選中此復選框,則允許從腳本中通過OnParticleCollision函數檢測粒子碰撞TrueFalse
Visualize BoundsScene視圖中預覽每個粒子的碰撞球體/

17.Triggers 模塊

屬性描述可選值及說明
Inside指定粒子系統在粒子位于碰撞體內的每一幀對粒子采取的操作

Callback:將粒子添加到可在 OnParticleTrigger() 回調中獲取的列表中
Kill:銷毀粒子
Ignore:忽略粒子

Outside指定粒子系統在粒子位于碰撞體外的每一幀對粒子采取的操作

Callback:將粒子添加到可在 OnParticleTrigger() 回調中獲取的列表中
Kill:銷毀粒子
Ignore:忽略粒子

Enter指定粒子系統在粒子進入碰撞體的幀對粒子采取的操作

Callback:將粒子添加到可在 OnParticleTrigger() 回調中獲取的列表中
Kill:銷毀粒子
Ignore:忽略粒子

Exit指定粒子系統在粒子退出碰撞體的幀對粒子采取的操作

Callback:將粒子添加到可在 OnParticleTrigger() 回調中獲取的列表中
Kill:銷毀粒子
Ignore:忽略粒子

Collider Query Mode指定此粒子系統用于獲取有關與粒子交互的碰撞體的信息的方法。這增加了處理觸發器模塊所需的資源,因此,如果不需要任何額外的碰撞信息,請將此屬性設置為 Disabled

Disabled:沒有獲取關于每個粒子與哪個碰撞體交互的任何信息
One:獲取有關每個粒子交互的第一個碰撞體的信息。如果粒子與幀中的多個碰撞體交互,則返回 Collider 列表中與粒子交互的第一個碰撞體
All:獲取有關每個粒子交互的每個碰撞體的信息

Radius Scale粒子的碰撞體邊界。允許您更緊密地將粒子的碰撞體邊界匹配到粒子的視覺外觀。如果粒子為圓形且其紋理具有淡入淡出效果,這將很有用,因為默認粒子碰撞體將在粒子達到視覺效果之前位于觸發器內。請注意,當事件實際觸發時,此設置不會更改,但是可以延遲或提前達到觸發器的視覺效果

輸入 1:可以使粒子碰撞體保持同一大小,并使事件在粒子接觸碰撞體時發生
輸入小于 1 的值:可以使粒子碰撞體更小,并使觸發看起來是在粒子穿透碰撞體之前發生
輸入大于 1 的值:可以使粒子碰撞體更大,并使觸發看起來是在粒子穿透碰撞體之后發生

Visualize Bounds指示是否在 Scene 視圖中顯示每個粒子的碰撞體邊界。啟用此屬性可顯示碰撞體邊界,而禁用則可隱藏碰撞體邊界

True(啟用):在 Scene 視圖中顯示碰撞體邊界
False(禁用):在 Scene 視圖中隱藏碰撞體邊界

18.Sub Emitters 模塊

屬性描述
Sub Emitters配置一個子發射器列表,并選擇它們的觸發條件以及它們從父粒子繼承的屬性。

要觸發子發射器,可使用以下條件:

Birth:粒子的創建時間。
Collision:粒子與對象發生碰撞的時間。
Death:粒子的銷毀時間。
Trigger:粒子與觸發碰撞體相互作用的時間。
Manual:僅在通過腳本進行請求時觸發。請參閱 ParticleSystem.TriggerSubEmitter。

19.Texture Sheet Animation 模塊

19.1.Grid 模式屬性

屬性功能可選值及說明
Mode彈出菜單選擇Grid模式
Tiles紋理在X(水平)和Y(垂直)方向上劃分的區塊數量
AnimationAnimation模式可設置為Whole SheetSingle Row(即精靈圖集的每一行代表一個單獨的動畫序列)

Whole Sheet:將整個精靈圖集作為一個動畫序列
Single Row:精靈圖集的每一行代表一個單獨的動畫序列

Time Mode選擇粒子系統如何在動畫中對幀進行采樣

Lifetime:在粒子的生命周期內使用動畫曲線對幀進行采樣
Speed:根據粒子的速度對幀進行采樣。速度范圍指定選擇幀的最小和最大速度范圍
FPS:根據指定的每秒幀數值對幀進行采樣

Row Mode使粒子系統從紋理幀中選擇一行以生成動畫。僅當Animation模式設置為Single Row時,此屬性才可用

Custom:將紋理幀的特定行用于動畫
Random:為每個粒子隨機選擇一行來生成動畫
Mesh Index:根據分配給粒子的網格索引 (Mesh Index) 選擇一行。需要確保使用特定網格的粒子也要使用相同的紋理時,此功能很有用

Random Row隨機從精靈圖集選擇一行以生成動畫。僅當Animation模式設置為Single Row時,此選項才可用
Row從精靈圖集選擇特定行以生成動畫。僅當選擇Single Row模式且禁用Random Row時,此選項才可用
Frame over Time通過一條曲線指定動畫幀隨著時間的推移如何增加
Start Frame允許指定粒子動畫應從哪個幀開始(對于在每個粒子上隨機定相動畫非常有用)
Cycles動畫序列在粒子生命周期內重復的次數
Affected UV Channels允許具體指定粒子系統影響的 UV 流

19.2.Sprite 模式屬性

屬性功能
Mode彈出菜單選擇Sprites模式
Frame over Time通過一條曲線指定動畫幀隨著時間的推移如何增加
Start Frame允許指定粒子動畫應從哪個幀開始(對于在每個粒子上隨機定相動畫非常有用)
Cycles動畫序列在粒子生命周期內重復的次數
Enabled UV Channels允許具體指定粒子系統影響的UV流

20.Lights 模塊

屬性功能
Light分配一個光照預制件來描述粒子光照外觀。
Ratio一個介于 0 和 1 之間的值,表示將接受光照的粒子的比例。
Random Distribution選擇是隨機分配還是定期分配光照。設置為 true 時,每個粒子都有根據 Ratio 值隨機接受光照的機會。較高的值可增加粒子接受光照的概率。設置為 false 時,由 Ratio 控制新創建的粒子接受光照的頻率(例如,每第 N 個粒子將接受光照)。
Use Particle Color設置為 True 時,光照的最終顏色將通過其附加到的粒子的顏色進行調制。如果設置為 False,則使用光照顏色而不進行任何修改。
Size Affects Range啟用此屬性后,在光照中指定的__范圍 (Range)__ 將受到粒子大小的影響。
Alpha Affects Intensity啟用此屬性后,光照的__強度 (Intensity)__ 將受到粒子 Alpha 值的影響。
Range Multiplier使用此曲線在粒子的生命周期內將一個自定義乘數應用于光照范圍。
Intensity Multiplier使用此曲線在粒子的生命周期內將一個自定義乘數應用于光照強度。
Maximum Lights使用此設置可避免意外創建大量光照,大量光照可能會使 Editor 無響應或使應用程序運行速度非常慢。

21.Trails 模塊

屬性功能可選值及說明
Mode選擇如何為粒子系統生成軌跡。

Particle 模式:可創建每個粒子在自身路徑中留下固定軌跡的效果。
Ribbon 模式:可創建根據存活時間連接每個粒子的軌跡帶。

Ratio一個介于 0 和 1 之間的值,表示已分配軌跡的粒子的比例。Unity 隨機分配軌跡,因此該值表示概率。

取值范圍為 0 到 1 的數值

Lifetime軌跡中每個頂點的生命周期,表示為所屬粒子的生命周期的乘數。當每個新頂點添加到軌跡時,該頂點將在其存在時間超過其總生命周期后消失。

Minimum Vertex Distance定義粒子在其軌跡接收新頂點之前必須經過的距離。

World Space啟用此屬性后,即便使用 Local Simulation Space,軌跡頂點也不會相對于粒子系統的游戲對象移動。相反,軌跡頂點將被置于世界空間中,并忽略粒子系統的任何移動。

true:啟用,軌跡頂點置于世界空間
false:禁用,軌跡頂點相對粒子系統游戲對象移動

Die With Particles如果選中此框,軌跡會在粒子死亡時立即消失。如果未選中此框,則剩余的軌跡將根據自身的剩余生命周期自然到期。

true:軌跡隨粒子死亡立即消失
false:軌跡按自身剩余生命周期自然到期

Ribbon Count選擇要在整個粒子系統中渲染的軌跡帶數量。值為 1 將創建連接每個粒子的單個軌跡帶。但是,大于 1 的值將創建連接每第 N 個粒子的軌跡帶。例如,使用值 2 時,將有一條軌跡帶連接粒子 1、3、5,另一條軌跡帶連接粒子 2、4、6,以此類推。粒子的排序取決于它們的存活時間。

正整數

Split Sub Emitter Ribbons在用作子發射器的系統上啟用此屬性時,從同一父系統粒子生成的粒子將共享一個軌跡帶。

true:啟用,同一父系統粒子生成的粒子共享軌跡帶
false:禁用,不共享軌跡帶

Texture Mode選擇如何將紋理應用于粒子軌跡。

Stretch 模式:將紋理沿軌跡的整個長度拉伸。
Tile 模式:每 N 個距離單位重復一次紋理。重復率基于材質中的 Tiling 參數控制。
Repeat per Segment 模式:沿軌跡重復紋理,每段軌跡重復一次。重復率基于材質中的 Tiling 參數控制。
Distribute per Segment 模式:將紋理一次性映射到軌跡的整個長度,并假設所有頂點均勻分布。

Size affects Width如果啟用此屬性(選中復選框),則軌跡寬度受粒子大小影響。

true:軌跡寬度受粒子大小影響
false:軌跡寬度不受粒子大小影響

Size affects Lifetime如果啟用此屬性(選中復選框),則軌跡生命周期受粒子大小影響。

true:軌跡生命周期受粒子大小影響
false:軌跡生命周期不受粒子大小影響

Inherit Particle Color如果啟用此屬性(選中復選框),則軌跡顏色由粒子顏色調制。

true:軌跡顏色由粒子顏色調制
false:軌跡顏色不受粒子顏色影響

Color over Lifetime通過一條曲線控制整個軌跡在其附著粒子的整個生命周期內的顏色。

Width over Trail通過一條曲線控制軌跡沿其長度的寬度。

Color over Trail通過一條曲線控制軌跡沿其長度的顏色。

Generate Lighting Data通過啟用此屬性(選中復選框),可在構建軌跡幾何體時包含法線和切線。這樣允許它們使用具有場景光照的材質,例如通過標準著色器,或通過使用自定義著色器。

true:構建軌跡幾何體時包含法線和切線
false:構建軌跡幾何體時不包含法線和切線

Shadow Bias文檔未明確說明該屬性具體功能,推測與軌跡陰影的偏移等相關

22.Renderer 模塊

屬性功能可選值及說明
Render Mode如何從圖形圖像(或網格)生成渲染圖像

Billboard:粒子呈現為公告牌并面向在 Render Alignment 中指定的方向。
Stretched Billboard:粒子面向攝像機,但會應用各種縮放。
Camera Scale:根據攝像機運動拉伸粒子,設置為 0 可禁用攝像機運動拉伸。
Velocity Scale:根據粒子速度按比例拉伸粒子,設置為 0 可禁用基于速度的拉伸。
Length Scale:沿著粒子的速度方向根據粒子當前大小按比例拉伸粒子,設置為 0 會使粒子消失。
Freeform Stretching:指示粒子是否應使用自由形式拉伸,啟用后正面查看粒子時不會變薄。
Rotate With Stretch:指示是否根據粒子的拉伸方向旋轉粒子,僅在 Freeform Stretching 啟用時有效;禁用 Freeform Stretching 時,粒子總是根據拉伸方向旋轉,即使此屬性禁用也是如此。
Horizontal Billboard:粒子平面與 XZ“地板”平面平行。
Vertical Billboard:粒子在世界 Y 軸上直立,但轉向面向攝像機。
Mesh:從 3D 網格而非從紋理渲染粒子。
None:使用 Trails 模塊時,如果只想渲染軌跡并隱藏默認渲染,則可使用此屬性。

Normal Direction用于粒子圖形的光照法線的偏差值為 1.0 表示法線指向攝像機,值為 0.0 表示法線指向屏幕中心(僅限公告牌模式)
Material用于渲染粒子的材質/
Trail Material用于渲染粒子軌跡的材質僅當啟用了 Trails 模塊時可用
Sort Mode繪制粒子(因此覆蓋粒子)的順序

By Distance (from the Camera):按與相機的距離排序。
Oldest in Front:最老的粒子在前面。
Youngest in Front:最新的粒子在前面。

Sorting Fudge粒子系統排序的偏差較低的值會增加粒子系統在其他透明游戲對象(包括其他粒子系統)上繪制的相對幾率,僅影響整個系統在場景中的顯示位置,不影響系統中單個粒子的排序
Min Particle Size最小粒子大小(無論其他設置如何),表示為視口大小的一個比例僅當 Rendering Mode 設置為 Billboard 時應用
Max Particle Size最大粒子大小(無論其他設置如何),表示為視口大小的一個比例僅當 Rendering Mode 設置為 Billboard 時應用
Render Alignment使用下拉選單選擇粒子公告牌面向的方向

View:粒子面向攝像機平面。
World:粒子與世界軸對齊。
Local:粒子與游戲對象的變換組件對齊。
Facing:粒子面向攝像機游戲對象的直接位置。
Velocity:粒子面向其速度方向。

Enable GPU Instancing控制是否要使用 GPU 實例化來渲染粒子系統需要使用網格渲染模式并使用兼容的著色器
Flip在指定軸上鏡像一定比例的粒子較高的值會翻轉更多的粒子
Allow Roll控制面向攝像機的粒子是否可以圍繞攝像機的 Z 軸旋轉禁用此屬性對于 VR 應用特別有用,因為 HMD 滾動可能會給粒子系統帶來不良后果
Pivot修改旋轉粒子的中心軸心點此值是粒子大小的乘數
Visualize Pivot在 Scene 視圖中預覽粒子軸心點/
Masking設置粒子系統渲染的粒子在與精靈遮罩交互時的行為方式
Apply Active Color Space在線性顏色空間中渲染時,系統會在將粒子顏色上傳到 GPU 之前從伽馬空間轉換粒子顏色/
Custom Vertex Streams配置材質的頂點著色器中可用的粒子屬性有關更多詳細信息,請參閱粒子頂點流
Cast Shadows如果啟用此屬性,陰影投射光源照在粒子系統上時將產生陰影

On:選擇 On 啟用陰影。
Off:選擇 Off 禁用陰影。
Two-Sided:選擇 Two Sided 允許從網格的任一側投射陰影(這意味著不考慮背面剔除)。
Shadows Only:選擇 Shadows Only 使陰影可見,但網格本身不可見。

Shadow Bias沿著光照方向移動陰影以消除因使用公告牌來模擬體積而導致的陰影瑕疵/
Receive Shadows決定陰影是否可投射到粒子上只有不透明材質才能接受陰影
Sorting Layer渲染器排序圖層的名稱/
Order in Layer此渲染器在排序圖層中的順序/
Light Probes基于探針的光照插值模式/
Reflection Probes如果啟用此屬性,并且場景中存在反射探針,則會為此游戲對象拾取反射紋理,并將此紋理設置為內置的著色器 uniform 變量/
Anchor Override使用光照探針或反射探針系統時用變換來確定插值位置/

二、常用參數和方法解析(待更新)

  1. 獲取組件與模塊:通過 GetComponent<ParticleSystem>() 獲取粒子系統組件,再通過 mainemission 等屬性獲取粒子系統的各個模塊。
  2. 常用參數設置
    • mainModule.startSpeed:設置粒子的起始速度。
    • mainModule.startSize:設置粒子的起始大小。
    • mainModule.startColor:設置粒子的起始顏色。
    • mainModule.loop:設置粒子系統是否循環播放。
    • emissionModule.rateOverTime:設置每秒發射的粒子數量。
    • sizeOverLifetimeModule.size:通過 AnimationCurve 控制粒子大小隨時間的變化。
  3. 常用方法調用
    • particleSys.Play():播放粒子系統。
    • particleSys.Stop():停止粒子系統。
    • particleSys.Clear():清除所有粒子。

示例代碼

using System;
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.Events;namespace LumberDemo
{public class PatticleTool : MonoBehaviour{[Header("開啟粒子觸發進入事件")]public bool IsOpenEnter = false;[Header("開啟粒子觸發退出事件")]public bool IsOpenExit = false;[Header("開啟粒子位于碰撞體內時觸發事件")]public bool IsOpenInside = false;[Header("開啟粒子位于碰撞體外時觸發事件")]public bool IsOpenOutside = false;protected ParticleSystem particle;List<ParticleSystem.Particle> inside;List<ParticleSystem.Particle> enter;List<ParticleSystem.Particle> outside;List<ParticleSystem.Particle> exit;private UnityEvent<List<ParticleSystem.Particle>> _triggerInsideEvent;private UnityEvent<List<ParticleSystem.Particle>> _triggerEnterEvent;private UnityEvent<List<ParticleSystem.Particle>> _triggerOutsideEvent;private UnityEvent<List<ParticleSystem.Particle>> _triggerExitEvent;private UnityEvent<GameObject> _onCollisionEvent;private void Awake(){Init();}public UnityEvent<List<ParticleSystem.Particle>> OnTriggerInsideEvent{get{if (_triggerInsideEvent == null){_triggerInsideEvent = new UnityEvent<List<ParticleSystem.Particle>>();}return _triggerInsideEvent;}}public UnityEvent<List<ParticleSystem.Particle>> OnTriggerOutsideEvent{get{if (_triggerOutsideEvent == null){_triggerOutsideEvent = new UnityEvent<List<ParticleSystem.Particle>>();}return _triggerOutsideEvent;}}public UnityEvent<List<ParticleSystem.Particle>> OnTriggerEnterEvent{get{if (_triggerEnterEvent == null){_triggerEnterEvent = new UnityEvent<List<ParticleSystem.Particle>>();}return _triggerEnterEvent;}}public UnityEvent<List<ParticleSystem.Particle>> OnTriggerExitEvent{get{if (_triggerExitEvent == null){_triggerExitEvent = new UnityEvent<List<ParticleSystem.Particle>>();}return _triggerExitEvent;}}public UnityEvent<GameObject> OnCollisionEvent{get{if (_onCollisionEvent == null){_onCollisionEvent = new UnityEvent<GameObject>();}return _onCollisionEvent;}}/// <summary>/// 初始化/// </summary>private void Init(){particle = GetComponent<ParticleSystem>();if (!(IsOpenEnter || IsOpenExit || IsOpenInside || IsOpenOutside)){return;}if (IsOpenInside)inside = new List<ParticleSystem.Particle>();if (IsOpenEnter)enter = new List<ParticleSystem.Particle>();if (IsOpenExit)exit = new List<ParticleSystem.Particle>();if (IsOpenOutside)outside = new List<ParticleSystem.Particle>();}/// <summary>/// 添加粒子觸發體/// </summary>/// <param name="colliderTrs"></param>public void AddPatticleCollider(Transform colliderTrs){particle.trigger.AddCollider(colliderTrs);}int insideNum;int enterNum;int exitNum;int outsideNum;/// <summary>/// 設置粒子觸發/// </summary>protected virtual void OnParticleTrigger(){if (IsOpenInside){insideNum = particle.GetTriggerParticles(ParticleSystemTriggerEventType.Inside, inside);if (insideNum > 0)OnInSideTrigger(inside);//將修改后的粒子重新分配回粒子系統particle.SetTriggerParticles(ParticleSystemTriggerEventType.Inside, inside);}if (IsOpenEnter){enterNum = particle.GetTriggerParticles(ParticleSystemTriggerEventType.Enter, enter);if (enterNum > 0)OnEnterTrigger(inside);// 將修改后的粒子重新分配回粒子系統particle.SetTriggerParticles(ParticleSystemTriggerEventType.Enter, enter);}if (IsOpenExit){exitNum = particle.GetTriggerParticles(ParticleSystemTriggerEventType.Exit, exit);if (exitNum > 0)OnExitTrigger(inside);// 將修改后的粒子重新分配回粒子系統particle.SetTriggerParticles(ParticleSystemTriggerEventType.Exit, exit);}if (IsOpenOutside){outsideNum = particle.GetTriggerParticles(ParticleSystemTriggerEventType.Outside, outside);if (outsideNum > 0)OnOutsideTrigger(inside);// 將修改后的粒子重新分配回粒子系統particle.SetTriggerParticles(ParticleSystemTriggerEventType.Outside, outside);}}private void OnInSideTrigger(List<ParticleSystem.Particle> inside){if (IsOpenInside)OnTriggerInsideEvent?.Invoke(inside);}private void OnEnterTrigger(List<ParticleSystem.Particle> inside){if (IsOpenEnter)OnTriggerEnterEvent?.Invoke(inside);}private void OnExitTrigger(List<ParticleSystem.Particle> inside){if (IsOpenExit)OnTriggerExitEvent?.Invoke(inside);}private void OnOutsideTrigger(List<ParticleSystem.Particle> inside){if (IsOpenOutside)OnTriggerOutsideEvent?.Invoke(inside);}private void OnParticleCollision(GameObject other){OnCollisionEvent?.Invoke(other);}}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/73569.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/73569.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/73569.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Docker-清理容器空間prune

docker system prune -a 是一個非常有用的命令&#xff0c;用于清理 Docker 系統中未使用的資源&#xff0c;包括停止的容器、未使用的網絡、卷以及未被任何容器引用的鏡像&#xff08;懸空鏡像和所有未使用的鏡像&#xff09;。以下是關于該命令的詳細說明&#xff1a; 命令格…

LabVIEW遠程控制通訊接口

abVIEW提供了多種遠程控制與通訊接口&#xff0c;適用于不同場景下的設備交互、數據傳輸和系統集成。這些接口涵蓋從基礎的網絡協議&#xff08;如TCP/IP、UDP&#xff09;到專用技術&#xff08;如DataSocket、遠程面板&#xff09;&#xff0c;以及工業標準協議&#xff08;如…

LeetCode hot 100—尋找重復數

題目 給定一個包含 n 1 個整數的數組 nums &#xff0c;其數字都在 [1, n] 范圍內&#xff08;包括 1 和 n&#xff09;&#xff0c;可知至少存在一個重復的整數。 假設 nums 只有 一個重復的整數 &#xff0c;返回 這個重復的數 。 你設計的解決方案必須 不修改 數組 nums…

linux - centos7 部署 redis6.0.5

事先說明 本篇文章只解決在部署redis中出現的問題&#xff0c;并沒有部署redis的全過程&#xff0c;詳細部署過程可以參考Linux安裝部署Redis(超級詳細) - 長沙大鵬 - 博客園 執行 make 命令時報錯 原因&#xff1a;是因為gcc版本太低 升級gcc版本時 出現沒有可用軟件包 devt…

31天Python入門——第15天:日志記錄

你好&#xff0c;我是安然無虞。 文章目錄 日志記錄python的日志記錄模塊創建日志處理程序并配置輸出格式將日志內容輸出到控制臺將日志寫入到文件 logging更簡單的一種使用方式 日志記錄 日志記錄是一種重要的應用程序開發和維護技術, 它用于記錄應用程序運行時的關鍵信息和…

AI Agent開發大全第八課-Stable Diffusion 3的本地安裝全步驟

前言 就像我們前面幾課所述,本系列是一門體系化的教學,它不像網上很多個別存在的單篇博客走“吃快餐”模式,而是從扎實的基礎來帶領大家一步步邁向AI開發高手。所以我們的AI課程設置是相當全面的,除了有牢固的基礎知識外還有外面互聯網上也搜不到的生產級實戰。 前面講過…

用selenium+ChromeDriver豆瓣電影 肖申克的救贖 短評爬取(pycharm 爬蟲)

一、豆瓣電影 肖申克的救贖 短評urlhttps://movie.douban.com/subject/1292052/comments 二、基本知識點講解 1. Selenium 的基本使用 Selenium 是一個用于自動化瀏覽器操作的庫&#xff0c;常用于網頁測試和爬蟲。代碼中使用了以下 Selenium 的核心功能&#xff1a; webdriv…

開源在線客服系統源碼-前端源碼加載邏輯

客服源碼是使用Golang(又稱Go)開發的&#xff0c;Go是Google公司開發的一種靜態強類型、編譯型、并發型&#xff0c;并具有垃圾回收功能的編程語言。Go 天生支持并發。好處太多就不多說了。 全源碼客服系統用戶&#xff0c;想要針對自己的業務&#xff0c;進行二次開發&#xf…

Oracle數據庫服務器地址變更與監聽配置修改完整指南

一、前言 在企業IT運維中&#xff0c;Oracle數據庫服務器地址變更是常見的運維操作。本文將詳細介紹如何安全、高效地完成Oracle數據庫服務器地址變更及相關的監聽配置修改工作&#xff0c;確保數據庫服務在遷移后能夠正常運行。 二、準備工作 1. 環境檢查 確認新舊服務器I…

g對象在flask中主要是用來實現什么

在Flask中&#xff0c;g對象&#xff08;全稱flask.g&#xff09;是一個線程局部&#xff08;thread-local&#xff09;的臨時存儲對象&#xff0c;主要用于在單個請求的上下文&#xff08;request context&#xff09;中共享數據。它的核心作用是為同一請求的不同處理階段&…

工具介紹《WireShark》

Wireshark 過濾命令中符號含義詳解 一、比較運算符 Wireshark 支持兩種比較運算符語法&#xff1a;英文縮寫&#xff08;如 eq&#xff09;和 C語言風格符號&#xff08;如 &#xff09;&#xff0c;兩者功能等價。 符號&#xff08;英文縮寫&#xff09;C語言風格符號含義示…

JavaScrip-模版字符串的詳解

1.模版字符串的詳解 1.1 模版字符串的使用方法 在ES6之前&#xff0c;如果我們想要將字符串和一些動態的變量&#xff08;標識符&#xff09;拼接到一起&#xff0c;是非常丑陋的&#xff08;ugly) ES6允許我們使用模版字符串來嵌入變量或者表達式來進行拼接 首先&#xff0c;…

STM32C011 進入停止模式和待機模式

對于STM32C011J4M3微控制器&#xff0c;你可以使用HAL庫來實現進入停止模式&#xff08;Stop Mode&#xff09;和待機模式&#xff08;Standby Mode&#xff09;。下面是進入停止模式和待機模式的示例代碼&#xff1a; 進入停止模式代碼示例&#xff1a; #include "stm3…

海康設備http監聽接收報警事件數據

http監聽接收報警事件數據 海康獲取設備報警事件數據兩種方式&#xff1a; 1、sdk 布防監聽報警事件數據&#xff08;前面文章有示例&#xff09; 2、http監聽接收報警事件數據 http監聽接收報警事件數據&#xff0c;服務端可以使用netty通過端口來監聽獲取事件數據。 WEB 端…

FastAPI 全面指南:功能解析與應用場景實踐

FastAPI 全面指南&#xff1a;功能解析與應用場景實踐 FastAPI 是一個現代、快速&#xff08;高性能&#xff09;的 Python Web 框架&#xff0c;用于構建 API。它基于標準 Python 類型提示&#xff0c;使用 Starlette 和 Pydantic 構建&#xff0c;提供了極高的性能并簡化了開…

【STM32】編寫程序控制開發板的RGB LED燈

目錄 1、原理圖2、文件結構3、使用寄存器模式點亮3.1、什么是寄存器3.2、寄存器開發的本質3.3、寄存器開發步驟3.4、主要源碼3.4.1、main.c3.4.2、drv_gpio.h3.4.3、drv_gpio.c3.4.4、使用BSRR和BRR影子寄存器優化drv_gpio.c3.4.5、效果演示 4、使用標準庫模式點亮4.1、使用標準…

MyBatis-Plus 的加載及初始化

在 Spring Boot 啟動過程中&#xff0c;MyBatis-Plus 的加載和初始化涉及多個階段的工作。這些工作包括 MyBatis-Plus 自身的配置解析、Mapper 接口的掃描與注冊、SQL 語句的動態注入以及底層 MyBatis 的初始化等。以下是對整個過程的詳細分析&#xff1a; 1. Spring Boot 啟動…

SpringBoot中安全的設置阿里云日志SLS的accessKey

眾所周知,阿里云的服務都是基于accesskeyId和accesskeySecret來進行身份鑒權的,但唯獨日志因為需要寫入到.xml文件里對于accesskeyId和accesskeySecret需要進行一定程度的改進,尤其是使用了jasypt進行加密的參數傳遞進去logback.xml更是會遇到需要對參數進行解密的問題,而官網只…

關于解決Ubuntu終端及系統字體大小的問題

在Ubuntu中調整終端和系統字體大小可以通過以下方法&#xff08;可能不僅僅只是這幾種&#xff09;實現&#xff1a; 1. 調整系統字體大小 打開終端并輸入以下命令&#xff0c;安裝GNOME Tweaks&#xff0c;等待安裝完成&#xff1a; sudo apt install gnome-tweaks 接著進行…

Rust vs. Go: 性能測試(2025)

本內容是對知名性能評測博主 Anton Putra Rust vs. Go (Golang): Performance 2025 內容的翻譯與整理, 有適當刪減, 相關數據和結論以原作結論為準。 再次對比 Rust 和 Go&#xff0c;但這次我們使用的是最具性能優勢的 HTTP 服務器庫---Hyper&#xff0c;它基于 Tokio 異步運…