
前言
今天要介紹的是 UnityURP-InfiniteGrass,一款專為 Unity 打造的【草地生成】與【渲染插件】。
它能讓開發者在場景中快速建立可隨風搖曳的草叢效果,呈現【自然律動】與【開放場景】的真實氛圍。
如果你正在製作【開放世界】、【自然生態】或【野外探險類型的遊戲】,這款插件能大幅簡化草地製作流程,輕鬆實現從平地延伸到遠景的綠意草原畫面。

插件介紹
UnityURP-InfiniteGrass 能根據相機位置動態生成草叢,而不依賴傳統的【地形貼圖】或【靜態烘焙】。
使用者只需在場景中指定 LayerMask,插件就會在對應區域中生成草地,並即時調整草叢的【密度】與【顯示範圍】。
整體運作核心包含【GrassDataRendererFeature】與【InfiniteGrassRenderer】兩個主要模組:前者負責在 Unity URP 渲染管線中新增草地 Pass,後者則負責草叢資料的【更新】與【生成】。
此外,插件內建【顏色調整】、【坡度控制】、【風向模擬】與【遮罩機制】,讓開發者能根據場景需求設定不同類型的草地【外觀】與【行為】。
透過【程序化生成】與【動態繪製】的設計,UnityURP-InfiniteGrass 可在維持高效能的前提下,提供【流暢】、【自然】且【可擴展】的草地表現,非常適合需要大量地表植被的專案使用。

功能特色
- 完全程序化生成
不依賴地形資料即可建立草地,只需設定 LayerMask,系統會在指定區域自動生成草叢。 - 【動態渲染】與【風場控制】
草叢會依【相機距離】與【風向】即時變化,呈現自然的草浪擺動效果。 - 材質與遮罩自訂
可透過【材質】或【紋理】調整草葉的【顏色】、【密度】、【透明度】,並加入遮罩模擬【踩踏】、【風蝕】或【火燒】等狀態。
適用場景
- 【開放世界】或【自然地形】專案
適合需要【大面積草原】、【丘陵】與【森林邊緣草地】的專案;可透過【動態生成】與【距離密度控制】,呈現【遠近層次】與【自然搖曳】的地表效果。 - 【冒險遊戲】或【模擬遊戲】
在【角色移動】或【鏡頭切換】時,【自動生成】並【反應草地變化】;能模擬【踩踏】、【風向】與【季節變化】,強化【臨場感】與【互動性】。 - 【風格化】或【實驗性視覺作品】
可搭配【Shader Graph】或【VFX Graph】製作【節奏化草浪】與【動態風流】;開發者可自由結合【顏色變化】、【光照反射】與【風向控制】,創造具獨特【色彩】與【風格】的草地畫面。

UnityURP-InfiniteGrass 插件下載安裝
Github 下載連結:UnityURP-InfiniteGrass
Gitee 下載連結:UnityURP-InfiniteGrass
只要將" InfiniteGrass"檔案夾拖曳到你的專案中即可,如果你想看到 demo 可以將" SampleScene"一起匯入進項目。
UnityURP-InfiniteGrass 使用方法
1. 進入你的 URP 設置,將"GrassDataRendererFeature"加入其中

- 選擇你的地形網格的 LayerMask。
- 配置材質和計算著色器(包含在資料夾中)
2. 新增地面,並配置地面層和前方一致

3. 接下來,在您的場景中建立一個空對象,並將"InfiniteGrassRenderer"腳本加入該對象
配置草材質(包含在文件夾中),並調整設定直到您滿意為止。

4. 效果呈現

5. 在 Unity6 使用
如果你想在 Unity6 中使用它的話,經過前面的步驟大概率會看到一條警告,而且草也沒有生成出來。
The render pass GrassDataRendererFeature+GrassDataPass does not have an implementation of the RecordRenderGraph method. Please implement this method, or consider turning on Compatibility Mode (RenderGraph disabled) in the menu Edit > Project Settings > Graphics > URP.Otherwise the render pass will have no effect. For more information

解決方案就如提示所說,前往項目配置,打開 Compatibility Mode (RenderGraph disabled)。

