Unity攝像機與燈光相關知識

一、Inspector窗口

Inspector窗口可以查看和編輯對象的屬性以及設置

其中包含各種組件,例如用Cube對象來舉例

1.Sphere(Mesh)組件:

? ?用來決定對象的網格屬性,例如球體網格為Sphere、立方體網格為Cube

? ?

2.Mesh Renderer組件:

? ?用來設置對象的渲染屬性,例如材質球、燈光、光照探針等? ? ?

? ? ?

3.Material材質組件

? ?用來設置對象的材質屬性

? ??


unity中的任何對象都是由不同的組件生成的

二、攝像機

1.Clear Flags

Clear Flags 清除標記

每個相機在渲染時會存儲顏色和深度信息。屏幕的未繪制部分是空的,默認情況下會顯示天空盒。當你使用多個相機時,每一個都將自己的顏色和深度信息存儲在緩沖區中,還將積累大量的每個相機的渲染數據。當場景中的任何特定相機進行渲染時,你可以設定清除標記以清除緩沖區信息的不同集合。可以通過下面四個選項之一來完成Skybox 天空盒

這是默認設置。在屏幕上空的部分將顯示當前相機的天空盒。如果當前相機沒有設置天空盒,它會默認使用渲染設置(在Edit->Render Settings里)中選擇的天空盒。然后它將退回使用背景顏色。

Solid Color 純色

屏幕上的任何空的部分將顯示當前相機的背景顏色。

Depth Only 僅深度

如果你想繪制一個玩家的槍而不讓它在環境內部得到裁剪,你要設置一個深度為0的相機來繪制環境,還要另一個深度為1的相機單獨繪制武器。該武器相機的清除標記應設置為僅深度。這將保持環境的圖形顯示在屏幕上,但會丟棄所有關于每個對象在三維空間中的位置的信息。當槍被繪制出來,不透明的部分將完全覆蓋任何已繪制的事物,而不管槍到墻之間如何接近。

Don’t Clear 不清除

該模式不清除任何顏色或深度緩存。其結果是,每幀繪制在下一幀之上,造成涂片效果。這不是用于游戲的典型方式,最好是與自定義著色器一起使用。

主要學習一下Depth Only:

個人理解為,假設一款FPS射擊游戲,如果為武器單獨添加一個Camera,并且調整Depth值,使其大于原來的Camera的Depth,這樣這把武器便會永遠顯示在場景中,而不會因為距離太近或者太遠導致武器被裁剪掉


上文引用自:

unity攝像機中clear flags屬性介紹 - 技術專欄 - Unity官方開發者社區

2.Culling Mask

Culling Mask?是相機組件的一個重要屬性,它決定了相機渲染場景中的哪些層級(Layer)的物體。

3.Projection

用來決定攝像機的投影方式的屬性

  • Perspective? ? ? ? ?透視投影
  • OrthoGraphic? ? ? 正交投影

?

4.Field of View?

攝像機的焦距設置

?

5.Target Texture

攝像機目標渲染紋理

目標渲染紋理:

通常情況下,攝像機直接渲染到屏幕上,但對于某些效果,將攝像機渲染到紋理中非常有用。這可以通過創建?RenderTexture?對象并將其設置為攝像機上的?targetTexture?來實現。然后,攝像機將渲染到該紋理中。

當 targetTexture 為?null?時,攝像機渲染到屏幕上。

渲染到紋理時,攝像機始終渲染到整個紋理中;

  • 第一步 創建 Render Texture
  • 第二步 將創建好的 Render Texture 拖動到攝像機的目標渲染紋理通道中,這樣攝像機視角下的畫面就會渲染到 Render Texture 中
  • 第三步 可創建一個材質球 將攝像機畫面下的紋理貼圖Render Texture賦予到材質球上

6. Target Display

?目標顯示設備,用于多攝像機的顯示標記


在創建多個攝像機后,程序可能會報錯

可以將后創建的攝像機的監聽組價給關閉,這樣就不會報錯了

7. Depth

攝像機的深度,當有多個攝像機時,深度的大小影響攝像機的渲染次序

深度數值越大的攝像機,越先被渲染

8.創建多個Game視口并顯示不同的攝像機畫面

  • 在Game標簽下右鍵,點擊 Add Tab , 增加 Game 視口
  • 并為不同的Game視口顯示不同的攝像機畫面

