【Unity 插件推薦】UnityURP-InfiniteGrass 草地渲染大師,實現風中搖曳的真實植被!

目錄
【Unity 插件推薦】UnityURP-InfiniteGrass 草地渲染大師,實現風中搖曳的真實植被!

前言

 

今天要介紹的是 UnityURP-InfiniteGrass,一款專為 Unity 打造的【草地生成】與【渲染插件】。

它能讓開發者在場景中快速建立可隨風搖曳的草叢效果,呈現【自然律動】與【開放場景】的真實氛圍。

如果你正在製作【開放世界】、【自然生態】或【野外探險類型的遊戲】,這款插件能大幅簡化草地製作流程,輕鬆實現從平地延伸到遠景的綠意草原畫面。

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

 

 

插件介紹

 

UnityURP-InfiniteGrass 能根據相機位置動態生成草叢,而不依賴傳統的【地形貼圖】或【靜態烘焙】。

使用者只需在場景中指定 LayerMask,插件就會在對應區域中生成草地,並即時調整草叢的【密度】與【顯示範圍】。

 

整體運作核心包含【GrassDataRendererFeature】與【InfiniteGrassRenderer】兩個主要模組:前者負責在 Unity URP 渲染管線中新增草地 Pass,後者則負責草叢資料的【更新】與【生成】。

此外,插件內建【顏色調整】、【坡度控制】、【風向模擬】與【遮罩機制】,讓開發者能根據場景需求設定不同類型的草地【外觀】與【行為】。

透過【程序化生成】與【動態繪製】的設計,UnityURP-InfiniteGrass 可在維持高效能的前提下,提供【流暢】、【自然】且【可擴展】的草地表現,非常適合需要大量地表植被的專案使用。

UnityURP-InfiniteGrass 插件示意圖

 

功能特色

  1. 完全程序化生成
    不依賴地形資料即可建立草地,只需設定 LayerMask,系統會在指定區域自動生成草叢。
  2. 【動態渲染】與【風場控制】
    草叢會依【相機距離】與【風向】即時變化,呈現自然的草浪擺動效果。
  3. 材質與遮罩自訂
    可透過【材質】或【紋理】調整草葉的【顏色】、【密度】、【透明度】,並加入遮罩模擬【踩踏】、【風蝕】或【火燒】等狀態。

 

適用場景

  1. 【開放世界】或【自然地形】專案
    適合需要【大面積草原】、【丘陵】與【森林邊緣草地】的專案;可透過【動態生成】與【距離密度控制】,呈現【遠近層次】與【自然搖曳】的地表效果。
  2. 【冒險遊戲】或【模擬遊戲】
    在【角色移動】或【鏡頭切換】時,【自動生成】並【反應草地變化】;能模擬【踩踏】、【風向】與【季節變化】,強化【臨場感】與【互動性】。
  3. 【風格化】或【實驗性視覺作品】
    可搭配【Shader Graph】或【VFX Graph】製作【節奏化草浪】與【動態風流】;開發者可自由結合【顏色變化】、【光照反射】與【風向控制】,創造具獨特【色彩】與【風格】的草地畫面。
【Unity 插件推薦】UnityURP-InfiniteGrass 草地渲染大師,實現風中搖曳的真實植被!

 

 

UnityURP-InfiniteGrass 插件下載安裝

 

Github 下載連結:UnityURP-InfiniteGrass

Gitee 下載連結:UnityURP-InfiniteGrass

只要將" InfiniteGrass"檔案夾拖曳到你的專案中即可,如果你想看到 demo 可以將" SampleScene"一起匯入進項目。

 

 

UnityURP-InfiniteGrass 使用方法

 

1. 進入你的 URP 設置,將"GrassDataRendererFeature"加入其中

進入你的 URP 設置,將"GrassDataRendererFeature"加入其中

 

  • 選擇你的地形網格的 LayerMask。
  • 配置材質和計算著色器(包含在資料夾中)

 

2. 新增地面,並配置地面層和前方一致

2. 新增地面,並配置地面層和前方一致

 

3. 接下來,在您的場景中建立一個空對象,並將"InfiniteGrassRenderer"腳本加入該對象

配置草材質(包含在文件夾中),並調整設定直到您滿意為止。

配置草材質(包含在文件夾中),並調整設定直到您滿意為止。

 

4. 效果呈現

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

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)

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

 

這時會有新的警告,但是我們不用管,因為草已經生成出來了並不影響我們項目的使用。

 

 

UnityURP-InfiniteGrass 擴展知識

 

1.完全程序化

你不需要有高度圖或使用 Unity 地形,只需透過更改 LayerMask,你就可以將草放在任何物體上。

此外,它不需要產生整個世界位置的大型緩衝區,它只產生相機周圍必要數量的位置,因此記憶體不是一個大問題。

