91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

URP中的相機(jī)堆棧

電子設(shè)計(jì) ? 來源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2022-02-12 15:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:鄭洪智

在通用渲染管線(URP)中,相機(jī)有堆棧相機(jī)、渲染到同一渲染目標(biāo)、渲染為RenderTexture(渲染紋理)三種工作方式。

在通用渲染管線(URP)中,相機(jī)有以下工作方式:

堆棧相機(jī)(Stack Cameras)可以將多個(gè)相機(jī)的輸出合并為單個(gè)輸出。通過相機(jī)堆棧,你可以在2D UI中加入3D模型,或者創(chuàng)建車輛駕駛艙的效果。

將多個(gè)基礎(chǔ)相機(jī)或相機(jī)堆棧渲染到同一渲染目標(biāo)。這使你可以創(chuàng)建例如分屏渲染效果。

將基礎(chǔ)相機(jī)或相機(jī)堆棧渲染為RenderTexture(渲染紋理)。通過渲染到RenderTexture,可以創(chuàng)建例如CCTV監(jiān)視器之類的效果。

URP中的相機(jī)堆棧

你可以結(jié)合使用這些工作方式來獲得更復(fù)雜的效果。例如,你可以定義兩個(gè)相機(jī)堆棧,然后將每個(gè)相機(jī)堆棧設(shè)置為渲染到同一渲染目標(biāo)的不同區(qū)域。

相機(jī)堆棧

相機(jī)堆棧由基礎(chǔ)相機(jī)和一個(gè)或多個(gè)疊加相機(jī)組成。相機(jī)堆棧使用堆棧中所有相機(jī)的組合輸出疊加基礎(chǔ)相機(jī)的輸出。這樣,你可以對基礎(chǔ)相機(jī)的輸出進(jìn)行任何處理,也可以對相機(jī)堆棧的輸出進(jìn)行處理。例如,你可以將相機(jī)堆棧渲染到給定的渲染目標(biāo)、應(yīng)用后處理效果等等。

URP在Camera中執(zhí)行了多項(xiàng)優(yōu)化,包括渲染順序優(yōu)化以減少overdraw。但是,使用相機(jī)堆棧時(shí),你在手動定義渲染這些相機(jī)的順序。因此,你必須小心對相機(jī)進(jìn)行排序,不要導(dǎo)致過度overdraw。有關(guān)URP中overdraw的信息,后面開一節(jié)專門講。

01 將相機(jī)添加到相機(jī)堆棧

o4YBAGAIgbWANBG0AAANT0XKHmc603.png

將相機(jī)添加到相機(jī)堆棧

在場景中創(chuàng)建相機(jī)。它的Render Type默認(rèn)為Base,使其成為基礎(chǔ)相機(jī)。

在場景中創(chuàng)建另一個(gè)相機(jī),然后選中。

在相機(jī)Inspector中,將相機(jī)的渲染類型RenderType更改為Overlay。

再次選擇基礎(chǔ)相機(jī)。在相機(jī)Inspector中,滾動到Stack部分,單擊加號(+)按鈕,然后單擊疊加相機(jī)的名稱。

疊加相機(jī)現(xiàn)在是基礎(chǔ)相機(jī)的相機(jī)堆棧的一部分。Unity在基礎(chǔ)相機(jī)的輸出之上渲染疊加相機(jī)的輸出。

你可以通過直接操縱cameraStack基礎(chǔ)相機(jī)的UniversalAdditionalCameraData組件的屬性,將腳本中的相機(jī)添加到相機(jī)堆棧中,如下所示:

var cameraData = camera.GetUniversalAdditionalCameraData(); cameraData.cameraStack.Add(myOverlayCamera);

02 從相機(jī)堆棧中移除相機(jī)

o4YBAGAIgfOAXV2oAAAnSYKswHI401.png

從相機(jī)堆棧中移除相機(jī)

創(chuàng)建一個(gè)至少包含一個(gè)疊加相機(jī)的相機(jī)堆棧。

選擇相機(jī)堆棧的基礎(chǔ)相機(jī)。

在相機(jī)Inspector中,滾動到Stack部分,單擊要刪除的疊加相機(jī)的名稱,然后單擊減號(-)按鈕。

疊加相機(jī)保留在場景中,但不再是相機(jī)堆棧的一部分。

你可以通過直接操縱cameraStack基礎(chǔ)相機(jī)的UniversalAdditionalCameraData組件的屬性,從腳本中的相機(jī)堆棧中刪除相機(jī),如下所示:

var cameraData = camera.GetUniversalAdditionalCameraData(); cameraData.cameraStack.Remove(myOverlayCamera);

03 更改相機(jī)堆棧中相機(jī)的順序

