在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

URP中的相機堆棧

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2022-02-12 15:45 ? 次閱讀

作者:鄭洪智

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

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

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

將多個基礎相機或相機堆棧渲染到同一渲染目標。這使你可以創建例如分屏渲染效果。

將基礎相機或相機堆棧渲染為RenderTexture(渲染紋理)。通過渲染到RenderTexture,可以創建例如CCTV監視器之類的效果。

URP中的相機堆棧

你可以結合使用這些工作方式來獲得更復雜的效果。例如,你可以定義兩個相機堆棧,然后將每個相機堆棧設置為渲染到同一渲染目標的不同區域。

相機堆棧

相機堆棧由基礎相機和一個或多個疊加相機組成。相機堆棧使用堆棧中所有相機的組合輸出疊加基礎相機的輸出。這樣,你可以對基礎相機的輸出進行任何處理,也可以對相機堆棧的輸出進行處理。例如,你可以將相機堆棧渲染到給定的渲染目標、應用后處理效果等等。

URP在Camera中執行了多項優化,包括渲染順序優化以減少overdraw。但是,使用相機堆棧時,你在手動定義渲染這些相機的順序。因此,你必須小心對相機進行排序,不要導致過度overdraw。有關URP中overdraw的信息,后面開一節專門講。

01 將相機添加到相機堆棧

o4YBAGAIgbWANBG0AAANT0XKHmc603.png

將相機添加到相機堆棧

在場景中創建相機。它的Render Type默認為Base,使其成為基礎相機。

在場景中創建另一個相機,然后選中。

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

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

疊加相機現在是基礎相機的相機堆棧的一部分。Unity在基礎相機的輸出之上渲染疊加相機的輸出。

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

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

02 從相機堆棧中移除相機

o4YBAGAIgfOAXV2oAAAnSYKswHI401.png

從相機堆棧中移除相機

創建一個至少包含一個疊加相機的相機堆棧。

選擇相機堆棧的基礎相機。

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

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

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

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

03 更改相機堆棧中相機的順序

pIYBAGAIgjGARY_4AAAXvSb9dj8977.png

從相機堆棧中移除相機

創建一個包含多個疊加相機的相機堆棧。

在相機堆棧中選擇基礎相機。

在相機Inspector中,滾動到“堆棧”部分。

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

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

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

04 將同一臺疊加相機添加到多個堆棧

要將疊加相機添加到多個相機堆棧:

創建一個至少包含一個疊加相機的相機堆棧。

在場景中創建相機。它的渲染類型默認為Base,使其成為基礎相機。

選擇新的基礎相機。

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

現在,疊加相機將同時在兩個相機堆棧中渲染。

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

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

將多個相機渲染到一個目標

在通用渲染管線(URP)中,多個基礎相機或相機堆棧可以渲染到同一渲染目標。這使你可以創建例如分屏渲染的效果。

如果有多個基礎相機或相機堆棧渲染到渲染目標的同一區域,則Unity會多次繪制重疊區域中的每個像素。最高優先級的基礎相機或相機堆棧最后繪制。

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

設置分屏渲染

pIYBAGAIgm-AVaHfAABe6dUxGTc370.png

在URP中設置分屏渲染

在場景中創建相機。其渲染模式默認為Base,使其成為Base Camera。

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

在場景中創建另一個相機。其渲染模式默認為Base,使其成為Base Camera。

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

Unity將第一個Camera渲染到屏幕的左側,將第二個Camera渲染到屏幕的右側。

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

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

渲染到RenderTexture

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

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

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

pIYBAGAIgrSARAZTAAA_thZeHBQ900.png

在URP中渲染到RenderTexture

使用Assets > Create > Render Texture在項目中創建Render Texture資產。

在場景中創建一個Quad。

在你的項目中創建一個材質,然后選擇它。在Inspector中,將RenderTexture拖動到材質的BaseMap字段。

在Scene視圖中,將材質拖到Quad上。

在場景中創建相機,其渲染模式默認為Base,使其成為Base Camera。

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

在場景中創建另一個相機。它的渲染模式默認為Base,使其成為Base Camera,將Quad放置在新Base Camera的視圖內。

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

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

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 相機
    +關注

    關注

    4

    文章

    1370

    瀏覽量

    53985
  • Unity
    +關注

    關注

    1

    文章

    127

    瀏覽量

    21919