你不需要有高度圖或使用 Unity 地形,只需透過更改 LayerMask,你就可以將草放在任何物體上。  此外,它不需要產生整個世界位置的大型緩衝區,它只產生相機周圍必要數量的位置,因此記憶體不是一個大問題。

 

2.視錐體剔除及隨距離降低密度

它允許你在較遠的距離上以較低的性能成本進行繪製。

它允許你在較遠的距離上以較低的性能成本進行繪製。

 

3. 動態顏色調節器

它允許你使用任何你想要的物體或紋理來修改草葉的顏色。要製作自己的顏色調節器。

" InfiniteGrass/Modifiers/GrassColoringShader"創建一個新的材質,為材質添加紋理和顏色。

最後,將一個四邊形網格添加到你的場景中,並將材質應用到它上,你可以像 Decal 一樣,以任何比例或旋轉將物體放置到你想要的位置。

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

 

4.風浪

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

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

 

效果如下。

效果如下。

 

5. 動態遮罩和密度

就像顏色調節器一樣,只需從"InfiniteGrass/Modifiers/GrassMaskShader"製作一個材質,並將其應用於一個四邊形或任何其他網格。

請注意,這裡的「遮罩」的通常含義並不是它的用途,白色表示草將被完全挖掉,黑色表示完全的密度。

 

您也可以選擇不徹底切割草地,而是透過降低材質的"不透明度"屬性來使密度降低。

您的網格的頂點顏色的紅色通道也會遮擋草地)。

就像顏色調節器一樣,只需從"InfiniteGrass/Modifiers/GrassMaskShader"製作一個材質,並將其應用於一個四邊形或任何其他網格。  請注意,這裡的「遮罩」的通常含義並不是它的用途,白色表示草將被完全挖掉,黑色表示完全的密度。

 

6. 動態坡度

這裡的"坡度"指的是草葉的傾斜度。

它只是一個簡單的修改器,就像其他的一樣,只需創建一個材質並將其應用於一個四邊形,但這次顏色將描述草葉將指向的方向。

 

紅色控制草葉傾斜到 X 軸的程度(0:它將指向 -x,1:它將指向 x,0.5:它將保持向上)。

綠色控制草葉傾斜到 Z 軸的程度(0:它將指向 -z,1:它將指向 z,0.5:它將保持向上)。

 

沒有必要使用藍色通道,因為草葉不能傾斜到 Y 軸(這意味著它只是向上)。

如果想要製作自訂風效、爆炸、踩踏草地等效果,這會很有用;樣本場景中每個都有範例,可以前往查看。

這裡的"坡度"指的是草葉的傾斜度。  它只是一個簡單的修改器,就像其他的一樣,只需創建一個材質並將其應用於一個四邊形,但這次顏色將描述草葉將指向的方向。    紅色控制草葉傾斜到 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 好用插件推薦】持續更新,一遊戲開發事半功倍!

 

 

 

本文原創(或整理)於亞洲電玩通,未經作者與本站同意不得隨意引用、轉載、改編或截錄。

特約作家簡介

X
A
Y
B
JamXu的頭像
JamXu
10年遊戲研發
20年遊戲玩家
30年遊戲人生

經中華網龍遊戲 企劃進入遊戲圈,然後被雷打到去學 程式前後端又學了點 設計帶帶幾個研發團隊,見證了 3D 渲染技術及遊戲引擎互相進步,也見證了研發代理的更迭與博弈遊戲的興起,再毅然研究起 SEO 網路行銷社群廣告投放,深信自研自賣才是最大贏家,期望能為台灣研發重回輝煌時光貢獻一點力量。如果你也有 遊戲夢,歡迎交流認識。


支持贊助 / DONATE

 

亞洲電玩通只是很小的力量,但仍希望為復甦台灣遊戲研發貢獻一點動能,如果您喜歡亞洲電玩通的文章,或是覺得它們對您有幫助,歡迎給予一些支持鼓勵,不論是按讚追蹤或是贊助,讓亞洲電玩通持續產出,感謝。

亞洲電玩通AsiaGameMaster - Steam 遊戲鑑賞家
亞洲電玩通AsiaGameMaster - FB 粉絲專頁
亞洲電玩通AsiaGameMaster - IG 粉絲專頁
亞洲電玩通AsiaGameMaster - Twitter
亞洲電玩通AsiaGameMaster - Yoytube 粉絲專頁
亞洲電玩通AsiaGameMaster - Tiktok

BTC

亞洲電玩通AsiaGameMaster - BTC 鏈贊助地址

bc1psp8nnerlepv56nyfha6mqwnp3yr7qqjdw44c6qt5lx5r2urma7fqykxvwj

 

ETH

亞洲電玩通AsiaGameMaster - ETH 鏈贊助地址

0xB2231557bc418201922DD7C2673ec97E67E35F83

 

TRON

tron-qrcode亞洲電玩通AsiaGameMaster - TRON 鏈贊助地址

TAomNj4L6vMJuaJmbWUdmT1uAWYPf9vDjp

延伸閱讀