pIYBAGAIgjGARY_4AAAXvSb9dj8977.png

從相機(jī)堆棧中移除相機(jī)

創(chuàng)建一個(gè)包含多個(gè)疊加相機(jī)的相機(jī)堆棧。

在相機(jī)堆棧中選擇基礎(chǔ)相機(jī)。

在相機(jī)Inspector中,滾動到“堆?!辈糠?。

使用疊加相機(jī)名稱旁邊的手柄重新排列疊加相機(jī)列表。

基礎(chǔ)相機(jī)會渲染相機(jī)堆棧的基礎(chǔ)層,堆棧中的疊加相機(jī)會按照從上到下的列出順序在其頂部進(jìn)行渲染。

你可以通過直接操縱cameraStack基礎(chǔ)相機(jī)的UniversalAdditionalCameraData組件的屬性,在腳本中對相機(jī)堆棧進(jìn)行重新排序。

04 將同一臺疊加相機(jī)添加到多個(gè)堆棧

要將疊加相機(jī)添加到多個(gè)相機(jī)堆棧:

創(chuàng)建一個(gè)至少包含一個(gè)疊加相機(jī)的相機(jī)堆棧。

在場景中創(chuàng)建相機(jī)。它的渲染類型默認(rèn)為Base,使其成為基礎(chǔ)相機(jī)。

選擇新的基礎(chǔ)相機(jī)。

在相機(jī)Inspector中,滾動到堆棧部分,單擊加號(+)按鈕,然后單擊要在兩個(gè)相機(jī)堆棧中使用的疊加相機(jī)的名稱。

現(xiàn)在,疊加相機(jī)將同時(shí)在兩個(gè)相機(jī)堆棧中渲染。

你還可以通過直接操縱cameraStack基礎(chǔ)相機(jī)的UniversalAdditionalCameraData組件的屬性,將腳本中的相機(jī)添加到相機(jī)堆棧中,如下所示:

var cameraData = camera.GetUniversalAdditionalCameraData(); cameraData.cameraStack.Add(myOverlayCamera);

將多個(gè)相機(jī)渲染到一個(gè)目標(biāo)

在通用渲染管線(URP)中,多個(gè)基礎(chǔ)相機(jī)或相機(jī)堆??梢凿秩镜酵讳秩灸繕?biāo)。這使你可以創(chuàng)建例如分屏渲染的效果。

如果有多個(gè)基礎(chǔ)相機(jī)或相機(jī)堆棧渲染到渲染目標(biāo)的同一區(qū)域,則Unity會多次繪制重疊區(qū)域中的每個(gè)像素。最高優(yōu)先級的基礎(chǔ)相機(jī)或相機(jī)堆棧最后繪制。

你可以使用基礎(chǔ)相機(jī)的輸出目標(biāo)屬性來定義渲染目標(biāo),并使用視口矩形(Viewport Rect)屬性來定義要渲染到的渲染目標(biāo)的區(qū)域。

設(shè)置分屏渲染

pIYBAGAIgm-AVaHfAABe6dUxGTc370.png

在URP中設(shè)置分屏渲染

在場景中創(chuàng)建相機(jī)。其渲染模式默認(rèn)為Base,使其成為Base Camera。

選擇相機(jī)。在Inspector中,滾動到Output部分。將Viewport的值更改為以下值:
X:0
Y:0
Width:0.5
Height:1

在場景中創(chuàng)建另一個(gè)相機(jī)。其渲染模式默認(rèn)為Base,使其成為Base Camera。

選擇相機(jī)。在Inspector中,滾動到Output部分。將Viewport Rect的值更改為以下值:
X:0.5
Y:0
Width:0.5
Height:1

Unity將第一個(gè)Camera渲染到屏幕的左側(cè),將第二個(gè)Camera渲染到屏幕的右側(cè)。

你可以通過設(shè)置其rect屬性,在腳本中更改相機(jī)的視口矩形,如下所示:

myUniversalAdditionalCameraData.rect = new Rect(0.5f, 0f, 0.5f, 0f);

渲染到RenderTexture

在通用渲染管線(URP)中,相機(jī)可以渲染到屏幕或RenderTexture(渲染紋理)。渲染到屏幕是默認(rèn)設(shè)置,也是最常見的用例,但是渲染到RenderTexture可讓你創(chuàng)建如CCTV相機(jī)監(jiān)視器的效果。

如果你有要渲染為RenderTexture的相機(jī),則必須有第二個(gè)相機(jī),然后再將該RenderTexture渲染到屏幕上。在URP中,所有渲染到RenderTexture的相機(jī)都在所有渲染到屏幕的相機(jī)之前執(zhí)行其渲染循環(huán)。這樣可以確保RenderTexture已準(zhǔn)備好渲染到屏幕上。

