日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Unity插件之天气系统UniStorm

發(fā)布時間:2023/12/8 windows 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unity插件之天气系统UniStorm 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、前言

1.官方簡介描述:

現(xiàn)在支持URP。HDRP支持目前正在開發(fā)中。
UniStorm是AAA動態(tài)天空、天氣、云陰影和程序體積云的最終解決方案。UniStorm有超過100個可定制的選項,以幫助使環(huán)境的生活。聽取用戶的反饋有助于使
UniStorm的用戶友好和易于使用。UniStorm非常強大,可以讓你調(diào)整天空中的每個組件。
你的想象力是有限的!

2.其他描述

這里總結(jié)翻譯的是untiy商城中?UniStorm的描述,英文好的童鞋可以去商城搜索閱讀,大體了解這個插件有這么些東西功能就可以了,沒必要全部都搞懂(因為涉及的比較多,感興趣的話可以深入研究一下)。

插件下載:

鏈接:https://pan.baidu.com/s/16isUc2haTVWLWiwCv9qN0A?
提取碼:syq1

這里我用的是網(wǎng)上下載的3.0.1版本,新版本沒有買?(大約360塊大洋),大家要是商用的話還是推薦買一個官方正版,這里為了學(xué)習(xí)就使用3.0.1的版本了

URP Supported?(URP的支持)什么是URP?

Urp全稱為Universal Render Pipeline,即通用渲染管線.

什么是Render PipeLine(渲染管線),渲染管線也稱為渲染流水線、像素流水線或像素管線,是顯示芯片內(nèi)部處理圖形信號相互獨立的的并行處理單元.

UniStorm現(xiàn)在支持unity2019.4.9及更高版本的URP。HDRP支持目前正在開發(fā)中

?AAA Volumetric Clouds(AAA體積云)

UniStorm 4.0帶來了一個完全重新設(shè)計的云系統(tǒng),能夠創(chuàng)建AAA程序,自陰影,PBR,體積云在一個偉大的幀率,只使用一個繪制cal!UniStorm的云使用了最新的陰影和性能技術(shù),如時間重投影和lod。Unistorm的云有4個質(zhì)量設(shè)置,一個容量和20個選項,都可以在運行時或在Unistorm編輯器中更改。

這使得支持許多設(shè)備和計算機成為可能。易于使用的APl使得添加游戲內(nèi)部質(zhì)量控制變得簡單而輕松。本文還提供了一個這樣做的示例。

?大家可以參考這篇關(guān)于體積云的文章:https://zhuanlan.zhihu.com/p/440607144

Built-In Photon PUN 2 Network Support (內(nèi)置photonppun 2網(wǎng)絡(luò)支持)

UniStorm包含了所有你需要讓UniStorm與PUN 2一起工作的東西,可以同步多個玩家的天氣,時間和日期。包括一個示例場景。

?Atmospheric Fog(大氣霧)

?大氣霧,考慮到太陽和月亮的光線方向和顏色,應(yīng)用于場景,UniStorm云,天空盒。

Cloud Shadows?(云的影子)

高效的實時屏幕空間云陰影,匹配當前的云覆蓋和云的形成,增加了真實感和視覺質(zhì)量。

?4k Stars with Accurate Constellations(4k星星與準確的星座 )

?UniStorm的夜空包括4k顆恒星,星座精確。可在編輯器中選擇控制星座的強度。

Procedural Auroras(程序上的極光)

?UniStorm允許用戶根據(jù)天氣類型定制極光,以調(diào)整亮度、顏色、條件等

Performance?(性能評估)

UniStorm的體積云具有時間重投影和lod 4個質(zhì)量設(shè)置(低、中、高和超),每一個都經(jīng)過正確的計算,比之前的設(shè)置要高效得多。這使得UniStorm能夠在幾乎任何電腦上順利運行。沒有最大的相機遠剪切平面距離需要感謝UniStorm的著色器,所以任何距離都可以使用。

Built-in Lightweight Option(內(nèi)置的輕量級的選項)

UniStorm內(nèi)置輕量級2D云選項,非常適合低端移動設(shè)備或電腦。用戶可以在編輯器中選擇“移動”選項,該編輯器將自動應(yīng)用所有最佳設(shè)置,而不會覆蓋自定義設(shè)置(如顏色)。

Dynamic Modular Weather?(動態(tài)模塊化的天氣)?

模塊化天氣允許用戶創(chuàng)建自定義天氣類型。沙塵暴、極光、冰雹、雷暴等都是可能發(fā)生的。UniStorm可以使用多少種天氣類型是沒有限制的,最重要的是,他們允許用戶使用自己的自定義粒子效果,設(shè)置,和每種天氣類型的聲音。UniStorm有31種天氣類型!這些包括,極光,吹葉,吹雪,吹草,閃電蟲,晴,大部分晴,部分多云,大部分多云,多云,陰天,霧,毛毛雨,小雨,雨,大雨,冰雹,雷暴,小雪,雪,大雪,雷雪,火雨,火風(fēng)暴,沙塵暴,和更多

