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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Lightweight Render Pipeline

發(fā)布時(shí)間:2025/3/14 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Lightweight Render Pipeline 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

(翻譯)

Lightweight Render Pipeline (LWRP),輕量級(jí)渲染管線,是一個(gè)Unity預(yù)制的Scriptable Render Pipeline (SRP)。LWRP可以為移動(dòng)平臺(tái)提供圖形渲染功能,但你也可以在高端主機(jī)和PC上使用LWRP。LWRP使用簡(jiǎn)化的、基于物理的光照和材質(zhì)。

LWRP使用single-pass 前向渲染(forward rendering)。使用LWRP,可以在幾個(gè)平臺(tái)上 得到優(yōu)化了的實(shí)時(shí)渲染性能。

LWRP支持以下平臺(tái):

  • Windows and UWP
  • Mac and iOS
  • Android
  • XBox One
  • PlayStation4
  • Nintendo Switch
  • All current VR platforms

Lightweight Render Pipeline有兩種可用的模板: LWRP和LWRP-VR。LWRP-VR具有預(yù)先開啟的VR設(shè)置(pre-enabled settings for VR)。兩者的文檔是一樣的。

注意: Built-in和 custom Lit Shaders無法和LWRP一起工作。因?yàn)長(zhǎng)WRP有一套新的standard shaders。如果你升級(jí)(upgrade)當(dāng)前項(xiàng)目來使用LWRP,你需要升級(jí) built-in shaders到LWRP對(duì)應(yīng)的新的shaders。(LWRP提供了相應(yīng)的工具)

注意: 使用LWRP的項(xiàng)目無法與 High Definition Render Pipelin及Unity built-in rendering pipeline兼容。因此開發(fā)前,你要想清楚用哪一個(gè)渲染管線。

Getting started with LWRP

為了使用Lightweight Render Pipeline,你可以新建一個(gè)項(xiàng)目或者升級(jí)已存在的項(xiàng)目。

一旦你有了一個(gè)使用LWRP的項(xiàng)目,你必須創(chuàng)建一個(gè)Scriptable Render Pipeline (SRP) Asset (LWRP提供了工具),然后配置項(xiàng)目的Graphics settings。

接下來三個(gè)子章節(jié)為細(xì)節(jié)討論:

  • 創(chuàng)建一個(gè)新項(xiàng)目來使用LWRP
  • 升級(jí)舊項(xiàng)目來使用LWRP
  • 配置LWRP,包括創(chuàng)建SRP Asset,修改Graphics settings。

Using LWRP in a new Project

如果你想在新項(xiàng)目中使用LWRP,你可以用LWRP模板(templates)來創(chuàng)建新項(xiàng)目。