9.多攝像機下利用 Depth Only 為Game視口創建小圖標?

注意:只能給深度數值最大的攝像機設置 Depth Only,這樣兩個攝像機的畫面才會都顯示在 Game視口中,而當兩個攝像機深度數值相同,則都可以

然后可調整攝像機的Viewport Rect參數為該攝像機的畫面創建小圖標

10. Ctrl+Shift+F

選中攝像機并調整場景畫面角度后按Ctrl+Shift+F,Game窗口就會顯示此視角的攝像機畫面

三、燈光

1.燈光類型、顏色、強度

2.燈光下陰影的參數設置

  • Cookie? 陰影的剪影

3. 燈光的光暈

4. Render Mode

設置燈光的渲染模式,有自動、重要、不重要三種

5.Culling Mask

6.為平行燈添加光效的組件 Lens Flare

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/70370.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/70370.shtml
英文地址,請注明出處:http://en.pswp.cn/web/70370.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++(17):為optional類型構造對象

C++(17):optional,多了一個合理的選擇_c++17 max-CSDN博客 介紹了optional做為函數返回值的一種方式 其實optional也可以作為對象來使用 #include &

探索關鍵領域的AI工具:機器學習、深度學習、計算機視覺與自然語言處理

引言 在人工智能(AI)迅猛發展的今天,機器學習(ML)、深度學習(DL)、計算機視覺(CV)和自然語言處理(NLP)已經成為解決復雜問題的關鍵技術。無論是自動駕駛車輛的視覺識別,還是智能助手的對話理解,這些技術都在改變著世界。本文將介紹在各個領域…

基于vue和微信小程序的校園自助打印系統(springboot論文源碼調試講解)

第3章 系統設計 3.1系統功能結構設計 本系統的結構分為管理員和用戶、店長。本系統的功能結構圖如下圖3.1所示: 圖3.1系統功能結構圖 3.2數據庫設計 本系統為小程序類的預約平臺,所以對信息的安全和穩定要求非常高。為了解決本問題,采用前端…

Windows 快速搭建C++開發環境,安裝C++、CMake、QT、Visual Studio、Setup Factory

安裝C 簡介 Windows 版的 GCC 有三個選擇: CygwinMinGWmingw-w64 Cygwin、MinGW 和 mingw-w64 都是在 Windows 操作系統上運行的工具集,用于在 Windows 環境下進行開發和編譯。 Cygwin 是一個在 Windows 上運行的開源項目,旨在提供類Uni…

MKS SERVO42E57E 閉環步進電機_系列10 STM32_脈沖和串口例程

文章目錄 第1部分 產品介紹第2部分 相關資料下載2.1 MKS E系列閉環步進驅動資料2.2 源代碼下載2.3 上位機下載 第3部分 脈沖控制電機運行示例第4部分 讀取參數示例4.1 讀取電機實時位置4.2 讀取電機實時轉速4.3 讀取電機輸入脈沖數4.4 讀取電機位置誤差4.5 讀取電機IO端口狀態 …

【宏基因組】MaAsLin2

教學手冊:學習手冊 MaAsLin2 # BiocManager::install("Maaslin2",force TRUE)library(Maaslin2) # 用的是相對豐度,行名為-ID行樣本,列為細菌 input_data system.file("extdata", "HMP2_taxonomy.tsv", package"…

【消息隊列】認識項目

1. 項目介紹 該項目是去實現一個簡單的消息隊列,包含服務器,客戶端的實現,客戶端通過遠程方法調用與服務器進行交互。采用自定義應用層協議,下層使用 TCP 協議進行數據在網絡中傳輸,核心功能提供了虛擬主機&#xff0…

vue從入門到精通(十一):條件渲染

條件渲染 1.v-if 寫法: (1).v-if“表達式” (2).v-else-if“表達式” (3).v-else“表達式” 適用于:切換頻率較低的場景。 特點:不展示的DOM元素直接被移除。 注意:v-if可以和:v-else-if、v-else一起使用,但要求結構不能被“打斷” 2.v-show 寫法:v-show“…

Python爬蟲基礎文件操作

文件操作 引言 爬蟲爬取的一切內容都是在內存進行的,這樣會有什么問題嗎?如果一旦短電或著發生意外電腦關機了那么你的工作成果將瞬間消失。所以,我們還缺少數據在本地文件系統進行持久化的能力,簡單的來說就是文件讀寫操作。文…

