Unity中的靜態合批使用整理

靜態批處理是一種繪制調用批處理方法,它組合不移動的網格以減少繪制調用。它將組合的網格轉換為世界空間,并為它們構建一個共享頂點和索引緩沖區。然后,對于可見網格,Unity 會執行一系列簡單的繪制調用,每個調用之間幾乎沒有狀態變化。靜態批處理不會減少繪制調用的數量,而是減少它們之間的渲染狀態更改的數量。靜態批處理比動態批處理更高效,因為靜態批處理不會轉換 CPU 上的頂點。

兼容性:

功能內置渲染管線通用渲染管線 (URP)高清渲染管線 (HDRP)自定義可編程渲染管線 (SRP)
靜態批處理

開啟批處理:

1.構建時:

在Edit > Project Settings > Player > Other Settings (其他設置) 中,勾選 Static Batching 。

將需要合批的物體在物體的?Inspector 面板中勾選Static,并選擇Batching Static

注意:如果在構建時執行靜態批處理,則 Unity 在運行時不會使用任何 CPU 資源來生成靜態批處理的網格數據

2.運行時:

運行時使用StaticBatchingUtility 類批處理靜態網格,靜態 StaticBatchingUtility.Combine 方法將傳入的游戲對象組合在一起,并為靜態批處理做好準備。對于運行時以程序方式生成的網格有用
與構建時的靜態批處理不同,運行時的批處理不需要啟用 Static Batching Player Setting

合批條件:

合批時機:

1.構建時:

2.運行時:

性能影響:

使用靜態批處理需要額外的 CPU 內存來存儲組合的幾何體。如果多個游戲對象使用相同的網格,則 Unity 會為每個游戲對象創建一個網格副本,并將每個副本插入到組合網格中。這意味著相同的幾何體在組合網格中多次出現。無論您使用的是編輯器還是運行時API來準備用于靜態批處理的游戲對象,Unity 都會執行此作。如果要保持較小的內存占用,可能必須犧牲渲染性能并避免對某些游戲對象進行靜態批處理。例如,在茂密的森林環境中將樹木標記為靜態可能會對內存產生嚴重影響。


1.靜態批處理可以包含的頂點數存在限制。每個靜態批處理
最多可以包含 64000 個頂點。如果有更多,Unity 會創建另一個批次
2.一旦游戲對象被標記為靜態并進行了靜態批處理,在運行時就
不能再改變其位置、旋轉、縮放等屬性,否則會導致渲染錯誤。
3.靜態批處理
會影響光照計算,因為合批后的對象會被視為一個整體。在使用靜態批處理時,需要注意光照烘焙的設置,以確保光照效果符合預期。
4.靜態批處理可以顯著減少 Draw Call 數量,提高渲染性能,特別是在場景中包含大量靜態對象的情況下。但對于經常移動或變化的對象,不適合使用靜態批處理。

未完待續。。。

參考鏈接:

靜態批處理 - Unity 手冊

Unity - Manual: Static batching (unity3d.com)

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

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

相關文章

【機器學習中的基本術語:特征、樣本、訓練集、測試集、監督/無監督學習】

機器學習基本術語詳解 1. 特征(Feature) 定義:數據的屬性或變量,用于描述樣本的某個方面。作用:模型通過學習特征與目標之間的關系進行預測。示例: 預測房價時,特征可以是 面積、地段、房齡。…

C++學習之路:指針基礎

目錄 指針介紹與基本用法雙重指針函數指針空指針與野指針函數參數的指針傳遞最后 指針一般在C/C語言學習的后期接觸,這樣就導致指針給新手一種高深莫測、難以掌握的刻板印象。但實際上指針的使用很簡單,并且還能夠極大的提高程序的靈活性,幫助…

【服務日志鏈路追蹤】

MDCInheritableThreadLocal和spring cloud sleuth 在微服務架構中,日志鏈路追蹤(Logback Distributed Tracing) 是一個關鍵需求,主要用于跟蹤請求在不同服務間的調用鏈路,便于排查問題。常見的實現方案有兩種&#x…

Kafka+Zookeeper從docker部署到spring boot使用完整教程

文章目錄 一、Kafka1.Kafka核心介紹:?核心架構?核心特性?典型應用 2.Kafka對 ZooKeeper 的依賴:3.去 ZooKeeper 的演進之路:注:(本文采用ZooKeeper3.8 Kafka2.8.1) 二、Zookeeper1.核心架構與特性2.典型…

JUC系列JMM學習之隨筆

JUC: JUC 是 Java 并發編程的核心工具包,全稱為 Java Util Concurrent,是 java.util.concurrent 包及其子包的簡稱。它提供了一套強大且高效的并發編程工具,用于簡化多線程開發并提高性能。 CPU核心數和線程數的關系:1核處理1線程(同一時間單次) CPU內核結構: 工作內…

The Rust Programming Language 學習 (九)

泛型 每一個編程語言都有高效處理重復概念的工具。在 Rust 中其工具之一就是 泛型(generics)。泛型是具體類型或其他屬性的抽象替代。我們可以表達泛型的屬性,比如他們的行為或如何與其他泛型相關聯,而不需要在編寫和編譯代碼時知…

藍橋杯 混乘數字

問題描述 混乘數字的定義如下: 對于一個正整數 n,如果存在正整數 a 和 b,使得: n a b且 a 與 b 的十進制數位中每個數字出現的次數之和,與 n 中對應數字出現的次數相同,則稱 n 為混乘數字。 示例 對于…