渲染到RenderTexture,然后將該RenderTexture渲染到屏幕。

pIYBAGAIgrSARAZTAAA_thZeHBQ900.png

在URP中渲染到RenderTexture

使用Assets > Create > Render Texture在項(xiàng)目中創(chuàng)建Render Texture資產(chǎn)。

在場景中創(chuàng)建一個(gè)Quad。

在你的項(xiàng)目中創(chuàng)建一個(gè)材質(zhì),然后選擇它。在Inspector中,將RenderTexture拖動到材質(zhì)的BaseMap字段。

在Scene視圖中,將材質(zhì)拖到Quad上。

在場景中創(chuàng)建相機(jī),其渲染模式默認(rèn)為Base,使其成為Base Camera。

選擇基礎(chǔ)相機(jī)。在Inspector中,滾動到Output部分,然后將Render Texture拖到Output Texture字段。

在場景中創(chuàng)建另一個(gè)相機(jī)。它的渲染模式默認(rèn)為Base,使其成為Base Camera,將Quad放置在新Base Camera的視圖內(nèi)。

第一臺Camera將其視圖渲染到RenderTexture。第二臺相機(jī)將包括RenderTexture的場景渲染到屏幕上。

你可以通過設(shè)置cameraOutput相機(jī)的UniversalAdditionalCameraData組件的屬性,在腳本中設(shè)置相機(jī)的Output,如下所示:

myUniversalAdditionalCameraData.cameraOutput = CameraOutput.Texture; myCamera.targetTexture = myRenderTexture;

