新春來臨,相信大家已經搶到了那張名叫“思鄉”的車票,漫漫旅程,一則合適的讀物將為您的行程增添別樣的色彩,陪伴您一路奔向您的那桌團圓飯。祝大家新春快樂!
0-30分鐘 學堂讀物推薦
eg:上海→蘇州(29分) |上海→無錫(28分)
《淺談骨骼動畫技術原理》
全文約6000字,閱讀時長約30分鐘
https://edu.uwa4d.com/course-intro/0/604
本系列課程將從以下三方面展開介紹,為了方便大家的理解,前期會介紹一些基本知識作為鋪墊。
如何插值?
如何讓骨骼動起來?(正向運動學和逆向運動學)
骨骼如何帶動皮膚?(線性混合蒙皮)
《Spine動畫加載優化思路》
全文約4000字,閱讀時長約20分鐘
https://edu.uwa4d.com/course-intro/0/440
Spine動畫是我們在2D游戲開發中比較常用的一個插件,在Spine的動畫加載方面,經常會遇到加載耗時和內存分配過大的問題,這是因為在Spine加載時會將Spine文件的所有動畫一次性加載,但是通常存在浪費的現象(比如角色展示界面、某些關卡中只需要特定的動畫)。
那么如何實現按需加載動畫,從而獲得比較優秀的運行速度和較低的內存占用呢?
本課程對于Spine動畫加載的流程進行了修改,使用了懶加載的方式實現Spine動畫的按需加載,有效地降低Spine動畫的堆內存分配。內容包括思路分析,代碼詳解,優化前后的性能對比。從結果來看,本方案更適合骨骼文件中動畫數量較多,有幾百個甚至上千個的情況。而當單個角色的骨骼文件如果不具有太多數量的動畫(<10個),并且一個場景需要使用單個角色的所有動畫,這種情況的優化效果則會不太明顯,反而多個角色同時切換一個新的“未被加載”的動畫時,會引起一些懶加載產生的卡頓。
因此本文的優化方法需要按照項目需求使用,也可以自行對加載產生的耗時做適當優化(比如字符串申請內存,字符串拼接等產生的耗時)。
PS:本文采用Spine 4.0版本進行的測試,其他的Spine版本可以參考文章代碼進行適配。
《Unity實現水墨山水畫風格》
全文約4800字,閱讀時長約24分鐘
https://edu.uwa4d.com/course-intro/0/494
本文介紹了一些3D渲染技術的組合思路,并用來對中國傳統繪畫中的宋代水墨山水畫風格進行模仿實現。文章思路同樣可以用于油畫、水彩、素描以及漫畫等其他美術風格方向的渲染。
30分鐘-1小時 學堂讀物推薦
eg:上海→常州(35分) |上海→杭州(45分)
《Meshy(AI生成3D)使用指南》
全文約9600字,閱讀時長約48分鐘
https://edu.uwa4d.com/course-intro/0/594
Meshy是一款3D AIGC工具,借助Meshy我們可以在一分鐘內將文字和圖片轉化為高質量的3D模型。文章以指南的形式向讀者介紹了如何更好地使用Meshy,可根據自己的需求選擇性閱讀對應章節。
《深入UGUI Soft Mask(軟遮罩)組件原理》
全文約7000字,閱讀時長約35分鐘
https://edu.uwa4d.com/course-intro/0/563
這篇文章主要探討了圖形處理中遮罩(Mask)的交互和應用,特別是在處理多層遮罩和計算最終對象可見性時的機制。文章通過詳細的計算示例和概念解釋,向讀者展示了遮罩如何在圖形渲染中發揮作用,并解析了遮罩的交互模式以及如何通過Alpha值來影響對象的可見性。
讀者能從中學習到硬遮罩和軟遮罩的實現原理的相同和不同之處;多層軟遮罩的Alpha計算以及軟遮罩交互模式MaskInteractionId的計算。
《主流游戲相機實現》
全文約8000字,閱讀時長約40分鐘
https://edu.uwa4d.com/course-intro/0/434
本文通過Unity 3D引擎和Cinemachine組件來實現主流游戲的相機設置,切換和管理的概念,習慣,基本原理,經驗參數等。實現內容以動作游戲相機為主,但不限于動作游戲,也可以用于橫版格斗、FPS、RPG等類型,需要自行調整和研究。
本課程屬于基礎和進階課程,適合對鏡頭控制感興趣的讀者。
以下為推薦的視頻課程以及對應章節的時長信息:
《分布式網絡和通訊協議數據傳輸》
https://edu.uwa4d.com/course-intro/1/545
分布式網絡和通訊協議數據傳輸48min1|分布式服務服務器使用Protobuf協議傳輸數據 9min 2|自定義協議工具生成客戶端和服務器協議代碼 8min 3|在服務器端使用Protobuf進行消息收發 12min 4|使用Unity搭建客戶端和服務器進行通訊 11min 5|發送消息時使用消息池提升性能 8min
《MMO游戲創建加載游戲角色對應服務器數據存儲和讀取》
https://edu.uwa4d.com/course-intro/1/560
MMO游戲創建加載游戲角色對應服務器數據存儲和讀取52min1|玩家從登錄到創建角色進入游戲的數據流程 7min 2|通過Http訪問器在賬號服務器創建玩家賬號 9min 3|分布式服務器中使用中轉消息進行服務器間通訊 12min 4|客戶端創建新角色或者選擇已有角色進入游戲 15min 5|游戲服務器定時存儲玩家數據到Redis和MongoDB 9min
《服務器AOI(Area Of Interest)算法和功能實現》
https://edu.uwa4d.com/course-intro/1/562
服務器AOI(Area Of Interest)算法和功能實現541|客戶端使用NavMesh進行尋路 13 2|客戶端自定義AOI編輯器創建九宮格數據供服務器使用 10 3|服務器加載AOI區域數據并在對應區域創建服務器角色 11 4|客戶端進入游戲后根據AOI區域顯示對應的角色 10 5|客戶端跨區域移動的時候動態加載和卸載AOI區域角色 10
《搭建尋路服務器實現服務器刷怪和怪巡邏》
https://edu.uwa4d.com/course-intro/1/565
搭建尋路服務器實現服務器刷怪和怪巡邏48min1|使用Unity客戶端制作并發布尋路服務器 8min 2|游戲服務器注冊到尋路服務器請求尋路數據 8min 3|為服務器怪添加狀態機 9min 4|服務器怪通過AI實現服務器巡邏 13min 5|服務器同步消息到客戶端進行怪巡邏 10min
《玩家狀態同步算法實現和消息廣播》
https://edu.uwa4d.com/course-intro/1/602
玩家狀態同步算法實現和消息廣播38min1|分布式服務器PING值的計算 11min 2|客戶端進行點擊移動同步到服務器進行狀態更新 8min 3|服務器進行玩家點擊移動變化并同步狀態變化到其他玩家 5min 4|客戶端進行搖桿移動同步到服務器進行狀態更新 8min 5|服務器進行玩家搖桿移動變化并同步狀態變化到其他玩家 6min
1小時-2小時 學堂讀物推薦
eg:上海→紹興(1小時14分) |上海→揚州(1小時41分)
《基于Unity Compute Shader實現Ray Tracing》
全文約12000字,閱讀時長約60分鐘
https://edu.uwa4d.com/course-intro/0/540
本文主要介紹了如何利用Unity的Compute Shader實現照片級別的渲染器,并給出了渲染器的GitHub項目地址供大家學習。不少對Ray Tracing渲染感興趣的朋友用了CUDA等工具開發,工作量相當大。作者直接使用大家較為熟悉的Unity,降低了工程上的開發成本,著重于Ray Tracing本身的算法和功能實現。本文將介紹Ray Tracing算法的必備知識點,以原理作為前提,再介紹如何一步一步實現渲染器的各個功能,包括場景構建,BVH,光源采樣,物理材質,圖像輸出等,并介紹了今年流行的Wavefront內核的實現。
《從零開始打造基于GraphView的行為樹框架》
全文約21000字,閱讀時長約1小時45分鐘
https://edu.uwa4d.com/course-intro/0/539
本文主要介紹了行為樹的一些特點,以及如何在Unity中從零開始實現基于事件驅動的行為樹Runtime框架(包括黑板參數、可擴展的自定義序列化數據格式等),與如何基于GraphView開發配套的行為樹可視化編輯器與調試器(包括注釋塊、復制粘貼、Undo/Redo等)。
本課程屬于進階課程,適合已經有一定業務開發經驗,并具有行為樹與Unity編輯器的UI Elements開發基礎知識的讀者。(使用的Unity版本:Unity2021.3lts)
《Unity開發實戰經驗分享》
全文約15500字,閱讀時長約1小時17分鐘
https://edu.uwa4d.com/course-intro/0/496
本課程主要記錄了筆者項目初期碰到的并值得一說的實際業務問題,涵蓋了比較多客戶端框架設計的內容,以及有效提升開發者編程體驗的內容。
主要包括以下內容以及一些其他配套的小工具。
Luban配表工具的使用介紹
ECS設計下的加載管理
設計項目資源規范化
設計本地化組件
C# Task使用指南
設計技能系統
Unity Android多渠道管理
以下為推薦的視頻課程以及對應章節的時長信息:
第一章《EntityGrapics與DOTS基本套路》
https://edu.uwa4d.com/course-intro/1/551
第一章《EntityGrapics與DOTS基本套路》96min1|第一個渲染元素 9min 2|深度排序的問題 11min 3|更像精靈的精靈 5min 4|TextureArray與精靈幀 5min 5|BlobAsset與動畫驅動 11min 6|用Mono控制精靈 7min 7|封裝EGPrefab 20min 8|DOTS與主線程數據交火 10min 9|Transform與DOTS高效交互 18min
《分布式MMORPG服務器框架搭建以及MongoDB和Redis使用》
https://edu.uwa4d.com/course-intro/1/288
分布式MMORPG服務器框架搭建以及MongoDB和Redis使用79min1|分布式游戲服務器框架介紹和技術選型 8min 2|框架線程模型概述和創建服務器解決方案 12min 3|ServerConfig配置文件配置和加載 13min 4|MongoDB和Redis可以做什么 12min 5|角色實體RoleEntity的寫入和讀取 10min 6|MongoDB中唯一ID管理和使用 8min 7|Redis中的五種容器(字符串、哈希、列表、集合、有序集合)介紹 4min 8|在.NetCore中使用CSRedis操作共享內存數據 12min
《支持HotFix的分布式服務器框架搭建》
https://edu.uwa4d.com/course-intro/1/290
支持HotFix的分布式服務器框架搭建64min1|HotFix程序集自動拷貝和不停服熱更新 16min 2|服務器框架圖和服務器客戶端關聯關系解析 12min 3|中心服務器監聽游戲服務器的連接請求 10min 4|游戲服務器通過連接器連接到中心服務器 14min 5|網關服務器分別連接到中心和游戲服務器 12min
《FlatBuffer表格工具和服務器表格加載》
https://edu.uwa4d.com/course-intro/1/543
FlatBuffer表格工具和服務器表格加載61min1|為什么選用Flatbuf技術 19min 2|在服務器上使用數據表格管理器加載數據 11min 3|表格工具之配置文件的設置和加載 12min 4|使用表格工具生成服務器代碼 13min 5|表格工具發布到Win和Mac平臺 6min
2小時以上 學堂讀物推薦
eg:上海→福州(3小時41分) |上海→武漢(4小時58分)
《Unity移動端游戲性能優化簡譜》
全文約52800字,閱讀時長約4小時20分鐘
https://edu.uwa4d.com/course-intro/0/430
本文從Unity移動端游戲優化的一些基礎討論出發,例舉和分析了近幾年基于Unity開發的移動端游戲項目中最為常見的部分性能問題,并展示了如何使用UWA的性能檢測工具確定和解決這些問題。
(1)性能優化的基本邏輯
前言中簡單論述了“確定問題-解決問題-持續監控問題”這一既是層層遞進、同時也密不可分的邏輯;踐行游戲研發“工業化”的UWA嘗試在其中的每一個步驟都提供優良的解決方案。
(2)UWA性能檢測工具
圖文兼備地展示了UWA性能檢測工具在確定和解決性能問題過程中的易用性、可靠性。
(3)常見性能問題
如圖,文章從內存、CPU、GPU三個維度討論了當前游戲項目中經常出現的一些性能問題作為參考。
《五天實現PBR保姆級教程》
全文約28000字,閱讀時長約2小時20分鐘
https://edu.uwa4d.com/course-intro/0/437
該課程主要對PBR(Physically Based Rendering,基于物理的渲染)技術進行了深入淺出地講解與實現。
PBR的知識體系極為龐大,導致好多同學興致勃勃地進來,但看到如此繁多的概念和數學公式后,淺嘗輒止一番就灰頭土臉地走掉,很是可惜。正所謂“師傅領進門,修行靠個人”,本課程的目的就在于讓這些同學“開開心心地來,高高興興地回”。基于此,本課程會在實現的過程中盡量用比較淺顯的語言循序漸進地介紹一些“高大上”的概念——比如球諧、傅立葉等;而在涉及到數學公式的理解與推導上,盡量使用初高中的數學知識而不涉及到“高端”的概念(比如雅克比),對于公式的推導保證每一步都有據可依,不至于跨步太大讓大家不明所以。
最后,在實踐部分,還有一段比較長的路要走,這里把“路”拆開,我們一段一段地走:
第一天:閱讀掌握PBR相關基礎知識
第二天:搭建一個簡易的SRP框架
第三天:實現PBR的直接光部分
第四天:實現PBR間接光的漫反射部分
第五天:實現PBR間接光的鏡面反射部分
《游戲中的體積流體技術》
全文約30000字,閱讀時長約2小時30分鐘
https://edu.uwa4d.com/course-intro/0/499
筆者決定維護一個專欄用于系統性的分析當前與潛在的“體積流體”方案,它們中的一些驚艷于SIGGRAPH與GDC,并在游戲開發史上留下了濃墨重彩的一筆,另外一些雖然小眾,但切入點與思考方向非常有價值。如果讀者之前有接觸過這些工作,就會意識到這是一個涉及數據的生成,存儲與轉換,算法的設計與優化,視覺表達與內容管理,以及引擎和工具鏈開發的龐大內容,當我們站在產品項目管理周期的視角去考慮,會發現大家最經常討論的3D噪聲紋理與Ray marching其實只是整個系統的一小部分。除了傳統的手段,伴隨著機器學習MLP對數據、信號的解構與重建的研究,利用神經網絡壓縮數據,加速訪問與碰撞檢測的嘗試也逐漸受到了工程界與學術界的重視,這似乎為解決一些傳統困境提供了可能。除了已被落地證實的穩健方案,這些潛在的研究價值也會被納入討論范圍。
在流體方案層面,我們可能更著重討論歐拉視角,或以Stable Fluid為代表的半拉格朗日方法,以及MLS-MPM等混合方法。這全然是因為我們需要面對的是云、霧、煙、火焰這類的介質 ,而非液體。更為復雜的多相流問題,似乎在游戲中應用的可能性不大,但如果有時間,追加這部分的研究也是非常讓人興奮的。一旦我們將視角放開到影視領域,對物理規律的還原將變得更加苛刻,虛擬世界也更加真實!
《游戲工程管理》
全文約29500字,閱讀時長約2小時27分鐘
https://edu.uwa4d.com/course-intro/0/439
成為主程,得以主導一款新游戲的技術,所關注的也會從具體的技術點轉到工程的協調。技術是單一的具體方法,工程是綜合的系統協調,區別于小型游戲的單槍匹馬作戰,中大型游戲開發是一項系統性工程,因此,除了需要高超的技術水平,還要掌握工程實施的方法。
隨著游戲項目規模增長,模塊間相互關聯,開發成本將成指數增長,工程管理方法就是要抑制成本增長的曲線,讓團隊能夠按時按質完成整款游戲項目的開發。
在工程管理領域,雖說有著傳統《軟件工程》、敏捷開發和PMP(項目管理認證)的一些實踐,不過它們更適用于傳統軟件開發,游戲項目有著很獨特的部分。版本分支怎么管理、代碼規范怎么定、如何讓多人合作變得順暢、如何保障開發的質量,這是游戲主程必須面對的問題。然而市面上相關資料并不多,更缺乏體系化的歸納,于是決定拋磚引玉,試圖編寫《游戲工程管理》。
以下為推薦的視頻課程以及對應章節的時長信息:
第二章《兵海游戲之魂-RVO-DOTS實現精講》
https://edu.uwa4d.com/course-intro/1/552
課包兩章:EG+RVO(請仔細閱讀課程說明)186min1-1|第一個渲染元素 9min 1-2|深度排序的問題 11min 1-3|更像精靈的精靈 5min 1-4|TextureArray與精靈幀 5min 1-5|BlobAsset與動畫驅動 11min 1-6|用Mono控制精靈 7min 1-7|封裝EGPrefab 20min 1-8|DOTS與主線程數據交火 10min 1-9|Transform與DOTS高效交互 18min 2-1|初識算法和參數(上) 13min 2-2|初識算法和參數(下) 5min 2-3|空間劃分 13min 2-4|尋鄰 8min 2-5|Rvo主算法 15min 2-6|可視化Debug 18min 2-7|推擠與施力 9min 2-8|封裝RvoLib 9min
更多內容,歡迎大家登錄UWA學堂:edu.uwa4d.com進行查看,以下為您推薦了UWA學堂整理的各模塊知識Tree匯總,體系化的學習有利于大家搭建自己的知識脈絡,更清晰有目標的專注于某個知識點進行深入學習。
近期精彩回顧
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.