CExercise04_1位運算符_2 定義一個函數判斷給定的正整數是否為2的冪

題目&#xff1a; 給定一個正整數&#xff0c;請定義一個函數判斷它是否為2的冪(1, 2, 4, 8, 16, …) 分析&#xff1a; &#xff1a; 代碼 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdbool.h>/* 給定一個正整數&#xff0c;請定義一個函數…

SSL證書不可信的原因有哪些?(國科云)

SSL證書用于在客戶端和服務器端之間建立一條加密通道&#xff0c;確保數據在傳輸過程中的安全性和完整性。然而&#xff0c;在實際應用中&#xff0c;我們有時會遇到SSL證書不可信的情況&#xff0c;嚴重影響了用戶對網站的信任度。那么&#xff0c;SSL證書不可信的原因究竟有哪…

[王陽明代數講義]琴語言類型系統工程特性

琴語言類型系統工程特性 層展物理學組織實務與藝術與琴生生.物機.械科.技工.業研究.所軟凝聚態物理開發工具包社會科學氣質砥礪學人生意氣場社群成員魅力場與心氣微積分社會關系力學 意氣實體過程圖論信息編碼&#xff0c;如來碼導引 注意力機制道裝Transformer架構的發展標度律…

自抗擾ADRC之二階線性擴展狀態觀測器(LESO)推導

1.龍伯格觀測器 實際工程應用中&#xff0c;狀態變量有時難以使用傳感器直接測量&#xff0c;在這種情況下&#xff0c;使用狀態觀測器估計系統實際狀態是非常常見的做法。最出名的狀態觀測器當屬龍伯格博士在1971年發表于TAC的An Introduction to Observer[1]一文中提出的基于…

從頭開發一個Flutter插件(二)高德地圖定位插件

開發基于高德定位SDK的Flutter插件 在上一篇文章里具體介紹了Flutter插件的具體開發流程&#xff0c;從創建項目到發布。接下來將為Flutter天氣項目開發一個基于高德定位SDK的Flutter定位插件。 申請key 首先進入高德地圖定位SDK文檔內下載定位SDK&#xff0c;并按要求申請A…

分布式鎖之redis6

一、分布式鎖介紹 之前我們都是使用本地鎖&#xff08;synchronize、lock等&#xff09;來避免共享資源并發操作導致數據問題&#xff0c;這種是鎖在當前進程內。 那么在集群部署下&#xff0c;對于多個節點&#xff0c;我們要使用分布式鎖來避免共享資源并發操作導致數據問題…

ubuntu中使用安卓模擬器

本文這里介紹 使用 android studio Emulator &#xff0c; 當然也有 Anbox (Lightweight)&#xff0c; Waydroid (Best for Full Android Experience), 首先確保自己安裝了 android studio &#xff1b; sudo apt update sudo apt install openjdk-11-jdk sudo snap install…

二語習得理論(Second Language Acquisition, SLA)如何學習英語

二語習得理論&#xff08;Second Language Acquisition, SLA&#xff09;是研究學習者如何在成人或青少年階段學習第二語言&#xff08;L2&#xff09;的理論框架。該理論主要關注語言習得過程中的認知、社會和文化因素&#xff0c;解釋了學習者如何從初學者逐漸變得流利并能夠…

WinDbg. From A to Z! 筆記(下)

原文鏈接: WinDbg. From A to Z! 文章目錄 使用WinDbg臨界區相關命令示例 -- 查看臨界區其他有用的命令 WinDbg中的偽寄存器自動偽寄存器 WinDbg中的表達式其他操作默認的表達式計算方式 WinDbg中的重命名調試器命令語言編程控制流命令程序執行 WinDbg 遠程調試事件監控WinDbg …

RainbowDash 的旅行

D RainbowDash 的旅行 - 第七屆校賽正式賽 —— 補題 題目大意&#xff1a; 湖中心有一座島&#xff0c;湖的外圍有 m m m 間木屋&#xff08;圍繞小島&#xff09; &#xff0c;第 i i i 間木屋和小島之間有 a i a_i ai? 座 A A A 類橋&#xff0c; b i b_i bi? 座 B …

MySQL-SQL-DDL語句、表結構創建語句

一.SQL SQL&#xff1a;一門操作關系型數據庫的編程語言&#xff0c;定義操作所有關系型數據庫的統一標準 二. DDL-數據庫 1. 查詢所有數據庫 命令&#xff1a;show databases; 2. 查詢當前數據庫 命令&#xff1a;select database(); 3. 創建數據庫 命令&#xff1a;create da…

Sora結構猜測

方案&#xff1a;VAE Encoder&#xff08;視頻壓縮&#xff09; -> Transform Diffusion &#xff08;從視頻數據中學習分布&#xff0c;并根據條件生成新視頻&#xff09; -> VAE Decoder &#xff08;視頻解壓縮&#xff09; 從博客出發&#xff0c;經過學術Survey&am…

TortoiseSVN設置忽略清單

1.TortoiseSVN > Properties&#xff08;如果安裝了 TortoiseSVN&#xff09;。 2. 在彈出的屬性窗口中&#xff0c;點擊 New > Other。 4. 在 Property name 中輸入 svn:ignore 。 5. 在 Property value 中輸入要忽略的文件夾或文件名稱&#xff0c;例如&#xff1a; #…