Unity 性能優化之LOD技術(十)

提示:僅供參考,有誤之處,麻煩大佬指出,不勝感激!

文章目錄

  • LOD技術效果
  • 一、LOD技術是什么?
  • 二、LODGroup組件介紹
  • 三、LODGroup組件使用步驟
    • 添加組件
    • 添加模型
  • 四、Project Settings中與LOD組件相關參數
  • 總結


LOD技術效果

使用遠、中、近三種情況來實現效果,當距離很遠的時候模型就會隱藏不可見(視頻沒有錄制到這種情況,不影響),如下視頻:

LOD技術效果

一、LOD技術是什么?

LOD是Level of Detail的簡稱,意思是細節層次,它是一種優化技術。
LOD的原理,就是我們可以為一個游戲對象設定多個模型,這些模型消耗的游戲性能由高到低排列。會根據攝像機距離模型的遠近自動顯示對應的模型。
近的時候顯示最精細的模型,距離中等的時候顯示沒那么精細的模型,遠的時候顯示粗糙的模型,最遠的時候可以隱藏該模型。
使用LOD技術能起到優化渲染性能的效果。但是使用LOD技術也會增加內存占用

二、LODGroup組件介紹

有三種模式可以選擇,None 、Cross Fade 和 Speed Tree
在這里插入圖片描述
None 就是一個默認模式,不作處理。
Cross Fade為交叉淡入淡出,在這個選下還有一個可變屬性叫Fade Transition Width(淡入淡出過渡寬度)Fade Transition Width 是一個從0~1之間的值,代表淡入淡出的過渡區域占當前LOD級別的比例。如果值較小的話,可以延遲兩個LOD級別混合的開始并且過渡更快,因為Unity通常使用的是屏幕空間抖動或透明度來實現交叉漸變。
在這里插入圖片描述
peed Tree 只需要物體提供0~1的狀態,然后兩個LOD級別的混合是從0開始到1結束的,也就是開始時是與前一級別的LOD一致,轉換結束時就與后一個LOD級別完全匹配了。

三、LODGroup組件使用步驟

添加組件

把LODGroup組件添加在一個空物體身上。這個空物體身上不添加MeshRenderer組件,也不添加MeshFilter組件,但可以添加碰撞器。如果要添加剛體、腳本等,也可以添加到這個空物體身上的。
右擊它們中的一個,點擊Insert Before可以添加一個新的LOD級別到渲染條上。
右擊它們中的一個,點擊Delete,則可以刪除該LOD級別。
鼠標懸停在兩個LOD級別之間,按住鼠標左鍵,左右拖動,可以調整LOD級別的范圍。

添加模型

LOD級別LOD 0、LOD 1、LOD 2分別表示攝像機從近處看、從中等距離處看、從遠處看時,所使用的模型的信息。Culled表示不渲染該模型。
點開下方的LOD 0、LOD 1、LOD 2,點擊+號可以添加在這種情況下要顯示的模型
在該空物體的LODGroup組件中,點擊選中要設置的LOD級別,在Renderers下方點擊Add可以選擇要顯示的游戲對象,點擊-號可以移除該游戲對象。
在這里插入圖片描述

四、Project Settings中與LOD組件相關參數

Edit——Project Settings——Quality,中有控制整個項目LOD的參數。
LOD Bias的值小,則攝像機離物體的距離稍微有些變化,則不同的LOD級別就會切換。如果LOD Bias的值大,則攝像機需要與物體有比較大的距離變化,不同的LOD級別才會切換。

Maximum LOD Level表示所有LOD Group組件最大能使用LOD級別,超過這個限制的LOD級別的模型不會顯示。注意,LOD級別0大于LOD級別1,LOD級別1大于LOD級別2,依次類推。例如把這個值設置為1,則即使攝像機到物體的距離達到了LOD級別為0的范圍,則也不會切換到LOD級別為0的模型來顯示。例如把這個值設置為2,則即使攝像機到物體的距離達到了LOD級別為0或者LOD級別為1的范圍,則也不會切換到這些模型來顯示。
在這里插入圖片描述

總結

好記性不如爛筆頭!
上一章:鏈接: 性能優化之UI和模型優化(九)
下一章:

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

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

相關文章

【DevOps】Linux 內核網絡子系統全面指南與性能調優

目錄 一、Linux 內核網絡子系統 1. Netfilter 主要特性 工作流程 2. Traffic Control (TC) 主要特性 工作流程 3. Socket 主要特性 工作流程 二、內核參數優化 1. net.ipv4.tcp_window_scaling 2. net.core.netdev_max_backlog 3. net.ipv4.tcp_rmem 和 net.ipv4…

第33次CSP認證Q1:詞頻統計

🍄題目描述 在學習了文本處理后,小 P 對英語書中的 𝑛n 篇文章進行了初步整理。 具體來說,小 P 將所有的英文單詞都轉化為了整數編號。假設這 𝑛n 篇文章中共出現了 𝑚m 個不同的單詞,則把它們…

網絡編程套接字 (二)---udosocket

本專欄內容為:Linux學習專欄,分為系統和網絡兩部分。 通過本專欄的深入學習,你可以了解并掌握Linux。 💓博主csdn個人主頁:小小unicorn ?專欄分類:網絡 🚚代碼倉庫:小小unicorn的代…

C++學習第二十九課:C++ 輸入輸出流詳解:從基礎到高級應用

在 C 中,流(stream)是一種用于實現輸入輸出操作的抽象概念。流可以看作是字節的流動,這些字節可以從一個地方流向另一個地方,例如從鍵盤輸入到程序中,或者從程序輸出到屏幕。C 提供了一套完整的流庫來處理各…