Cloud Profiles(云配置文件)

?這允許你自定義云的外觀,以qive噸的變化到每一種天氣類型。有了UniStorm的云配置.文件,用戶一定會找到適合他們項目的完美云風(fēng)格。

VR & Mobile Ready?(VR和移動設(shè)備)

UniStorm的一體化系統(tǒng)還支持移動和VR(Multi和Single Pass)。甚至還有一個易于使:用的選項,可以自動應(yīng)用目標平臺的所有最佳設(shè)置,同時保持用戶的自定義設(shè)置!

?Advanced Weather Generation?( 先進的天氣一代)

UniStorm根據(jù)在UniStorm編輯器中設(shè)置的降水幾率生成天氣。易于使用的曲線圖允許用戶設(shè)置每個月的降水天氣類型的幾率,而UniStorm將相應(yīng)地生成天氣。夏天比冬天有更少的降水,反之亦然,UniStorm有選項生成一個隨機生成的開始小時和每小時的天氣,生成每qame小時所有基于降水的幾率。如果用戶不想要生成天氣,也可以選擇使用靜態(tài)天氣

Global Weather Shaders & Shading (Built-in Render Pipeline Only) (?全球天氣著色和陰影(僅內(nèi)置渲染管道)? )

UniStorm的全局天氣著色器允許對象在雨天和雪天類型接收雨雪材質(zhì)。遮陽可以讓表面變得更亮,但只適用于不大于90度的表面。大多數(shù)表面的內(nèi)部會顯得干燥,比如建筑物內(nèi)部和屋頂。雪,將功能相同,但與積雪遮陽。雪紋理、雪凹凸紋理、雪高光級別都可以定制。當天氣不下雨或下雪時,UniStorm將淡出天氣陰影。

Weather and Weather Transitions?(天氣和天氣變遷)

太陽強度,月亮強度,云陰影強度,聲音效果,酒量,和各種其他設(shè)置,允許真正獨特的和可定制的天氣。太陽強度,月亮強度,云陰影強度,聲音效果,酒量,和各種其他設(shè)置,允許真正獨特的和可定制的天氣。

Procedural Lightning & Lightning Strikes? (程序閃電和閃電打擊)

?UniStorm的程序閃電系統(tǒng)允許物體被閃電擊中。Sers可以定義閃電擊中地面和物體的幾率。當雷擊發(fā)生時,用戶可以自定義所產(chǎn)生的效果。火焰效果甚至可以在適當?shù)臉撕炏掳l(fā)生。

Day/Night Cycle & Colors Control?(日/夜周期和顏色控制)

?UniStorm允許你調(diào)整所有的環(huán)境和天空的顏色,如太陽和月亮的顏色,環(huán)境光的顏色,陰影和云陰影強度,霧的顏色,天空的顏色,環(huán)境反射強度,和更多!每種顏色對于降水天氣類型也有自己的顏色選項。

Time, Date, & Built-in Calendar(時間,曰期和內(nèi)置日歷 )

UniStorm有一個內(nèi)置的時間和日期系統(tǒng),可以幫助跟蹤玩家在游戲中的時間。UniStorm的日歷是準確的,甚至可以使用當前的時間和日期

?Customizable Moon Phase System?(可定制的月相系統(tǒng))

UniStorm的定制月相系統(tǒng)允許用戶創(chuàng)建自己的月相。UniStorm可以使用的月相數(shù)量沒有上限。用戶可以在UniStorm編輯器中預(yù)覽他們的月相,并設(shè)置開始的月相。UniStorm自動分配所有需要的紋理,并每天更新月亮相位。每個月相也有自己的月光強度。如果需要的話,這使得新月和新月相發(fā)出的光比滿月時少

Weather Type Conditions?(天氣條件類型)

?可選天氣類型條件使天氣類型必須達到一定的條件才能從UniStorm的天氣生成器生成。這包括特定季節(jié)和溫度等條件,以及僅從自定義事件或以編程方式調(diào)用特定天氣類型的能力

UniStorm Profiles (UniStorm概要文件)

導(dǎo)入和導(dǎo)出您的UniStorm設(shè)置和從一個UniStorm配置文件。這允許用戶保存他們的設(shè)置,并在其他UniStorm系統(tǒng)之間轉(zhuǎn)移,而不需要手動應(yīng)用顏色和設(shè)置。

Time of Day Sounds and Music?(聲音和音樂的時間)

