国产免费无码又爽又刺激高潮_国产亚洲欧美在线人成aaaa_亚洲av永久无码精品尤物_专区久久五月天_国内精品久久人妻无码妲己影院

專題欄目:ARVRMR虛擬現(xiàn)實

《Unity游戲優(yōu)化(第2版)》

書籍簡介:

使用Unity Profiler查找程序中任何地方的瓶頸,并發(fā)現(xiàn)解決它們的方法。

實現(xiàn)C#腳本編寫的更佳實踐,避免常見誤區(qū)。

深入理解渲染管線,通過減少繪制調用和避免填充率瓶頸來更大化渲染管線的性能。

以大多數(shù)開發(fā)者都能理解的方式增強著色器,通過微妙而有效的性能調整優(yōu)化它們。

充分利用物理引擎使場景盡可能保持動態(tài)。

組織、過濾并壓縮藝術資源,保持高品質的同時更大化性能。

發(fā)現(xiàn)VR項目中各種嚴重的性能問題,找到解決它們的方法。

使用Mono框架和C#實現(xiàn)底層強化以更大化內存使用,避免垃圾回收。

了解項目組織的更佳實踐,通過改進工作流來節(jié)省時間。

作者簡介:

蔡俊鴻,擁有多年游戲開發(fā)經驗,全程主導多個千萬級IP游戲的客戶端和服務器開發(fā)。擅長服務器和客戶端的架構設計以及性能優(yōu)化、客戶端渲染等。目前就職于昆侖萬維GameArk,擔任技術總監(jiān)一職。

Chris Dickinson,在英格蘭一個安靜的小角落里長大,對數(shù)學、科學,尤其是電子游戲滿懷熱情。他喜歡玩游戲并剖析游戲的玩法,并試圖確定它們是如何工作的。Chris在獲得電子物理學的碩士學位后,他飛到美國加州,在硅谷中心的科學研究領域工作。不久后,他不得不承認,研究工作并不適合他的性格。在四處投簡歷之后,他找到了一份工作,最終讓他走上了軟件工程的正確道路(據(jù)說,這對于物理學畢業(yè)生來說并不罕見)。

Chris是IPBX電話系統(tǒng)的自動化工具開發(fā)人員,這段時間的工作更適合他的性格。現(xiàn)在,他正在研究復雜的設備鏈,幫助開發(fā)人員修復和改進這些設備,并開發(fā)自己的工具。Chris學習了很多關于如何使用大型、復雜、實時、基于事件、用戶輸入驅動的狀態(tài)機的知識。在這方面,Chris基本上是自學成才的,他對電子游戲的熱情再次高漲,促使他真正弄清楚電子游戲是如何創(chuàng)建的。當他有足夠的信心時,他回到學校攻讀游戲和模擬編程的學士學位。當他獲得學位時,他已經在用C++編寫自己的游戲引擎(盡管還很初級),并在日常工作中經常使用這些技能。然而,如果想創(chuàng)建游戲,應該只是創(chuàng)建游戲,而不是編寫游戲引擎。因此,Chris選擇了他喜歡的公開發(fā)行的游戲引擎——一個稱為Unity3D的優(yōu)秀小工具-一并開始制作一些游戲。

經過一段時間的獨立游戲開發(fā),Chris遺憾地決定,這條特定的職業(yè)道路的要求并不適合他,但他在短短幾年積累的知識量,以大多數(shù)人的標準來看,都令人印象深刻,他喜歡利用這些知識幫助其他開發(fā)人員創(chuàng)建作品。從那以后,Chris編寫了一本關于游戲物理的教程(Learning Game Physics with Bullet Physics and OpenGL,Packt Publishing)和兩本關于Unity性能優(yōu)化的書籍。他娶了他一生的摯愛Jamie,并開始在加州圣馬特奧市的Jaunt公司工作,研究酷的現(xiàn)代技術,擔任測試領域的軟件開發(fā)工程師(SDET),這是一家專注于提供VR和AR體驗(例如360視頻)的虛擬現(xiàn)實/增強現(xiàn)實初創(chuàng)公司。

工作之余,Chris一直抵抗對棋盤游戲的沉迷(特別是《太空堡壘:卡拉狄加與血腥狂怒>),他癡迷于暴雪的《守望先鋒》和《星際爭霸2》,專注地盯著Unity新版本,在紙上勾畫出一組關于游戲的構思。

出版時間:

2020-05-01

章節(jié)目錄:

第1章 研究性能問題
1.1 UnityProfiler
1.1.1 啟動Profiler
1.1.2 Profiler窗口
1.2 性能分析的最佳方法
1.2.1 驗證腳本是否出現(xiàn)
1.2.2 驗證腳本次數(shù)
1.2.3 驗證事件的順序
1.2.4 最小化正在進行的代碼更改
1.2.5 最小化內部影響
1.2.6 最小化外部影響
1.2.7 代碼片段的針對性分析
1.3 關于分析的思考
1.3.1 理解Profiler工具
1.3.2 減少干擾
1.3.3 關注問題
1.4 本章小結
第2章 腳本策略
2.1 使用最快的方法獲取組件
2.2 移除空的回調定義
2.3 緩存組件引用
2.4 共享計算輸出
2.5 Update、Coroutines和Invoke Repeating
2.6 更快的Game Object空引用檢查
2.7 避免從Game Object取出字符串屬性
2.8 使用合適的數(shù)據(jù)結構
2.9 避免運行時修改Transform的父節(jié)點
2.10 注意緩存Transform的變化
2.11 避免在運行時使用Find()和Send Message()方法
2.11.1 將引用分配給預先存在的對象
2.11.2 靜態(tài)類
2.11.3 單例組件
2.11.4 全局消息傳遞系統(tǒng)
2.12 禁用未使用的腳本和對象
2.12.1 通過可見性禁用對象
2.12.2 通過距離禁用對象
2.13 使用距離平方而不是距離
2.14 最小化反序列化行為
2.14.1 減小序列化對象
2.14.2 異步加載序列化對象
2.14.3 在內存中保存之前加載的序列化對象
2.14.4 將公共數(shù)據(jù)移入Scriptable Object
2.15 疊加、異步地加載場景
2.16 創(chuàng)建自定義的Update()層
2.17 本章小結
第3章 批處理的優(yōu)勢
3.1 Draw Call
3.2 材質和著色器
3.3 Frame ebugger
3.4 動態(tài)批處理
3.4.1 頂點屬性
3.4.2 網格縮放
3.4.3 動態(tài)批處理總結
3.5 靜態(tài)批處理
3.5.1 Static標記
3.5.2 內存需求
3.5.3 材質引用
3.5.4 靜態(tài)批處理的警告
3.5.5 靜態(tài)批處理總結
3.6 本章小結
……
第4章 著手處理藝術資源
第5章 加速物理
第6章 動態(tài)圖形
第7章 虛擬速度和增強加速度
第8章 掌握內存管理
第9章 提示與技巧

封面圖:

發(fā)表評論

相關文章