Qt中正則表達式的用法

一.基本功能介紹: 在Qt中,可以使用QRegularExpression類來處理正則表達式。以下是一些常用的正則表達式用法: 1.創建正則表達式對象: QRegularExpression regex("pattern"); 2.匹配字符串: QString str …

LeetCode 2960.統計已測試設備:看測試了多少次

【LetMeFly】2960.統計已測試設備:看測試了多少次 力扣題目鏈接:https://leetcode.cn/problems/count-tested-devices-after-test-operations/ 給你一個長度為 n 、下標從 0 開始的整數數組 batteryPercentages ,表示 n 個設備的電池百分比…

【QEMU系統分析之實例篇(十七)】

系列文章目錄 第十七章 QEMU系統仿真的機器創建分析實例 文章目錄 系列文章目錄第十七章 QEMU系統仿真的機器創建分析實例 前言一、QEMU是什么?二、QEMU系統仿真的機器創建分析實例1.系統仿真的命令行參數2.配置加速器configure_accelerators()do_configure_icount…

藍橋杯13屆JAVA A組 國賽

??????? package 藍橋杯國賽; // 貪心選個數最少的進行擺 // 2:1 ,3:1, 4:1,5 : 3,6:3,7:1 // 選 1,7,4,2,3,5,9 // 然后都選滿10個 public class 火彩棒數字 {public static void main(String[] a…

【CTFHub】HTTP 請求方式 302跳轉 cookie WP

1.請求方式 打開給出的URL進入一個頁面,提示原方法是GET,用CTFHUB方法就能獲得flag 思路:抓包,將GET方法改成CTFHUB方法進行重新發送請求,查看響應情況 1.打開代理服務器 2.打開BurpSuite 刷新頁面獲得攔截 3.發送…

【Excel VBA】深入理解 VBA 中的 CallByName 函數

動態調用方法與屬性:深入理解 VBA 中的 CallByName 函數 昨天在介紹Choose函數在復雜的VBA應用程序開發中,有時我們需要根據運行時的情況來決定調用哪個對象的哪個方法或屬性。這種靈活性可以通過 CallByName 函數實現。在本篇博客中,田辛老…

網絡Http和Socket通訊(基于面試)

每日一句:想得到世上最好的東西,先得讓世界看到最好的你 目錄 面試問OSI或TCP/IP,怎么回答? 面試問HTTP? 面試問Get類型,Pot類型區別? 面試什么是Socket套接字? 面試問什么是數據粘包&…

qt for android 的架構原理

qt for android實現架構,分享這幾幅很不錯圖。來自于 《Qt 林斌:整合Android IVI平臺打造統一的Qt數字座艙體驗》 1.實現架構圖 2.qt for android能力 3.java 和 qt混合開發 4. AutoMotive

46寸硅片為什么要留平邊(flat)?

知 識星球(星球名: 芯片制造與封測社區,星球號: 63559049)里的學員問: 2, 4, 6寸硅片都有 平 邊,它們有什么作用 ? 硅片的平邊(Flat&…

經典權限五張表案例分析

文章目錄 模塊分析模塊分析 描述五張表的關系重要知識講解抽取成一個BaseServletSpringIOC思想(底層)實現代碼IOC概述 SPI機制(為學習框架做思想和技術鋪墊)SPI引入1. 標準/規范2. 具體的實現3. 調用 SPI介紹SPI練習JDBC4.0免注冊驅動原理Servlet實現方式三 ServletContainerIn…

idea使用前的全局配置,一次配置,多次使用

前提:每次導入一個新的項目,就需要重新設置編碼、maven、jdk、git版本等信息。實際每個項目所用到的配置信息是一致的,除非換一家公司,不然不會改動到這些內容。 idea版本:2024.1.1 1.1、全局Maven配置 IDEA啟動頁面…

微火一文盤點:為何全域運營系統會成為創業新風口?

當前,微火全域運營已經成為創業的新風口,想要做微火全域運營服務商的創業者數量日益增多。據目前了解到的最新消息,微火全域運營系統的市場占有率已經超過了48%,并且還在持續不斷地上漲中。 所謂微火全域運營系統,就是…

InLine Chat功能優化對標Github Copilot,CodeGeeX帶來更高效、更直觀的編程體驗!

VSCode中的CodeGeeX 插件上線InLine Chat功能后,收到不少用戶的反饋,大家對行內交互編程這一功能非常感興趣。近期我們針對這個功能再次進行了深度優化,今天詳細介紹已經在VSCode插件v2.8.0版本上線的 CodeGeeX InLine Chat功能,以…

藍橋杯成績已出

藍橋杯的成績早就已經出來了,雖然沒有十分驚艷 ,但是對于最終的結果我是心滿意足的,感謝各位的陪伴,關于藍橋杯的刷題筆記我已經堅持更新了49篇,但是現在即將會告別一段落,人生即將進入下一個規劃。我們一起…

Spring框架學習筆記(一):Spring基本介紹(包含IOC容器底層結構)

1 官方資料 1.1 官網 https://spring.io/ 1.2 進入 Spring5 下拉 projects, 進入 Spring Framework 進入 Spring5 的 github 1.3 在maven項目中導入依賴 <dependencies><!--加入spring開發的基本包--><dependency><groupId>org.springframework<…

jni 返回二維byte數組

在JNI中返回二維byte數組&#xff0c;你需要在Java中準備一個相應的二維數組來接收這個返回值。在JNI層面&#xff0c;你可以創建一個二維的byte數組&#xff0c;并使用GetByteArrayRegion和SetByteArrayRegion來操作它。 以下是一個簡單的例子&#xff1a; public class Jni…