UniStorm允許用戶自定義一天中每個時間播放的音效和/或音樂。每個聲音效果和歌曲之間的延遲量可以定制。可以使用的數(shù)量是沒有限制的。

Sound Manager?(聲音管理器)

UniStorm的聲音管理器處理所有您的UniStorm創(chuàng)建的聲音使用生成的統(tǒng)一音頻混合器。這讓你可以精確控制主環(huán)境,天氣和音樂的音量,可以用用戶創(chuàng)建的Ul或可以在Unistorm編輯器中控制。

Built-in Events?(內(nèi)置的事件)

UniStorm內(nèi)置的事件可以在游戲中的每一個小時、每一天、每一個月、每一年,甚至在天氣變化時調(diào)用,允許用戶輕松地為他們的游戲創(chuàng)建附加功能。

Included Examples?(包括例子)自帶的Demo場景

UniStorm包括6個場景示例,演示了你可以使用UniStorm實現(xiàn)的不同功能。一個保存示例系統(tǒng)也包括,允許用戶保存他們的qame時間,日期,天氣,溫度,更多的手動和自動保存選項。這些數(shù)據(jù)可以被加載,這樣用戶就可以從他們離開的地方重新開始。

The Editor (編輯器)?

UniStorm的編輯器設(shè)計很大程度上受到了用戶反饋的影響,他們認為編輯器很直觀,功能強大,而且學(xué)習(xí)曲線很低。UniStorm的編輯器是自文檔化的,所以每個組件都可以通過工具提示直接在編輯器中解釋。

API & Documentation?(API和文檔)?

Unstorm的API可以幫助提供額外的游戲機制和功能,如訪問溫度、時間、日期、當前天氣、預(yù)測天氣、季節(jié)等。教程視頻和外部文檔,包括幫助用戶得到最大限度的從UniStorm。

CTS Weather Manager Support?(CTS天氣管理支持)?

UniStorm包括一個外部系統(tǒng)來過渡CTS的天氣著色器,當下雨或下雪時,允許你的地形被積雪和濕度遮擋。CTS(不包括)

二、簡單了解UniStorm System的創(chuàng)建使用

將插件下載后直接導(dǎo)入即可。這時候選擇Unity菜單項 Window—>UniStorm—>Create Weather System(創(chuàng)建一個UniStorm System組件 ) 即可,注意創(chuàng)建的組件不要改名,否則內(nèi)置腳本會找不到。

擴展:Window—>UniStorm下的其他選項

Documentation(文檔):介紹UniStorm的文檔

UniStorm API:顧名思義,一些UniStorm APi接口文檔

Report a Bug Or Request a Feature(反饋信息):用于向官方反饋Bug或問題的

?選擇UniStorm System可以在 Inspector面板看到Player&Camera、Time、Weather、Celestial、Set(最后一個看不到應(yīng)該是寫腳本的布局問題,它是設(shè)置面板)?五個選項卡,這里不做修改講解,下面在細說這幾個面板的作用。

?在場景創(chuàng)建一個TransForm組件改名為Player 設(shè)置Tag標簽為Player。要注意 player的Position位置要與Main Camera相機位置一致,這里暫時先不說原因后面會講解,先這樣做,了解一下基礎(chǔ)效果使用。

運行后按下Esc出現(xiàn)天氣菜單,Slider滾動條是用于控制日出日落,下拉列表是自帶的天氣效果,點擊按鈕進行天氣過渡切換。

Slider效果:

?下拉列表效果:(切換下雨效果為例子)

?下拉列表下的效果對照表:

/* 插件天氣對照表0 Clear //清除 萬里無云 1 Mostly Clear //晴時多云 2 Mostly Cloudy //大部多云 3 Partly Cloudy //局部多云;少云 4 Cloudy //陰天的 5 Lightning Bugs //螢火蟲6 Blowing Pollen //吹花粉7 Blowing Leaves //吹樹葉8 Blowing Pine Needles //吹松針9 Blowing Snow //高吹雪,飛雪10 Foggy //有霧的11 Overcast //陰天的12 Hail //下冰雹13 Heavy Rain //大暴雨14 Rain //雨15 Light Rain //小雨16 Drizzle //下毛毛雨17 Heavy Snow //大雪18 Snow //雪19 Light Snow //小雪20 Thunderstorm //雷雨21 Thunder Snow //雷陣雨22 Dust Storm //塵暴23 Fire Rain //火雨24 Fire Storm //(原子爆炸等引起的)風(fēng)暴性大火*/

下面就講解一下 每個選項卡面板參數(shù)作用吧

三、UniStorm System選項卡面板

1.Player&Camera?

設(shè)置渲染相機,player(天氣生成的位置),控制天氣菜單