使用用模板創(chuàng)建新項(xiàng)目(適用于Unity 2018.1后的版本):

  • 打開Unity。在Unity主頁(Home),點(diǎn)擊New來創(chuàng)建一個(gè)新項(xiàng)目(new Project)。模板(Template)下拉框中選擇LWRP模板。
  • 點(diǎn)擊Create Project。Unity會(huì)自動(dòng)為你創(chuàng)建一個(gè)帶有全部LWRP功能的新項(xiàng)目。
  • 關(guān)于更多關(guān)于模板使用的信息,請(qǐng)查閱Project Templates

    注意: 創(chuàng)建完項(xiàng)目后,在開始使用LWRP前,你必須配置LWRP,即創(chuàng)建SRP Asset,修改Graphics settings。具體做法,請(qǐng)繼續(xù)看本文下面的** Configuring LWRP for use**。

    Installing LWRP into an existing Project

    如果你是新建項(xiàng)目來使用LWRP,可以直接跳過這一小節(jié),直接看下一小節(jié)Configuring LWRP for use

    你可以通過Unity的Package Manager System來下載和安裝最新版本的LWRP。

    為已存在的項(xiàng)目安裝LWRP:

  • 在Unity中,打開項(xiàng)目。在頂部的導(dǎo)航條,點(diǎn)擊 Window > Package Manager來打開Package Manager窗口。選擇All標(biāo)簽頁。這個(gè)標(biāo)簽頁顯示了當(dāng)前版本的Unity可以使用的包(packages)。
  • 從packages列表中選擇Lightweight Render Pipeline。在窗口右上角點(diǎn)擊Install。這會(huì)直接為你的項(xiàng)目安裝LWRP。
  • 注意: 在開始使用LWRP前,你必須配置LWRP,即創(chuàng)建SRP Asset,修改Graphics settings。具體做法,請(qǐng)繼續(xù)看本文下面的** Configuring LWRP for use**。

    注意: 把一個(gè)已存在的項(xiàng)目切換到LWRP會(huì)消耗大量時(shí)間和資源。LWRP使用custom lit shaders,是不和built-in Unity lit shaders兼容的。你必須手動(dòng)修改或轉(zhuǎn)換大量?jī)?nèi)容。嫌麻煩的話,可以考慮使用LWRP啟動(dòng)一個(gè)新項(xiàng)目。

    Configuring LWRP for use

    為了配置和使用LWRP,你必須首先:

    • 創(chuàng)建Lightweight Render Pipeline Asset,然后
    • 添加此Asset到項(xiàng)目的Graphics settings中。

    下面有更詳細(xì)的步驟。

    Creating the Lightweight Render Pipeline Asset

    Lightweight Render Pipeline Asset控制著項(xiàng)目的全局rendering和quality settings,并且創(chuàng)建rendering pipeline instance。rendering pipeline instance包含中間資源(intermediate resources)和render pipeline的實(shí)現(xiàn)。

    創(chuàng)建一個(gè)Lightweight Render Pipeline Asset的步驟:

  • 在Editor中,轉(zhuǎn)到Project window。
  • 在Project window中右擊,選擇Create > Rendering > Lightweight Render Pipeline > Pipeline Asset。或者在頂部菜單欄中點(diǎn)擊 Assets > Rendering > Lightweight Render Pipeline > Pipeline Asset
  • 對(duì)于此新創(chuàng)建的Asset,可以使用默認(rèn)的名字或者輸入一個(gè)新名字。現(xiàn)在你已經(jīng)創(chuàng)建了一個(gè)LWRP Asset。
  • 提示: 你可以為不同平臺(tái)(或不同測(cè)試環(huán)境)創(chuàng)建多個(gè)具有不同配置的LWRP Assets。

    Adding the Asset to your Graphics settings

    為了使用Lightweight Render Pipeline,你必須把剛剛新創(chuàng)建的LWRP Asset添加到Unity的Graphics settings中。如果不這樣做,Unity會(huì)嘗試使用built-in render pipeline。

  • 在頂部菜單欄點(diǎn)擊: Edit > Project Settings > Graphics
  • Render Pipeline Settings域中添加你剛創(chuàng)建的LWRP Asset。
    添加完成。
  • Lightweight Render Pipeline Asset

    LWRP Asset為L(zhǎng)ightweight Render Pipeline控制著幾個(gè)graphical features和quality settings。它是一個(gè)scriptable object,繼承自RenderPipelineAsset。當(dāng)你把LWRP Asset設(shè)置到Graphics settings時(shí),Unity會(huì)從built-in render pipeline切換到LWRP。你可以直接在LWRP中調(diào)試相應(yīng)的配置,而不用去別的地方了。

    你可以擁有多個(gè)LWRP assets,并在它們之間進(jìn)行切換。例如,你可以有一個(gè)打開陰影的LWRP Asset和一個(gè)關(guān)閉陰影的LWRP Asset。然而,你不能在HDRP/SRP和LWRP assets之間進(jìn)行切換,因?yàn)樗鼈冎g是互不兼容的。

    Shader Stripping

    Unity可以從單個(gè)Shader源文件中編譯出多個(gè)Shader變體(Shader Variants)。Shader Variants的數(shù)量取決于你的Shader中包含了多少關(guān)鍵字。在默認(rèn)著色器中,Lightweight Render Pipeline為lighting和shadows使用了一系列關(guān)鍵字。LWRP可以根據(jù)你在LWRP Asset中激的features,排除一些Shader variants。

    當(dāng)你在LWRP Asset中禁用某些featurers時(shí),pipeline會(huì)從構(gòu)建中(from the build)剝離相關(guān)的Shader variants。剝離Shaders使你的build sizes更小,需要更短的build times。如果你的項(xiàng)目不會(huì)用到某些features或keywords,Shader Stripping就很有用。

    例如,你的某個(gè)項(xiàng)目中directional lights可能用不到shadows。沒有Shader stripping的話,帶有directional shadow支持的Shader variants仍然存在于build中。如果你知道你根本用不到shadows,你可以在LWRP Asset中uncheck Cast Shadows。這樣LWRP會(huì)把這些Shader Variants從build中剝離。

    Built-in/LWRP comparison

    這里有一張F(tuán)eature comparison table,顯示了LWRP和Unity Built-in render pipeline支持的features的對(duì)比。

    Shading models in Lightweight Render Pipeline

    一個(gè)shading model定義了材質(zhì)的顏色是怎么隨著影響因素(如:surface orientation, viewer direction 和 lighting)變化的。你選擇哪個(gè)shading model決定于藝術(shù)傾向(artistic direction)和程序的性能預(yù)算。LWRP提供的Shaders具有以下shading models:

    • Physically Based Shading
    • Simple Shading
    • Baked Lit Shading
    • No lighting

    Physically Based Shading

    Physically Based Shading (PBS) 基于于物理定律通過計(jì)算表面(surface)的反射光問題來模擬物體在真實(shí)世界中的樣子。利用它可以生成逼真的物體(objects),即真實(shí)感渲染。

    PBS模型遵守以下兩條規(guī)則:

    Energy conservation - 能量守恒,表面反射的光的總量決不會(huì)大于總的入射光量。除非物體本身也是發(fā)光體,如霓虹光。Surfaces在微觀層次具有微幾何形態(tài)(Microgeometry )。一些物體具有光滑的微身體形態(tài)(smooth Microgeometry),這使物體看起來像“鏡子”。別的物體具有粗糙的微身體形態(tài)。使用LWRP,你可以模擬被渲染物體的表面的光滑度。

    當(dāng)光到達(dá)被渲染物體表面時(shí),部分光被反射,部分光被折射。反射的光叫鏡面反射,specular reflection。它會(huì)隨著Camera的方向和表面上的到達(dá)點(diǎn)而變化。在這個(gè)shading model中,高光區(qū)域(specular highlight)的形狀是用GGX function來近似的。

    對(duì)于金屬物體,其表面會(huì)吸收和改變光。對(duì)于非金屬物體(non-metallic objects),其表面會(huì)反射部分光。

    光的衰減只受光的強(qiáng)度(light intensity)影響。這意味著你不必為了控制衰減而增加光的范圍(range),因?yàn)闆]用的。

    下面這兩個(gè)LWRP Shaders使用Physically Based Shading:

    • Lit
    • Particles Lit

    注意:PBS模型不適用于低端手機(jī)硬件。如果你的目標(biāo)平臺(tái)是這種低端手機(jī)硬件,請(qǐng)使用下面要講的Simple Shading模型。

    Simple shading

    這個(gè)shading模型適用于風(fēng)格化的視覺效果(stylized visuals)或者運(yùn)行于非高端硬件平臺(tái)(less powerful platforms)上的游戲。使用這個(gè)shading model的材質(zhì)并不具有真正的(truly)photorealistic。這個(gè)shading model不遵守能量守恒定律,是基于Blinn-Phong模型的。

    在Simple Shading model中,材質(zhì)反射漫反射光和鏡面高光,兩者之間沒有關(guān)聯(lián)。材質(zhì)反射的漫反射光和高光的問題取決于你設(shè)置的材質(zhì)屬性,并且反射光的總量可以超過超過入射光的問題。鏡面反射僅隨camera direction變化。

    光的衰減(light attenuation)僅受光強(qiáng)影響。

    下面這些LWRP Shaders使用了Simple Shading:

    • Simple Lit
    • Particles Simple Lit

    Baked Lit shading

    Baked Lit shading沒有實(shí)時(shí)光照(real-time lighting)。材質(zhì)可以接受來自lightmaps或Light Probes的baked lighting。這以較小的性能代價(jià)為場(chǎng)景增加了一些深度。使用這個(gè)shading model的游戲可以運(yùn)行于less powerful platforms。

    LWRP Baked Lit shader是唯一使用Baked Lit shading的shader。

    Shaders with no lighting

    LWRP提供了一些不使用光照的Shaders。這意味著它們沒有directional lights,也沒有baked lighting。因?yàn)闆]有光照計(jì)算,這些shaders的編譯速度會(huì)比有光照的Shaders快。

    下面這些LWRP Shaders沒有光照:

    • Unlit
    • Particles Unlit

    參考:

  • Lightweight Render Pipeline
  • 首次發(fā)表于我的知乎專欄:https://zhuanlan.zhihu.com/p/69766402

    轉(zhuǎn)載于:https://www.cnblogs.com/leixinyue/p/11050076.html

    總結(jié)

    以上是生活随笔為你收集整理的Lightweight Render Pipeline的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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