OpenCV中的邊緣檢測

邊緣檢測是圖像處理和計算機視覺中的關鍵技術之一,旨在識別圖像中像素強度發生顯著變化的區域,這些區域通常對應于物體的邊界或輪廓。邊緣檢測在機器視覺中具有重要的需求背景,主要體現在以下幾個方面: 圖像分割:邊緣…

【簡歷優化】性能調優 — 編程性能調優篇

😊你好,我是小航,一個正在變禿、變強的文藝傾年。 🔔本文講解【簡歷優化】性能調優 — 編程性能調優篇,期待與你一同探索、學習、進步,一起卷起來叭! 目錄 一、編程性能調優字符串String 發展優…

深入理解 MySQL 8 C++ 源碼:SELECT MOD(MONTH(NOW()), 2) 的函數執行過程

MySQL 作為最流行的關系型數據庫之一,其內部實現機制一直是開發者探索的熱點。本文將以一條簡單的 SQL 查詢 SELECT MOD(MONTH(NOW()), 2) 為例,深入分析 MySQL 8 源碼中內置函數 MOD、MONTH 和 NOW 的執行過程,揭示其底層實現邏輯。 一、SQL…

RNN中遠距離時間步梯度消失問題及解決辦法

RNN中遠距離時間步梯度消失問題及解決辦法 RNN 遠距離時間步梯度消失問題LSTM如何解決遠距離時間步梯度消失問題 RNN 遠距離時間步梯度消失問題 經典的RNN結構如下圖所示: 假設我們的時間序列只有三段, S 0 S_{0} S0? 為給定值,神經元沒有…

Tomcat理論(Ⅰ)

目錄 服務器流程圖一覽 一、JavaWeb前奏(了解) 1. C/S結構 2. B/S結構 3. 靜態網頁&動態網頁 4.常見的網頁 5.Web服務器 知名服務器: ?編輯 二、Tomcat安裝(熟練) 1.Tomcat概述 2.Tomcat的作用 3.Tomcat安裝 4.Tomcat測試 3.…

如何使用 DeepSeek R1 構建開源 ChatGPT Operator 替代方案

開源大型語言模型(LLMs)的興起使得創建 AI 驅動的工具比以往任何時候都更容易,這些工具可以與 OpenAI 的 ChatGPT Operator 等專有解決方案相媲美。在這些開源模型中,DeepSeek R1 以其強大的推理能力、自由的可訪問性和適應性而脫…

使用Docker Desktop部署GitLab

1. 環境準備 確保Windows 10/11系統支持虛擬化技術(需在BIOS中開啟Intel VT-x/AMD-V)內存建議≥8GB,存儲空間≥100GB 2. 安裝Docker Desktop 訪問Docker官網下載安裝包安裝時勾選"Use WSL 2 instead of Hyper-V"(推薦…

【復習】Java集合

集合概念 集合與數組 數組是固定長度;集合是動態長度的數據結構,需要動態增加或刪除元素 數組可以包含基本數據類型和對象;集合只能包含對象 數組可以直接訪問元素;集合需要通過迭代器訪問元素 線程安全的集合? …

vue3 文件類型傳Form Data數據格式給后端

在 Vue 3 中,如果你想將文件(例如上傳的 Excel 文件)以 FormData 格式發送到后端,可以通過以下步驟實現。這種方式通常用于處理文件上傳,因為它可以將文件和其他數據一起發送到服務器。 首先,創建一個 Vue…

使用 INFINI Console 配置集群監控 Webhook 通知指南

在集群管理中,監控關鍵指標如CPU、內存、磁盤、JVM等是至關重要的。對于Easysearch及ES生態系統,還需要關注集群本身的指標,例如搜索延遲、集群狀態、節點移除等。INFINI Console不僅提供了默認的監控指標,還支持用戶自定義監控項…

WPF的頁面設計和實用功能實現

目錄 一、TextBlock和TextBox 1. 在TextBlock中實時顯示當前時間 二、ListView 1.ListView顯示數據 三、ComboBox 1. ComboBox和CheckBox組合實現下拉框多選 四、Button 1. 設計Button按鈕的邊框為圓角,并對指針懸停時的顏色進行設置 一、TextBlock和TextBox…