1.Get Player at Runtime: 他的作用是代表你要選擇用什么方式獲取player和Camera組件,選擇Enabled代表可以選擇通過標簽或者名稱查找組件,選擇Disable代表這兩個組件要自己手動拖入

2.Get Player Method:?只有 Get Player at Runtime選項為Enable的情況下才會出現(xiàn),這個表示你要使用Tag獲取還是Name的方式獲取組件

3.Player Tag和Camera Tag: 根據(jù)Get Player Method選項變換,表示要獲取什么Tag或名稱的組件

4.UniStorm Follows Player:選擇改為Enable運行程序,當UniStorm System沒有找到player或Camera組件時,他不會報空錯誤,直到你在場景中動態(tài)生成對應(yīng)物體時,他才會找到并執(zhí)行。

5.Use UniStorm Menu:是否開啟按下快捷鍵顯示菜單。

6.UniStorm Menu Key:Use UniStorm Menu 開啟的時候,才會顯示,用于選擇按下哪個按鍵才會顯示菜單,默認ESC鍵

2.Time Management 時間面板

控制年月日以及早上、白天、傍晚、晚上四個區(qū)間的聲音播放

這個面板有點多,而且還分了好多子區(qū)域,我分開講。

?(1)Time Settings區(qū)域

Hour、Minute9:UniStorm開始的時間,分別控制小時、分鐘,該時間會在運行中一直被更新(插件用以模擬日夜更替)

Time Flow: 控制該插件的時間流動(Enable的話分鐘和小時數(shù)會一直增加)

Use Real-world Time:使用現(xiàn)實的時間。

Day Length: 白天的長度,設(shè)置為4表示該插件模擬一天的時長為4分鐘

Night Length: 夜晚的長度,同上

(2) Data Setting

?

這個不多說了,就是年月日,上面時間跑完一天后下面天數(shù)會自動加一,如果選擇使用現(xiàn)實時間,這個區(qū)域選項都會消失?

(3)Time of Day Sounds Settings

?

Play During Precipitation:在降水天氣類型期間是否播放UniStorm的時間聲音

Time of Day Sounds Min觸發(fā)一天中某個時間的聲音所需的最短秒數(shù)

Time of Day Sounds Max:觸發(fā)一天中某個時間的聲音所需的最長秒數(shù)

Time of Day Sounds Volume:聲音音量

Morning ~?Night Sounds:UniStorm將在早上、白天、傍晚和晚上播放的可能聲音列表。這是隨機播放的,取決于在一天中的最小和最大聲音時間內(nèi)設(shè)置的秒數(shù)。

這里講講Time of Day Sounds Min和Time of Day Sounds Max的使用,min和Max范圍值都是0~60代表的是分鐘,這里設(shè)置的是可以觸發(fā)聲音的范圍,如果你設(shè)置min值為50,Max值為60。那么在0~49分鐘這個區(qū)間是不會觸發(fā)聲音播放的(官網(wǎng)的描述太抽象了,我自己測出來的)。如果Min和Max都為0的話,區(qū)間也是0~60分鐘。

區(qū)間時間?(時區(qū)為6小時)

0~5點:播放?Night?Sounds(夜晚)?內(nèi)的音頻

6~11點:播放?Morning Sounds (早上)內(nèi)的音頻

12~17點:播放 Day?Sounds (中午)內(nèi)的音頻

18~23點:播放?Evening Sounds (下午)內(nèi)的音頻

(4)Time of Day Music Settings

這個面板與上一個面板的區(qū)別是,這里設(shè)置的聲音會一直播放,不受分鐘區(qū)間影響

Time Of Day Music Delay:當聲音播放完畢后等待N分鐘后,再次播放

Time Of Day Music?Volume:播放的聲音大小

Morning ~?Night Sounds:UniStorm將在早上、白天、傍晚和晚上播放的可能聲音列表。音樂是隨機播放的

3.Weather Management 天氣管理面板

“天氣管理”選項卡允許您調(diào)整與天氣和云相關(guān)的各種設(shè)置。其中包括UniStorm可以使用的天氣類型、云設(shè)置、霧和云顏色以及閃電設(shè)置。

(1)Weather Settings

Weather Generation Type:控制UniStorm的天氣是每小時生成還是每天生成。使用每日天氣生成時,也會生成天氣變化的小時數(shù)。

Weather Sounds Volume:?天氣的聲音音量(這個值我在測試時,發(fā)現(xiàn)已經(jīng)運行程序后不可動態(tài)修改,只有在運行前設(shè)置好后才會有效果。)

Transition Speed: 控制UniStorm轉(zhuǎn)換天氣類型的速度 ?

Cloud speed:?控制UniStorm程序云在天空中移動的速度。(不可動態(tài)修改,在程序運行前設(shè)置好后才會有效果)

