欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Unity屏幕雪花另類實(shí)現(xiàn)方式示例

 更新時(shí)間:2019年10月09日 14:19:34   作者:海洋_  
這篇文章主要介紹了Unity屏幕雪花另類實(shí)現(xiàn)方式示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

今天是圣誕節(jié)平安夜,為此特別制作了一個(gè)雪花飄落的場(chǎng)景,我們的雪花渲染方式不同于網(wǎng)上流行的使用Camera Filter,需要將腳本掛接到相機(jī)上面,而我們是掛接到空對(duì)象上面,實(shí)現(xiàn)方式采用的是自定義Mesh,自定義Mesh可以幫助我們實(shí)現(xiàn)很多的效果,而且對(duì)效率的提升非常有幫助,雪花實(shí)現(xiàn)方式分為:C#腳本和Shader渲染,C#負(fù)責(zé)雪花的生成,Shader負(fù)責(zé)雪花的飛舞和渲染。下面我們介紹實(shí)現(xiàn)方式:

關(guān)于unity,每幀可渲染65000頂點(diǎn),表示雪的網(wǎng)狀物每1片雪花使用4個(gè)頂點(diǎn),65,000 / 4 = 1,6250,這也是你可以一次畫的雪數(shù)量。

自定義Mesh,我們需要這兩個(gè)參數(shù):雪花數(shù)量,雪花的范圍,另外實(shí)現(xiàn)自定義Mesh需要如下幾個(gè)參數(shù):存放雪花頂點(diǎn),雪花的三角形索引,雪花UV,最后我們需要MeshRender幫助我們渲染。首先我們針對(duì)定義的參數(shù)如下所示:


變量定義好了,接下來的工作就是初始化了,我們的初始化工作只需要做一次,因此在Start函數(shù)中完成的。下面我們根據(jù)定義的變量逐步將他們填充起來,先完成雪花頂點(diǎn)的生成如下所示:


頂點(diǎn)有了,再來填充索引,代碼如下所示:


索引有了,下面就是UV了,再看看UV的實(shí)現(xiàn)方式:


頂點(diǎn),索引,UV定義好了后,下面就是寫自定義雪花Mesh了,將我們已經(jīng)實(shí)現(xiàn)的頂點(diǎn),索引,UV一次性的賦給我們的Mesh,如下所示:


到這里,我們的自定義Mesh就完成了,我們還需要對(duì)Mesh進(jìn)行渲染,這個(gè)就用到了我們的Shader了,雪花是飄動(dòng)的而且還需要材質(zhì),雪花位置的變化我們?cè)陧旤c(diǎn)著色器中實(shí)現(xiàn),這個(gè)也是重點(diǎn),而片段著色器只是做了簡(jiǎn)單的渲染,核心代碼如下所示:


剩下的是在C#中,使用CPU對(duì)GPU中定義的Shader傳值,Shader中定義了以下變量:


這些變量需要在C#中完成對(duì)它們的傳值操作,因?yàn)樾枰繋?zhí)行,我們將其放在了LateUpdate中完成,代碼如下所示:


這樣我們的雪花制作就完成了,我們將代碼掛到自己新建的空對(duì)象上面,注意這里不是相機(jī)上,實(shí)現(xiàn)效果如下:


我們的雪景出現(xiàn)了,但是效果不是特別好,渲染力度不夠,為此我將其加上,景深,霧效,Bloom渲染,再看看效果如下所示:


效果明顯加強(qiáng)了,圖中的鹿是給大家送祝福了,祝愿開發(fā)者技術(shù)更上一層樓,就寫到這里吧,代碼后面整理一下傳上來,供參考,晚安各位。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C#快速配置NLog日志的教程詳解

    C#快速配置NLog日志的教程詳解

    這篇文章主要為大家詳細(xì)介紹了C#快速配置NLog日志的教程相關(guān)知識(shí),文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解一下
    2024-02-02
  • C# 9 新特性——record的相關(guān)總結(jié)

    C# 9 新特性——record的相關(guān)總結(jié)

    這篇文章主要介紹了C# 9 新特性——record的相關(guān)總結(jié),幫助大家更好的理解和學(xué)習(xí)使用c# 9的新特性,感興趣的朋友可以了解下
    2021-02-02
  • 如何在UpdatePanel中調(diào)用JS客戶端腳本

    如何在UpdatePanel中調(diào)用JS客戶端腳本

    本文將介紹如何在UpdatePanel中調(diào)用JS客戶端腳本,需要了解的朋友可以參考下
    2012-12-12
  • 分享C#中幾個(gè)可用的類

    分享C#中幾個(gè)可用的類

    這篇文章主要為大家分享了C#中幾個(gè)可用的類,并給出了幾個(gè)例子進(jìn)行講解,感興趣的小伙伴們可以參考一下
    2016-05-05
  • C# 游戲外掛實(shí)現(xiàn)核心代碼

    C# 游戲外掛實(shí)現(xiàn)核心代碼

    最近打算學(xué)習(xí)下游戲外掛,因?yàn)閏#語言,感覺比較順,高手用delphi的多,不知道哪個(gè)最好。
    2009-01-01
  • C#中Byte[]和String之間轉(zhuǎn)換的方法

    C#中Byte[]和String之間轉(zhuǎn)換的方法

    很多朋友不清楚如何在Byte[]和String之間進(jìn)行轉(zhuǎn)換?下面小編給大家?guī)砹薭yte與string轉(zhuǎn)換的方法,感興趣的朋友參考下吧
    2016-08-08
  • Unity實(shí)現(xiàn)通用的信息提示框

    Unity實(shí)現(xiàn)通用的信息提示框

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)通用的信息提示框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • C#設(shè)計(jì)模式之Observer觀察者模式解決牛頓童鞋成績(jī)問題示例

    C#設(shè)計(jì)模式之Observer觀察者模式解決牛頓童鞋成績(jī)問題示例

    這篇文章主要介紹了C#設(shè)計(jì)模式之Observer觀察者模式解決牛頓童鞋成績(jī)問題,簡(jiǎn)單講述了觀察者模式的原理并結(jié)合具體實(shí)例形式分析了使用觀察者模式解決牛頓童鞋成績(jī)問題的具體步驟相關(guān)操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下
    2017-09-09
  • C#反色處理及其效率問題分析

    C#反色處理及其效率問題分析

    這篇文章主要介紹了C#反色處理及其效率問題分析,實(shí)例分析了C#反色處理問題的技巧及相關(guān)效率問題,需要的朋友可以參考下
    2015-06-06
  • WPF實(shí)現(xiàn)環(huán)(圓)形菜單的示例代碼

    WPF實(shí)現(xiàn)環(huán)(圓)形菜單的示例代碼

    這篇文章主要介紹了如何利用WPF繪制一個(gè)簡(jiǎn)單的環(huán)形菜單,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,需要的可以參考一下
    2022-07-07

最新評(píng)論