這時會有新的警告,但是我們不用管,因為草已經生成出來了並不影響我們項目的使用。
UnityURP-InfiniteGrass 擴展知識
1.完全程序化
你不需要有高度圖或使用 Unity 地形,只需透過更改 LayerMask,你就可以將草放在任何物體上。
此外,它不需要產生整個世界位置的大型緩衝區,它只產生相機周圍必要數量的位置,因此記憶體不是一個大問題。

2.視錐體剔除及隨距離降低密度
它允許你在較遠的距離上以較低的性能成本進行繪製。

3. 動態顏色調節器
它允許你使用任何你想要的物體或紋理來修改草葉的顏色。要製作自己的顏色調節器。
從" InfiniteGrass/Modifiers/GrassColoringShader"創建一個新的材質,為材質添加紋理和顏色。
最後,將一個四邊形網格添加到你的場景中,並將材質應用到它上,你可以像 Decal 一樣,以任何比例或旋轉將物體放置到你想要的位置。

4.風浪
在使用" InfiniteGrass/Modifiers/GrassColoringShader"著色器時,與粒子系統一起使用也沒有問題,實現風浪的效果。


效果如下。

5. 動態遮罩和密度
就像顏色調節器一樣,只需從"InfiniteGrass/Modifiers/GrassMaskShader"製作一個材質,並將其應用於一個四邊形或任何其他網格。
請注意,這裡的「遮罩」的通常含義並不是它的用途,白色表示草將被完全挖掉,黑色表示完全的密度。
您也可以選擇不徹底切割草地,而是透過降低材質的"不透明度"屬性來使密度降低。
您的網格的頂點顏色的紅色通道也會遮擋草地)。

6. 動態坡度
這裡的"坡度"指的是草葉的傾斜度。
它只是一個簡單的修改器,就像其他的一樣,只需創建一個材質並將其應用於一個四邊形,但這次顏色將描述草葉將指向的方向。
紅色控制草葉傾斜到 X 軸的程度(0:它將指向 -x,1:它將指向 x,0.5:它將保持向上)。
綠色控制草葉傾斜到 Z 軸的程度(0:它將指向 -z,1:它將指向 z,0.5:它將保持向上)。
沒有必要使用藍色通道,因為草葉不能傾斜到 Y 軸(這意味著它只是向上)。
如果想要製作自訂風效、爆炸、踩踏草地等效果,這會很有用;樣本場景中每個都有範例,可以前往查看。


7. 風系統
從紋理來的風,類似於"動態斜坡",但只是應用於整個草地,下面是預設值。

8. 風格化 billboard 廣告看板草
草葉總是(至少在嘗試)從所有角度看起來朝向相機。
這個材質包含很多參數來客製化外觀。

UnityURP-InfiniteGrass 草地渲染大師相關介紹 & 教學影片
Infinite Grass - Unity URP
UnityURP-InfiniteGrass 草地渲染大師相關網站 & 插件下載點
【UnityURP-InfiniteGrass】
Github 下載連結:UnityURP-InfiniteGrass
Gitee 下載連結:UnityURP-InfiniteGrass
————————————————
更多好用插件:【Unity 好用插件推薦】持續更新,一遊戲開發事半功倍!
本文原創(或整理)於亞洲電玩通,未經作者與本站同意不得隨意引用、轉載、改編或截錄。
特約作家簡介
支持贊助 / DONATE
亞洲電玩通只是很小的力量,但仍希望為復甦台灣遊戲研發貢獻一點動能,如果您喜歡亞洲電玩通的文章,或是覺得它們對您有幫助,歡迎給予一些支持鼓勵,不論是按讚追蹤或是贊助,讓亞洲電玩通持續產出,感謝。
BTC |
![]() |
bc1psp8nnerlepv56nyfha6mqwnp3yr7qqjdw44c6qt5lx5r2urma7fqykxvwj |
|
ETH |
![]() |
0xB2231557bc418201922DD7C2673ec97E67E35F83 |
|
TRON |
![]() |
TAomNj4L6vMJuaJmbWUdmT1uAWYPf9vDjp |