Precipiation Odds:控制UniStorm全年降水的幾率。?X代表日歷月,Y代表幾率。

Temperature Type:溫度類型

Temperature Curve:控制UniStorm全年的溫度。?X表示日歷月份,Y表示溫度

Temperature Fluctuation:控制UniStorm全天的溫度波動。?X表示小時,Y表示溫度波動。?

Starting Weather Type:開始的天氣類型

All Weather Types:所有可能的天氣類型的列表,UniStorm將使用生成天氣。?要創(chuàng)建一個新的天氣類型,右鍵單擊項目標簽,然后轉(zhuǎn)到創(chuàng)建>UniStorm>新天氣類型。?當這個完成后,它將創(chuàng)建一個新的天氣類型供您定制您想要的。?有關(guān)天氣類型的更多信息,請參見創(chuàng)建自定義天氣類型部分。 ?

Fog Color:在非降水天氣類型中控制霧顏色的漸變。?每個元素都是一天中下一個時間的過渡。 ?

Fog Color(Stormy):在降水天氣類型期間控制霧顏色的漸變。?每個元素都是一天中下一個時間的過渡。?

Cloud Color:在非降水天氣類型中,控制UniStorm云的基本顏色的漸變。?每個元素都是一天中下一個時間的過渡。

Cloud Color(Stormy):在降水天氣類型中,控制UniStorm云的基本顏色的漸變。?每個元素都是一天中下一個時間的過渡

Cloud Light Color:在降水天氣類型中,控制UniStorm云的基本顏色的漸變。?每個元素都是一天中下一個時間的過渡。?

?All Weather Types:中的天氣是WeatherType類型的數(shù)據(jù)類,插件默認25種天氣在UniStorm 3.0—>Weather?Types文件夾下。如何創(chuàng)建一個天氣請看第四節(jié)應(yīng)?第1條 創(chuàng)建自定義天氣

?

(2)Lightning Settings

Generation Distance:控制閃電可以在玩家周圍產(chǎn)生的最大距離。

Min Lightning Seconds:控制閃電產(chǎn)生的最小秒數(shù)。?

Max Lightning Seconds:控制閃電產(chǎn)生的最大秒數(shù)。 ?

Min Lighting Intensity:控制要產(chǎn)生的閃電的最小光強度 ?

Max Lightning Intensity:控制要產(chǎn)生的閃電的最大光強度

Detection Distance:控制UniStorm的閃電碰撞器的距離。?閃電半徑越大,就越有可能擊中物體而不是地面。

Lightning Strike Layers:控制UniStorm的程序閃電可以擊中的層。 ?

Lightning Fire Tags:一個標簽列表,當被閃電擊中時,將創(chuàng)建一個火粒子效果。 ?

Ground Strike Odds:控制UniStorm的閃電擊中地面或其他合適標簽的物體的幾率。 ?

Lightning Strike Effect:閃電擊中地面時產(chǎn)生的粒子效果。

Lightning Strike Fire:當閃電擊中相應(yīng)標簽的物體時,會產(chǎn)生火的效果。

Lightning Strike Patterns:在閃電天氣類型中UniStorm將使用的可能的閃電模式列表。

Thunder Sounds:在閃電天氣類型中UniStorm將播放可能的雷聲聲音列表 ?

這里我修改了一下閃電生成的頻率和擊中物體的概率 ,看一下效果:

4.Celestial Settings?天上的設(shè)置

設(shè)置降水非降水天氣時,太陽、天空、赤道、環(huán)境等顏色漸變和太陽、月亮、大氣層、星空等參數(shù)設(shè)置

(1)Sun Settings

Sun Color在非降水天氣類型中,控制UniStorm太陽顏色的漸變。?每個元素都是一天中下一個時間的過渡。 ?

Stormy Sun Color:在降水天氣類型中,控制UniStorm太陽顏色的漸變。?每個元素都是一天中下一個時間的過渡。 ?

Sun Title Angle:控制太陽的傾斜角度。

Sun Revolution:控制UniStorm太陽升起和落下的方向 ?

Sun Intensity Curve:控制UniStorm的太陽強度。?X表示小時,Y表示強度 ?

Sun Size Curve:控制UniStorm的太陽的大小。?X表示小時,Y表示大小

(2)?Moon Settings

Moon Light Color:一個控制UniStorm地平線晚霞顏色的漸變。

Moon Tilt Angle:控制月球的傾斜角度

Moon Intensity Curve:控制聯(lián)合風(fēng)暴的月亮強度。?X表示小時,Y表示強度 ?

Moon Size Curve:控制UniStorm的月亮大小。?X表示小時,Y表示大小。