收藏 人收藏

    評論

    相關推薦

    達瑞和帶你了解高光譜相機和多光譜相機的區別以及如何選購

    高光譜相機和多光譜相機都是用于捕捉和分析物體光譜信息的成像設備,但它們在光譜分辨率、波段數量、應用場景等方面存在顯著區別。本篇文章,達瑞和就帶大家從以上幾點來介紹下。 1、光譜分辨率 高光譜
    的頭像 發表于 02-07 17:01 ?112次閱讀

    晶振在工業相機的應用

    在工業相機的各個模塊,晶體振蕩器(晶振)起到提供精確時鐘信號的作用,主要用來確保系統的各個部分能夠同步運作,保證信號的穩定和正確處理。不同模塊對晶振的頻率、精度、溫度穩定性等參數有不同的要求。
    的頭像 發表于 01-07 19:02 ?1281次閱讀
    晶振在工業<b class='flag-5'>相機</b><b class='flag-5'>中</b>的應用

    AUTOSAR通信堆棧的配置 AUTOSAR通信模塊測試方法

    )的開發和生產。通信堆棧是AUTOSAR架構的關鍵組成部分,負責處理ECU之間的通信。 AUTOSAR通信堆棧的配置 通信模型 : AUTOSAR定義了一種分層的通信模型,包括應用
    的頭像 發表于 12-17 15:01 ?412次閱讀

    用高速相機看世界,揭秘肥皂泡與Marangoni效應#高速相機 #深視智能

    相機
    深視智能科技
    發布于 :2024年10月15日 17:17:21

    C2000?MCU的運行時堆棧大小監測

    電子發燒友網站提供《C2000?MCU的運行時堆棧大小監測.pdf》資料免費下載
    發表于 09-11 09:30 ?0次下載
    C2000?MCU的運行時<b class='flag-5'>堆棧</b>大小監測

    堆棧和內存的基本知識

    本文主要聊聊關于堆棧的內容。包括堆棧和內存的基本知識。常見和堆棧相關的 bug,如棧溢出,內存泄漏,堆內存分配失敗等。后面介紹軟件堆棧統計
    的頭像 發表于 08-29 14:10 ?592次閱讀
    <b class='flag-5'>堆棧</b>和內存的基本知識

    銀月光VCSEL激光紅外在熔池監控相機的應用

    探討了銀月光VCSEL激光紅外技術在熔池監控相機的應用,為解決傳統監控技術的缺陷提供了一種全新的解決方案。
    的頭像 發表于 08-05 09:49 ?504次閱讀

    如何使用Polyspace Code Prover來統計堆棧

    前一篇文章介紹了堆棧和內存的一些背景知識。本次介紹如何使用 Polyspace Code Prover來統計堆棧,如何使用這些數據為軟件優化服務。
    的頭像 發表于 07-25 14:06 ?615次閱讀
    如何使用Polyspace Code Prover來統計<b class='flag-5'>堆棧</b>

    請問est_printf為什么要使用堆棧空間?

    我正在嘗試解決 ESP8266_RTOS V3.0 的問題 ets_printf用于將調試消息轉儲出通信端口。 ets_printf使用 ets_io_vprintf(ets_putc
    發表于 07-09 07:47

    熔池監控相機的原理是什么

    熔池監控相機在現代焊接技術扮演著至關重要的角色。隨著工業自動化和智能制造的不斷推進,焊接質量和效率的提升成為行業關注的焦點。熔池監控相機通過實時監控和分析焊接過程的熔池動態,為提升
    的頭像 發表于 06-13 14:09 ?540次閱讀
    熔池監控<b class='flag-5'>相機</b>的原理是什么

    Koolance 散熱器在科學相機的應用(二)

    生產 廠家和相機型號之間各有不同。大家或許要問,為什么制冷溫度會設計得不一樣?制冷對圖 像信噪比有很大影響么?本期真我們就來給大家詳細說說這個問題。 首先,我們還是要從對成像質量影響最大的 SNR 信噪比公式入手: 在上一期我們提到
    的頭像 發表于 05-22 15:41 ?535次閱讀
    Koolance 散熱器在科學<b class='flag-5'>相機</b><b class='flag-5'>中</b>的應用(二)

    IAR調試freertos系統怎樣才能方便的獲得任務的堆棧情況?

    在IAR中將freertos移植到STM32,在進行任務堆棧分配時分配多大的堆棧時一個問題,如何比較方便的獲得任務堆棧呢?利用IAR這個平臺的在線調試可以嗎?怎么看,請各位大神各抒己
    發表于 05-07 08:15

    機器視覺如何選擇相機與對應的鏡頭

    相機選擇主要包括兩個方面:線陣相機的選擇和面陣相機的選擇。首先,不管是線陣相機,還是面陣相機,都需要事先指導和
    發表于 04-07 15:27 ?1405次閱讀
    機器視覺<b class='flag-5'>中</b>如何選擇<b class='flag-5'>相機</b>與對應的鏡頭
    主站蜘蛛池模板: 成人看片免费无限观看视频 | 亚洲色图图片专区 | 成人国产在线视频 | 欧美成人午夜片一一在线观看 | 欧美一级看片免费观看视频在线 | 182.t v香蕉人人网站 | 高清视频一区二区三区 | 377p亚洲欧洲日本大胆色噜噜 | 综合亚洲色图 | 亚洲色图图片 | 日本成人免费网站 | 国产精品永久免费自在线观看 | 国产叼嘿视频免费网站 | 午夜黄色在线观看 | 中文字幕亚洲一区二区va在线 | 美女18黄| 国产手机在线观看视频 | 天天夜夜狠狠 | 免费看特级淫片日本 | 成人国产亚洲欧美成人综合网 | 亚洲 另类 在线 欧美 制服 | 五月婷婷激情五月 | 免费高清一级欧美片在线观看 | 手机在线完整视频免费观看 | 欧美影院入口 | 天天爽夜夜爽精品视频一 | 天天做夜夜爱 | 97av在线播放 | ak福利午夜在线观看 | 两人性世界 | 欧美性白人极品1819hd高清 | 亚洲精品二区中文字幕 | 天堂资源www天堂在线 | 精品国产一二三区 | 色偷偷成人 | 成年午夜一级毛片视频 | 亚洲1页 | 在线播放你懂得 | 网址色 | 欧美成人鲁丝片在线观看 | 欧美日本色 |