本文轉(zhuǎn)自:Unity官方平臺 ,作者:鄭洪智,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。
審核編輯:何安

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 相機(jī)
    +關(guān)注

    關(guān)注

    5

    文章

    1585

    瀏覽量

    55822
  • Unity
    +關(guān)注

    關(guān)注

    1

    文章

    131

    瀏覽量

    23304
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    在學(xué)單片機(jī)時(shí)在堆棧遇到的問題分享

    大多數(shù)的例子能良好工作。在絕大多數(shù)程序除了很繁重的遞歸調(diào)用程序再入式函數(shù),最多40 個(gè)字節(jié)的硬件堆棧應(yīng)該是足夠的。 如果函數(shù)的調(diào)用層次太深,有可能會發(fā)生硬件堆棧溢出到軟件
    發(fā)表于 01-23 07:47

    堆棧的原理揭秘

    1. 什么是堆棧?單片機(jī)應(yīng)用堆棧是個(gè)特殊存儲區(qū),堆棧屬于RAM空間的一部分,堆棧用于函數(shù)調(diào)用、中斷切換時(shí)保存和恢復(fù)現(xiàn)場數(shù)據(jù)。
    發(fā)表于 01-23 07:08

    工業(yè)視覺相機(jī)的應(yīng)用有哪些

    工業(yè)相機(jī),最本質(zhì)的功能就是將光信號轉(zhuǎn)變成有序的電信號。選擇合適的相機(jī)也是機(jī)器視覺系統(tǒng)設(shè)計(jì)的重要環(huán)節(jié),相機(jī)的選擇不僅直接決定所采集到的圖像分辨率、圖像質(zhì)量等,同時(shí)也與整個(gè)系統(tǒng)的運(yùn)行模式
    的頭像 發(fā)表于 12-31 10:45 ?485次閱讀
    工業(yè)視覺<b class='flag-5'>相機(jī)</b>的應(yīng)用有哪些

    單片機(jī)堆棧解析

    什么是單片機(jī)堆棧? 在片內(nèi)RAM,常常要指定一個(gè)專門的區(qū)域來存放某些特別的數(shù)據(jù),它遵循順序存取和后進(jìn)先出(LIFO/FILO)的原則,這個(gè)RAM區(qū)叫堆棧。 它的作用 子程序調(diào)用和中斷服務(wù)時(shí)CPU
    發(fā)表于 12-09 06:52

    堆棧的定義,堆棧的使用方法

    定義和一般段的定義的唯一區(qū)別在于使用了STACK; 對于堆棧段,系統(tǒng)會在裝入程序時(shí)自動把SSEG的段基址放入SS寄存器,堆棧的字節(jié)數(shù)自動置入SP寄存器
    發(fā)表于 11-21 06:49

    堆棧指針SP介紹

    SP 堆棧指針:8位寄存器,用來指示堆棧的位置,可由軟件修改。 堆棧的介紹堆棧是一種按“先進(jìn)后出”規(guī)律操作的存儲結(jié)構(gòu)。不同類型的處理器其堆棧
    發(fā)表于 11-17 06:07

    UV紫外相機(jī)在工業(yè)視覺檢測的應(yīng)用

    UV紫外相機(jī)通過捕捉紫外信號和激發(fā)熒光反應(yīng),解決常規(guī)相機(jī)無法識別的隱形缺陷和標(biāo)記,廣泛應(yīng)用于工業(yè)視覺檢測。
    的頭像 發(fā)表于 10-21 09:45 ?463次閱讀

    短波紅外相機(jī)在工業(yè)視覺檢測的應(yīng)用

    短波紅外相機(jī)通過穿透材質(zhì)、高分辨率和抗強(qiáng)光,解決工業(yè)視覺檢測的難題,適用于復(fù)雜環(huán)境下的精準(zhǔn)檢測。
    的頭像 發(fā)表于 10-15 09:45 ?847次閱讀

    相機(jī)傳感器物理建模的畸變設(shè)計(jì)

    在自動駕駛感知系統(tǒng),相機(jī)傳感器的應(yīng)用十分廣泛,無論是前視,側(cè)視,環(huán)視甚至車內(nèi),相機(jī)傳感器都發(fā)揮著至關(guān)重要的作用,目前帶有ADAS和自動駕駛功能的汽車,大多配備七八個(gè)甚至十幾個(gè)相機(jī)傳感
    的頭像 發(fā)表于 08-12 16:59 ?2338次閱讀
    <b class='flag-5'>相機(jī)</b>傳感器物理建模<b class='flag-5'>中</b>的畸變設(shè)計(jì)

    工業(yè)相機(jī)與智能相機(jī)的區(qū)別

    在機(jī)器視覺領(lǐng)域,工業(yè)相機(jī)和智能相機(jī)是兩種常見的設(shè)備,它們各自具有獨(dú)特的特點(diǎn)和應(yīng)用場景。了解這兩者之間的差異有助于我們在實(shí)際應(yīng)用做出更合適的選擇。本文將從多個(gè)角度詳細(xì)解析工業(yè)相機(jī)與智能
    的頭像 發(fā)表于 08-11 14:44 ?1785次閱讀
    工業(yè)<b class='flag-5'>相機(jī)</b>與智能<b class='flag-5'>相機(jī)</b>的區(qū)別

    紫外工業(yè)相機(jī)的主要應(yīng)用

    工業(yè)相機(jī)常見的有面陣相機(jī)、線陣相機(jī)、黑白相機(jī)、彩色相機(jī),根據(jù)不同的分類依據(jù),工業(yè)相機(jī)可分為多種類
    的頭像 發(fā)表于 07-15 16:56 ?688次閱讀
    紫外工業(yè)<b class='flag-5'>相機(jī)</b>的主要應(yīng)用

    相機(jī)模組膠水檢測

    相機(jī)
    海伯森技術(shù)
    發(fā)布于 :2025年05月19日 15:07:45

    工業(yè)相機(jī)在焊縫跟蹤的關(guān)鍵作用有哪些

    工業(yè)相機(jī)在焊縫跟蹤系統(tǒng),扮演了捕捉、處理與反饋焊縫位置信息的核心角色,通過高速、高分辨率的圖像采集,并結(jié)合智能算法的實(shí)時(shí)圖像處理,成為焊縫跟蹤系統(tǒng)的“眼睛”,能夠在復(fù)雜焊接環(huán)境下實(shí)時(shí)識別焊縫位置
    的頭像 發(fā)表于 05-13 17:56 ?739次閱讀
    工業(yè)<b class='flag-5'>相機(jī)</b>在焊縫跟蹤<b class='flag-5'>中</b>的關(guān)鍵作用有哪些

    高光譜相機(jī)在工業(yè)檢測的應(yīng)用:LED屏檢、PCB板缺陷檢測

    隨著工業(yè)檢測精度要求的不斷提升,傳統(tǒng)機(jī)器視覺技術(shù)逐漸暴露出對非可見光物質(zhì)特性識別不足、復(fù)雜缺陷檢出率低等局限性。高光譜相機(jī)憑借其獨(dú)特的光譜分析能力,為工業(yè)檢測提供了革命性的解決方案。以下結(jié)合達(dá)瑞
    的頭像 發(fā)表于 04-23 16:36 ?939次閱讀

    高光譜相機(jī)在農(nóng)業(yè)監(jiān)測的應(yīng)用

    在現(xiàn)代農(nóng)業(yè),科技的進(jìn)步不斷推動著生產(chǎn)方式的變革,其中高光譜成像技術(shù)作為一種新興的監(jiān)測手段,已經(jīng)開始引起越來越多的關(guān)注。高光譜相機(jī)通過捕捉不同波長的光線,能夠提供植物健康、土壤質(zhì)量、作物生長狀況等
    的頭像 發(fā)表于 04-03 15:44 ?914次閱讀