Moon Phase Texture:一個月亮階段紋理列表,UniStorm將使用,當創(chuàng)建UniStorm的月亮。?應(yīng)用到列表中的每個紋理將被用作月亮階段,并按照當前月亮階段的順序應(yīng)用。?每個月相都有一個單獨的光強度,以允許每個月相發(fā)出不同數(shù)量的光。 ?

Current Moon Phase:通過調(diào)整滑塊顯示所有的月相。?當前月亮階段也控制月亮階段UniStorm將開始。

Moon Phase Color: 控制月亮的顏色

Moon Phase Brightness:控制所有月亮相位紋理的亮度。?

(3)?Atmosphere Settings

Hemisphere:控制UniStorm的季節(jié)是在北半球還是南半球計算。 ?

Atmosphere Thickness:? 修改大氣層厚度

Ambient Sky Color:在非降水天氣類型中控制環(huán)境天空顏色的漸變。?每個元素都是一天中下一個時間的過渡。 ?

Stormy Ambient Sky Color:在降水天氣類型期間控制環(huán)境天空顏色的漸變。?每個元素都是一天中下一個時間的過渡。 ?

Ambient Equator Color:在非降水天氣類型中控制環(huán)境赤道顏色的梯度。?每個元素都是一天中下一個時間的過渡。 ?

Stormy Ambient Equator Color:在降水天氣類型期間控制環(huán)境赤道顏色的梯度。?每個元素都是一天中下一個時間的過渡。 ?

Ambient Ground Color:在非降水天氣類型中控制環(huán)境底色的漸變。?每個元素都是一天中下一個時間的過渡。 ?

Stormy Ambient Ground Color:在降水天氣類型期間控制環(huán)境地面顏色的漸變。?每個元素都是一天中下一個時間的過渡。 ?

Sky Color:天空的顏色。

Sky Tint Color:一個控制天空顏色的漸變,它控制UniStorm的天空盒的顏色。?每個元素都是一天中下一個時間的過渡。 ?

Starlight Color:一個控制UniStorm星星顏色和透明度的漸變。?每個元素都是一天中下一個時間的過渡。 ?

Star Speed:控制夜晚星星在天空中移動的速度。 ?

?5?Settings 設(shè)置面板

?設(shè)置選項卡允許您控制各種全局的UniStorm設(shè)置。?目前,這里唯一可用的部分是配置文件管理。 ?

Import Profile:從當前應(yīng)用的UniStorm配置文件導(dǎo)入設(shè)置。?這將覆蓋所有的UniStorm顏色值以及太陽和月亮強度曲線。 ?

Export Profile:從您當前的UniStorm系統(tǒng)導(dǎo)出設(shè)置到一個UniStorm配置文件。?在按下導(dǎo)出設(shè)置按鈕后,您將有選擇在哪里保存您的UniStorm配置文件的選項。 ?

?在UniStorm下UniStorm Profiles文件夾中有默認配置文件?

UniStorm Profile (Alien Planet) :外星球

UniStorm Profile (Black Nights):黑色的夜晚

UniStorm Profile (Darker Nights):黑暗的夜晚

UniStorm Profile (Intense Sunrises and Sunsets):強烈的日出和日落

UniStorm Profile (Post-Apocalyptic):末世啟示錄

UniStorm Profile (Standard):標準

四、創(chuàng)建自定義天氣

(1)官方定義:

模塊化天氣聽起來可能很復(fù)雜,但實際上,它讓事情變得更簡單,也更可定制。?模塊化天氣的工作原理是將天氣類型存儲在可腳本化的對象中。?這些可編寫腳本的對象允許用戶創(chuàng)建自定義天氣類型。?沙塵暴、極光、冰雹、雷暴等都是可能發(fā)生的。?UniStorm可以使用多少種天氣類型是沒有限制的,最重要的是,他們允許用戶使用自己的自定義粒子效果,設(shè)置,和每種天氣類型的聲音。?(注意:云剖面已經(jīng)被添加到天氣類型。?這方面的指南可以在這里找到) ?

模塊化天氣系統(tǒng)分為兩類,降水天氣類型和非降水天氣類型。?當天氣生成時,如果條件合適,比如溫度,UniStorm會生成相應(yīng)的天氣。?這允許在保持主系統(tǒng)代碼長度最小的同時進行最大程度的定制。?

?總結(jié)來說,就是天氣被模塊化了,可以更直觀的修改設(shè)置我們需要的天氣(如:沙塵暴、極光、冰雹、雷暴),而且可以使用自己定義的粒子效果和天氣類型聲音,天氣系統(tǒng)被劃分兩類:降水天氣類型和非降水天氣類型。

?(2)創(chuàng)建一個自定義天氣類型。(右鍵點擊文件夾,Create——>UniStorm——>New Weather Type)

?(3)給天氣命名Test Weather,天氣面板 (這里也是 分區(qū)域講解)

命名并編輯您新創(chuàng)建的天氣類型的設(shè)置。?天氣類型的名稱將用于UniStorm的UI,如果它是啟用的。?您將能夠應(yīng)用粒子效果,改變云覆蓋,應(yīng)用聲音,改變霧的強度,以及更多。?一種天氣類型也有只在特定季節(jié)或溫度下產(chǎn)生的條件。?如果你使用了一個條件,UniStorm需要滿足這個條件才能正確生成它。?如果不滿足,另一種具有適當條件的天氣類型將在其位置生成。

Info 區(qū)域

Weather Type Name:天氣類型名稱(這個名稱將用于菜單的UI名稱)

Customize Weather Icon:是否可以自定義天氣圖標

?Settings 區(qū)域

Precipitation Weather Type?:控制該天氣類型是否為降水天氣類型。降水天氣類型是指雨、雪、雨夾雪、冰雹、霧氣等天氣類型。降水天氣類型也會有太陽的顏色改變,云變暗,霧的顏色改變,所有根據(jù)UniStorm編輯器中的暴風(fēng)雨的顏色設(shè)置。注意:粒子效果不需要使用。

Sun Intensity:控制此天氣下UniStorm的太陽強度。 ?

Moon Intensity:控制此天氣下UniStorm的月亮強度。 ?

Fog Desnity:控制UniStorm的霧密度。

Fog Speed Multipler:允許個別天氣類型控制霧快或慢,如果需要。 ?

Wind Intensity:控制UniStorm的風(fēng)區(qū)強度。

Cloud Level:控制此天氣下UniStorm的云層覆蓋的級別。 ?

Shader Control:控制UniStorm的全球天氣著色器,允許使用UniStorm/全球天氣著色器的表面上的動態(tài)雪和濕度。 ?

Effects 區(qū)域?

Use Weather Effect:為該天氣類型設(shè)置天氣粒子效果。 ?

Use Weather Sound:為該天氣類型設(shè)置天氣聲音。 ?

?Condeitions 區(qū)域

Seasonal Condition:控制該天氣類型允許在哪個季節(jié)生成。?如果您希望您的天氣類型在所有季節(jié)可用,您可以選擇“所有”選項。

Temperature Condition:控制該天氣類型是發(fā)生在冰點以上還是以下,例如下雨還是下雪。?

Special Weather Condition:控制此天氣類型是否特殊。?特殊的天氣條件會阻止UniStorm的天氣生成器生成天氣類型,并且只能通過自定義事件或程序調(diào)用。?這對于玩家事件或任務(wù)來說非常有用。

五、API調(diào)用?

1.Weather 天氣

//1.改變UniStorm的天氣,無論條件,與天氣類型參數(shù)的過渡速度。 UniStorm.UniStormManager.Instance.ChangeWeatherWithTransition(UniStorm.WeatherType weatherType);//2.立即改變UniStorm的天氣,無論條件,天氣類型參數(shù)。 UniStorm.UniStormManager.Instance.ChangeWeatherInstantly(WeatherType weatherType);//3.生成一個隨機的天氣類型,無論條件,從UniStorm的所有天氣類型列表 UniStorm.UniStormManager.Instance.RandomWeather();//4.獲取當前天氣類型的名稱 string CurrentWeatherTypeName = UniStorm.UniStormSystem.Instance.CurrentWeatherType.WeatherTypeName;//5.獲取預(yù)報天氣類型的名稱string WeatherForecastName = UniStorm.UniStormManager.Instance.GetWeatherForecastName();//6.獲取預(yù)報天氣將改變的小時,并設(shè)置天氣類型的名稱 int WeatherForecastHour = UniStorm.UniStormManager.Instance.GetWeatherForecastHour();//7.根據(jù)ActiveState bool禁用或啟用所有UniStorm粒子效果,但不影響它們的發(fā)射量。 UniStorm.UniStormManager.Instance.ChangeWeatherEffectsState(bool ActiveState);//8.禁用或啟用所有的UniStorm天氣聲音,取決于ActiveState bool,但不影響其當前音量。 UniStorm.UniStormManager.Instance.ChangeWeatherSoundsState(bool ActiveState);//9.獲取當前的UniStorm溫度 int CurrentTemperature = UniStorm.UniStormSystem.Instance.Temperature;

2. Time? 時間

//1.獲取當前的UniStorm分鐘 int CurrentMinute = UniStorm.UniStormSystem.Instance.Minute;//2.獲取當前的UniStorm小時 int CurrentHour = UniStorm.UniStormSystem.Instance.Hour;//3.修改UniStorm的日期 UniStorm.UniStormManager.Instance.SetDate(int Year, int Month, int Day);//4.修改UniStorm的時間日期 UniStorm.UniStormManager.Instance.SetTime (int Hour, int Minute);//5.獲取當前時間的狀態(tài) UniStorm.UniStormSystem.CurrentTimeOfDayEnum CurrentTimeOfDayState = UniStorm.UniStormSystem.Instance.CurrentTimeOfDay;//6.設(shè)置UniStorm的天數(shù)長度,以分鐘為單位 UniStorm.UniStormManager.Instance.SetDayLength(int MinuteLength);//7.設(shè)置UniStorm夜晚的長度,以分鐘為單位 UniStorm.UniStormManager.Instance.SetNightLength(int MinuteLength);//8.獲取當前的UniStorm星期幾 System.DayOfWeek CurrentDayOfWeek = UniStorm.UniStormManager.Instance.GetDate().DayOfWeek;//9.獲取當前的UniStorm日期 System.DayOfWeek CurrentDayOfWeek = UniStorm.UniStormManager.Instance.GetDate().DayOfWeek;

3.?Volume 音量

//1.設(shè)置UniStorm的音樂音量值,從0(完全靜音)到1(全音量)。 UniStorm.UniStormManager.Instance.SetMusicVolume(float Volume);//2.設(shè)置UniStorm的環(huán)境音量值從0(完全靜音)到1(全音量)。 UniStorm.UniStormManager.Instance.SetAmbienceVolume(float Volume);//3.將UniStorm的天氣音量設(shè)置為0(全靜音)到1(全音量)。 UniStorm.UniStormManager.Instance.SetWeatherVolume(float Volume);

4.?Seasons 季節(jié)

//獲取當前季節(jié) UniStorm.UniStormSystem.CurrentSeasonEnum currentSeason = UniStorm.UniStormSystem.Instance.CurrentSeason;

5.?System 修改玩家和玩家相機

//如果需要更改或更新,將玩家轉(zhuǎn)換和玩家攝像機更改為UniStorm。 UniStorm.UniStormManager.Instance.ChangePlayerComponents(Transform PlayerTransform, Camera CameraSource);

6.?Events 事件

建議在啟動時分配事件,不要在更新函數(shù)中使用。 //1.為OnHourChangeEvent設(shè)置一個可以每小時調(diào)用函數(shù)的事件。 UniStorm.UniStormSystem.Instance.OnHourChangeEvent.AddListener(() => YourFunctionEvent());//2.為OnDayChangeEvent設(shè)置一個可以每天調(diào)用函數(shù)的事件。 UniStorm.UniStormSystem.Instance.OnDayChangeEvent.AddListener(() => YourFunctionEvent());//3.為OnMonthChangeEvent設(shè)置一個可以每月調(diào)用函數(shù)的事件 UniStorm.UniStormSystem.Instance.OnMonthChangeEvent.AddListener(() => YourFunctionEvent());//4.為每年可以調(diào)用函數(shù)的OnYearChangeEvent設(shè)置一個事件 UniStorm.UniStormSystem.Instance.OnYearChangeEvent.AddListener(() => YourFunctionEvent());//5.為OnWeatherChangeEvent設(shè)置一個事件,該事件可以在每次天氣變化時調(diào)用函數(shù) UniStorm.UniStormSystem.Instance.OnWeatherChangeEvent.AddListener(() => YourFunctionEvent());

7.?Other 其他

//改變UniStorm的月相顏色。 更新的顏色將應(yīng)用在中午時,UniStorm的月亮更新。 UniStorm.UniStormManager.Instance.ChangeMoonPhaseColor(Color MoonPhaseColor)

六、擴展應(yīng)用?

1.制作一個自己的天氣

?了解以上參數(shù)后我們開始自己做一個天氣吧,要求:陰天、下雪、下火雨、會打雷,雷可以劈中場景Tag為Cube的物體 并且天氣效果背景是小鳥的叫聲。(哈哈 可怕的天氣,為了實驗效果,拼了~~)

?首先創(chuàng)建一個天氣類型的數(shù)據(jù)文件,配置我們的天氣。

配置天氣背景音樂(上面沒有截到圖,這里單獨拿出來說)。

?然后將這個設(shè)置好的天氣拖到Weather面板的 All weather Types列表中

新建三個Cube,將這三個cube層級設(shè)置為Cube,Tag標簽設(shè)置為Cube如下?

?設(shè)置UniStorm System的Weather的Lightning Settings區(qū)域

禁止其他時區(qū)的音樂播放,不禁止的話? 我們背景小鳥音樂容易被覆蓋,不容易聽到。

?好的 接下來運行看效果:

2.?unity使用UniStorm插件根據(jù)當前城市動態(tài)修改天氣效果

https://blog.csdn.net/qq_42345116/article/details/122652578

總結(jié)

以上是生活随笔為你收集整理的Unity插件之天气系统UniStorm的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。