乐趣区

关于ui:UWA学堂汇总看这一篇就够啦

学堂自成立以来,曾经上线了近 300 门课程,涵盖了游戏开发中的多方面内容。随着课程数量的减少,如何能力更快地找到咱们须要的课程呢?

UWA 学堂:edu.uwa4d.com

一、搜寻🔍

最简略间接的就是依据 关键词 / 作者 去搜寻对应的课程内容。

二、依据分类检索

点击下拉箭头,可开展分类:


本期咱们依据分类,别离举荐了局部课程,更多内容欢送登录 UWA 学堂:edu.uwa4d.com 进行查看。心愿大家都能学有所得,学有所成!

渲染

《屏幕空间反射与 PBR 的渲染联合》

该课程不仅介绍了屏幕空间反射的算法,为了让渲染成果更实在,并且能够模仿更多的材质外表反射,我将在根底的 SSR 技术之上,思考减少 PBR(基于物理外表的渲染)其中的一些影响因素:

  • 粗糙度
  • 菲涅尔反射
  • 环境光漫反射 + 环境光镜面反射
  • 渲染方程中的 cos 项
  • 蒙特卡洛积分后果

退出以上影响因素后,不仅能够渲染润滑的外表(玻璃,水面,镜面),也能够模拟出毛糙外表反射(高空,桌面,磨砂玻璃等等),能够满足更多我的项目需要。

《基于 Unity Compute Shader 实现 Ray Tracing》

本文次要介绍了如何利用 Unity 的 Compute Shader 实现照片级别的渲染器,并给出了渲染器的 GitHub 我的项目地址供大家学习。不少对 Ray Tracing 渲染感兴趣的敌人用了 CUDA 等工具开发,工作量相当大。作者间接应用大家较为相熟的 Unity,升高了工程上的开发成本,着重于 Ray Tracing 自身的算法和性能实现。本文将介绍 Ray Tracing 算法的必备知识点,以原理作为前提,再介绍如何一步一步实现渲染器的各个性能,包含场景构建,BVH,光源采样,物理材质,图像输入等,并介绍了往年风行的 Wavefront 内核的实现。

案例展现:

《Unreal 挪动渲染管线解析》

近两年随同 Unreal 移动游戏在市场的不俗体现,越来越多的研发团队开始关注 Unreal 的挪动端开发。本次报告将聚焦 Unreal 挪动端的渲染管线,联合源码剖析渲染相干的模块框架以及与渲染线程的交互,并心愿帮忙研发团队理解如何扩大渲染性能,以及在优化时疾速定位 CPU 端的渲染瓶颈。

UI

《疾速入门 FairyGUI》

课程次要解说了一个残缺 UI 界面的开发流程。从 UI 编辑器方面动手学习,通过拼装一个残缺的 UI 逐渐相熟 FairyGUI 编辑器的应用;再进入 Unity 引擎学习 UI 事件的根本要点,并针对 UI 事件的制作进行解说;最初学习 UI DrawCall 相干的常识,以及制作一些有特色的 UI 成果。

本课程属于根底课程,适宜有肯定游戏引擎应用根底的读者。

《UIToolkit 下一代 UI 零碎》

UIToolkit 是 Unity 打造的全新 UI 零碎,它同时反对运行时与编辑时的 UI 界面开发,新版本引擎自带布局将全面应用 UIToolkit 替换,官网曾经明确示意后续禁止再提交 IMGUI 的代码,运行时界面将取代原有的 UGUI 零碎。自 Unity 2020.2 起 UIToolkit 已内置在 Unity 引擎中并非 package 包的模式,位置未然超过 UGUI。

UGUI 曾经好几年没有更新了,性能问题始终饱受开发者诟病,还有图文混排、循环滑动列表一类的根底组件缺失,导致每个我的项目都要独自实现一遍。在性能上 UIToolkit 更是超过 UGUI,它能够 1 次 DrawCall 实现所有界面的绘制,UIBuilder 编辑器对界面布局上也对策动美术更加敌对。

《详解 UGUI DrawCall 计算和 Rebuild 操作优化》

本文次要分为以下内容,帮忙大家深度理解 UGUI 的重要原理和优化办法。

解说 UGUI DrawCall 的工作原理,并联合大量实例解说 Unity 引擎如何计算 DrawCall 以及如何通过合批来升高 DrawCall。

形容用于 ScrollView 的 Mask 和 RectMask2D 的具体原理以及它们是如何对 DrawCall 产生影响。

重点讲述咱们在优化 UGUI 时常常被疏忽的问题:Canvas Rebuild 和动静拆散、粒子系统与 UI 界面联合、UI 零碎的 Raycast Target 以及界面 OverDraw 的相干优化点。

资源管理

《空幻引擎资产治理之道》

空幻引擎对于游戏资产治理的工作流是较为简单而繁琐的。本次报告将介绍如何扩大空幻引擎的资产管理工作流的教训,使其同时满足国内和出海发行的需要,成为一套高可靠性、可增量的疾速资产工作流;并使得安装包和更新补丁尺寸最小化至极致,同时进步运行时资产加载效率的办法。

《UWA 本地资源检测应用办法与规定原理》

UWA 本地资源检测是对游戏、VR 等我的项目工程的资源、代码和设置等进行自动检测的插件与服务产品,是我的项目研发继续集成、继续交付流程中的重要工具,旨在为游戏研发制订资源与代码标准,帮忙研发团队疾速发现和解决我的项目中的性能问题与可能呈现的异样、谬误。研发团队可通过日常的主动查看,标准程序、美术成员的开发,从源头上对我的项目进行优化,躲避危险,节约老本。

本系列课程旨在帮忙大家更好更快地将本地资源检测使用到我的项目当中,内容次要包含:根本介绍、用法演示和规定解说等,以连载的形式更新,同时会随着产品的迭代以及大家的需要减少新的内容。

《基于 Addressable 资源管理零碎的大地形加载办法探索》

Addressable 资源管理零碎是 Unity 引擎为开发者最新打造的资源管理解决方案。在本次报告中,咱们将介绍该资源管理零碎的基本功能,并重点解说如何通过它来打造一个大地形的加载和卸载治理计划,并以此来总结其与传统罕用资源管理办法的区别与劣势。通过本次报告,研发团队能够对该零碎有一个全面、清晰地理解和把握,在研发工作中能够更好地对其进行应用。

逻辑代码

《【ET 8.0 版本】ET 框架 – C# 全栈式网络游戏开发框架》

(课程仍在连载更新中,未完结)因为 ET 框架 8.0 版本进行了一系列重大的降级,架构失去了全新的迭代。大多数初学者与客户端开发人员会在首次接触 ET 框架时,会因为不足网络编程通识和其本身固有的面向对象开发习惯,从而被劝退或者编写出极其”不标准“的 ET 框架业务代码。并且因为 ET 框架 8.0 版本引入的多线程纤程的机制,进一步加深了 ET 框架的了解和应用的门槛。

所以本门课程,会重点围绕 ET 框架 8.0 的全新个性,对其原理与设计思路开展解说,并通过小案例的模式,帮忙读者梳理 ET 框架的设计思路与开发思维,从而进一步学会和把握 ET 框架的根本应用,并率领读者把握和相熟应用 ET 框架 8.0 版本进行游戏前后端全栈式开发的根本流程。

《DOTS-ECS 系列课程》

课程共分为四个章节,笔者心愿能以一种欢快的形式带着大家去学习 DOTS,领有更好地应用 DOTS-ECS 的能力,理解 DOTS 中的各种“坑”以及各种解决问题的技巧。

第一章根底内容篇,以深浅适度的独到办法使大家疾速学会学习 DOTS 所必须的基础知识。

第二章零碎设计篇,以一个我的项目中最必须的要害零碎(战斗环境重置零碎)为实战用例,率领大家初步尝试 DOTS 的应用形式。

第三章资源零碎篇,再次以一个我的项目中必须筹备的大型计划(GameObject 与 ECS 混用计划)为实战用例,手把手率领大家从会用 DOTS 到把握 DOTS。

第四章是不定期更新的反对章节,次要会更新一些难以归类,我的项目中又必须波及的琐碎常识。目前更新了 BlobAsset 相干内容(提供 ECS 端应用配置的办法)。

《从零开始的 Unity 魔法学堂》

此系列课程从最根本的概念介绍开始,涵盖 C#、Unity 的核心内容,从零开始带你逐渐上手 Unity,助力你制作出本人的游戏,上道根本的 Unity 开发。

课程并不像传统教程那样应用操作录屏 +PPT 展现的模式讲述,而是通过精心编写的文案、粗劣的演示动画和示例、乏味的魔法比喻来将知识点压缩在短短的几分钟内,让你疾速高效又不打折扣地获取常识,快来开启属于你的魔法之旅吧。

课程体系:
1、基本概念:包含软件装置、根本界面、外围流程等
2、C#:包含根本语法、面向对象等 Unity 开发所需的语言外围
3、Unity:蕴含根本架构、外围零碎、数据处理等 Unity 罕用内容

单节构造:
1、解说内容:没有任何废话的稀释常识解说
2、常识卡片:课程两头对解说内容进行总结、拓展的常识小卡片
3、课后笔记:对当节知识点进行总结的课堂笔记

AI

《Unity 网游寻路计划—Recast Navigation 的利用》

在 Unity 中,有提供专门的工具集 NavMesh 用于寻路导航。然而,这套工具有个最大的问题,就是算法、数据格式不开源,导致了在游戏服务端是无奈应用的,无奈和客户端保持一致的导航寻路逻辑。因而,在理论 MMORPG 开发中,像怪物的管制都是由服务器进行的,也就是说只能在服务器进行寻路计算,而后发给客户端,所以咱们个别都会应用其余寻路计划。

Recast Navigation 是目前在游戏中最罕用的导航寻路开源库,通过应用 Recast Navigation 来生成客户端和服务器独特应用的 Navmesh 文件,使客户端和服务器能应用同样的寻路算法。在本教程中,我将以小白的视角来解说,让导航寻路不再神秘,学习完本教程,齐全能够 0 根底实现客户端和服务器的导航寻路。

https://www.youku.com/video/XNjM3NzcwNTA2MA==

《找个掩体苟一苟 – 怪物 AI 制作分享》

本次报告将介绍在射击游戏中,为了实现运行时可能高效辨认掩体信息,进行藏匿、曲折等战术的怪物 AI。我的项目采纳 unity AI navigation 模块分块治理关卡内 NavMesh,主动生成 link 数据、掩体数据,通过预计算的遮挡剔除数据,在运行时判断掩体的可见性并动静更新 NavMesh,最终利用在行为树上,与 unity 内实现的选点零碎联合驱动怪物行为。

《直观了解 AI 博弈原理》

AlphaGo 围棋击败世界冠军,王者光荣 AI 战败职业选手 …… 咱们对世界充斥好奇,总想一探到底,想晓得这些 AI 算法是如何领有高超智能。然而,AI 算法博大精深,少数材料都是以业余角度来阐明问题,艰涩难懂。例如 AlphaGo 围棋就会波及蒙特卡洛树搜寻、强化学习、深度卷积网络……,这些概念会让非专业人士一头雾水。对于游戏从业者,无论是游戏的内容还是开发流程,AI 的倒退必然给游戏行业带来影响,接触 AI 势在必行。

本文的目标在于:让不足业余背景常识的读者也可能直观了解 AI 博弈的原理,至多能从感官上理解 AlphaGo 如何击败世界冠军,AI 如何战胜王者光荣职业选手。

作为入门级的文章,不会具体阐明技术细节。力求通过通俗易懂的语言和图示解释原理,可用于在游戏开发的技能之外拓展视线。

文中提及的井字棋、五子棋、象棋、围棋、Dota 2、王者光荣的 AI 有很多共通之处,AI 所要做的事件都是依据以后的场面去输入它须要做多动作。不同的是,不同游戏的规模不一样。例如井字棋的棋盘是 3 ×3,象棋是 9 ×10,棋盘越大,实现它的 AI 越艰难。本文的行文思路在于,先从简略棋类的 AI 说起,再沿着技术倒退到步调,再一步步改良算法,以适应规模越来越大的游戏。

动画

《为游戏中的角色注入生命力 – 表演数字化与数字化表演》

游戏素来没有像当初一样如此地靠近“第九艺术”。一个游戏的胜利可能是因为乏味的玩法,沉迷式的体验,甚至是美学和艺术的表白。技术带来有限可能,游戏角色能够像其余艺术模式里的角色一样,用它们的真情实感去引发玩家的情感共鸣。本次报告从情感传递的办法动手,转换角度去意识表情捕获零碎;以及如何协调 CG 动画演绎与游戏局部的节奏对立;如何均衡数字化表演流程与传统动画流程的分工合作;以及如何通过动捕演员的二度创作反向优化游戏中的动作表白、剧情表白等方面和大家分享与探讨。

《AnimationClipPlayable 的利用》

文章次要介绍了 PlayableGraph 中 AnimationClipPlayable 的应用办法,分为四个局部。

第一节介绍了 PlayableGraph 是什么,以及通过 Animator 应用的血泪史来剖析了为什么须要应用 AnimationClipPlayable,并且介绍了相应的解决方案;第二节则通过案例具体介绍了 PlayableGraph 相干 API 的应用以及注意事项,防止踩到性能方面的坑;第三节次要是在 PC 和手机下面进行了具体的性能测试和剖析,防止失常应用的时候踩坑;第四节则是一些配套辅助工具的应用,如何查看正在运行的 PlayableGraph 的节点状态以及如何在手机上统计一段时间内某个函数的均匀耗时开销。

文章属于高级内容,适宜理解过 Animator 并且想要解决 Animator 状态机过于简单、加载效率低下等问题的读者。学完本文,可能把握解决 Animator 上述问题的解决方案(Unity 2019 版本之前)以及 PlayableGraph 的正确应用形式(Unity 2019 及之后版本),并且对 AnimationClipPlayable 的应用细节和技巧有肯定的认知。

《Unity 移动游戏中动画零碎的性能优化》

基于对 Unity 移动游戏的动画零碎性能瓶颈进行有针对性的剖析,并通过大量案例在不同挪动设施上理论运行的性能剖析,将动画零碎性能瓶颈进行演绎和总结,进而提出优化倡议和解决方案。次要包含:

  • 动画零碎的性能瓶颈现状
  • 动画零碎中须要关注的重要性能参数
  • 针对各性能瓶颈的优化倡议和解决方案
  • 对动画零碎在多角色场景中的利用提出多种解决方案

开发流程

《Unity 有限随机写实风地图》

整个课程是基于 Unity 内置 Terrain 零碎制作的,课程从柏林噪声登程解说了如何在运行时对 Terrain 进行动静生成,最终实现一个有限随机地图,蕴含地形纹理、花草树木、石头、河水、村庄等元素。

《游戏工程治理》

成为主程,得以主导一款新游戏的技术,所关注的也会从具体的技术点转到工程的协调。技术是繁多的具体方法,工程是综合的零碎协调,区别于小型游戏的人多势众作战,中大型游戏开发是一项系统性工程,因而,除了须要高超的技术水平,还要把握工程施行的办法。

随着游戏我的项目规模增长,模块间互相关联,开发成本将成指数增长,工程治理办法就是要克制老本增长的曲线,让团队可能按时按质实现整款游戏我的项目的开发。

在工程治理畛域,虽说有着传统《软件工程》、麻利开发和 PMP(项目管理认证)的一些实际,不过它们更实用于传统软件开发,游戏我的项目有着很独特的局部。版本分支怎么治理、代码标准怎么定、如何让多人单干变得顺畅、如何保障开发的品质,这是游戏主程必须面对的问题。然而市面上相干材料并不多,更不足体系化的演绎,于是决定抛砖引玉,试图编写《游戏工程治理》。

《腾讯游戏开发精粹Ⅱ》

《腾讯游戏开发精粹Ⅱ》是腾讯游戏研发团队一直积攒积淀的技术结晶,是继 2019 年推出《腾讯游戏开发精粹》后的诚意续作。本书收录了 21 个在上线我的项目中失去验证的技术计划,深刻介绍了腾讯公司在游戏开发畛域的新研究成果和新技术停顿,波及人工智能、计算机图形、动画和物理、客户端架构和技术、服务端架构和技术及管线和工具等多个方向。

本书适宜游戏从业者、游戏相干业余师生及对游戏幕后技术原理感兴趣的一般玩家。

解决方案

《分布式网络和通信协定数据传输》

本系列课程旨在帮忙大家从零开始搭建商业化 MMORPG 的分布式服务器框架,包含不同品种服务器的线程模型,如核心服务器、网关服务器、游戏服务器、寻路服务器等,并解说了这些服务器该如何依据各自的职责进行业务模块分工。

本课程次要带大家把握如何在服务器端和客户端应用 Google.Protobuf 进行消息传递,实现服务器和服务器之间的网络通讯,客户端和服务器之间的网络通讯;通过批改 Google.Protobuf 源码接口扩大音讯分类、音讯编号,实现不同音讯在服务器之间进行音讯转发;开发自定义协定工具,进行协定文件的解析,一键生成客户端和服务器的音讯代码和扩大代码,应用音讯池大幅升高音讯的实例化次数从而缩小 GC;应用 Unity 客户端搭建网络框架和网关服务器进行通信!

本课程为系列课程第四篇,其余课程信息可戳此查看。

《沙盒游戏 PCG 和 UGC 的摸索》

高自由度、规模宏大的凋谢世界等都是沙盒游戏的特点。然而面对这样的特点传统的美术制作流程意味着耗费大量的人力、财力和工夫老本,而 PCG 技术的一直倒退刚好是解决这些问题的一个方向。本次报告将分享开发者在游戏开发过程中对 PCG 和 UGC 方向上的一些摸索和尝试。次要内容包含:运行时纯过程化地形生成和 houdini 地形生成、游戏内的修建建造和载具建造的性能优化等。

《支流游戏相机实现》

本文通过 Unity 3D 引擎和 Cinemachine 组件来实现支流游戏的相机设置,切换和治理的概念,习惯,基本原理,教训参数等。实现内容以动作游戏相机为主,但不限于动作游戏,也能够用于横版搏斗、FPS、RPG 等类型,须要自行调整和钻研。

本课程属于根底和进阶课程,适宜对镜头管制感兴趣的读者。

优化

《Unity 移动游戏性能优化案例剖析》

UWA 已为超过 150 款游戏提供了深度剖析与优化服务,期间提供了全面深刻的性能剖析和有针对性的高效解决方案。本次报告总结了 UWA 近一年以来在深度优化过程中遇到的各类实战性能问题,剖析各类性能问题的相干机制原理以及卓有成效的解决方案,包含对 URP 管线以及 GPU 压力等的优化技巧。

《SLG 手游的制作和优化》

本次报告将介绍 SLG 大地图的地形地表的制作计划以及优化,同时,基于 SLG 游戏的根本特点,讲述 SLG 游戏中对实时暗影计划的改良,不仅缩小了计算量,还能够进步 Shadowmap 的利用率。另外,高兼容性实时多光源 Forward+ 的思考和落地,即使是一些低端的老旧机器也能够反对多光源;最初将分享一些无关挪动端发热问题的定位和思考。

《Spine 动画加载优化思路》

Spine 动画是咱们在 2D 游戏开发中比拟罕用的一个插件,在 Spine 的动画加载方面,常常会遇到加载耗时和内存调配过大的问题,这是因为在 Spine 加载时会将 Spine 文件的所有动画一次性加载,然而通常存在节约的景象(比方角色展现界面、某些关卡中只须要特定的动画)。

那么如何实现按需加载动画,从而取得比拟优良的运行速度和较低的内存占用呢?

本课程对于 Spine 动画加载的流程进行了批改,应用了懒加载的形式实现 Spine 动画的按需加载,无效地升高 Spine 动画的堆内存调配。内容包含思路剖析,代码详解,优化前后的性能比照。从后果来看,本计划更适宜骨骼文件中动画数量较多,有几百个甚至上千个的状况。而当单个角色的骨骼文件如果不具备太多数量的动画(<10 个),并且一个场景须要应用单个角色的所有动画,这种状况的优化成果则会不太显著,反而多个角色同时切换一个新的“未被加载”的动画时,会引起一些懒加载产生的卡顿。

因而本文的优化办法须要依照我的项目需要应用,也能够自行对加载产生的耗时做适当优化(比方字符串申请内存,字符串拼接等产生的耗时)。

PS:本文采纳 Spine 4.0 版本进行的测试,其余的 Spine 版本能够参考文章代码进行适配。

我的项目案例

《回合制对战游戏的场景制作方向和流程摸索》

《猫之城》是由番糖游戏自研的一款猫拟人潮酷都市策略 RPG。本次报告将剖析场景制作计划和常见的流程制作的优缺点,并依据《猫之城》我的项目理论需要介绍制作我的项目的流程,以及自有流程的搭建指标和最终成果展现,为大家提供一种新的场景流程制作思路,例如:常见场景流程的剖析、场景质感表达方式,以及场景性能优化等。

《《永劫无间》战斗零碎开发教训分享》

《永劫无间》是网易旗下 24 Entertainment 于 2021 年上线的一款的动作生存竞技游戏。玩家在游戏中能够纵情享受飞檐走壁,上天入地,电光火石般的战斗体验。英雄技能、近战武器、近程武器、飞索、魂玉、战术道具等元素形成了《永劫无间》极高的战斗自由度。本次报告次要分享的就是讲师在搭建《永劫无间》我的项目的战斗零碎过程中遇到的挑战和对应的解决方案。

《《玄中记》我的项目的美术流程心得》

《玄中记》是一款 3D 大世界 MMO 手游,市面上有着很多竞品,我的项目存在大量的美术资源需要,如何流程化、美术格调该走哪条路?本次报告中讲师将介绍团队的一路走来的心得,例如:小公司美术团队该如何搭建、如何给我的项目的美术格调定基调、如何与美术外包团队合作的教训等。

综合

《躬身入局 践行游戏研发工业化 主题演讲》

随着中国游戏谋求高品质的需要逐年晋升,游戏研发团队对于我的项目研发“工业化”的需要越来越高。然而目前中国游戏行业的工业化依然处于刚起步的晚期阶段,绝大多数团队仍然处于思考如何落地的阶段,所以,如何破局就成为了当下绝大多数研发团队摸索的重点方向。在 UWA 看来,要破局就须要躬身入局,在这一年中,咱们和多家团队进行深度单干,在以下几个破局点积攒了一些教训,次要包含:1. 如何搭建“工业化”的研发体系;2. 如何通过流程和数据来管控日常的研发流程;3. 如何晋升团队研发人员的“工业化”意识和程度等。通过本次报告,咱们心愿研发团队能够在标准化、规范化、专业化和自动化等方面把握和落地游戏我的项目的研发流程。

《Niagara 中的物理模仿》

本次报告将联合空幻引擎目前凋谢的我的项目实例,介绍 Niagara 特效零碎的新个性,着重探讨如何在 Niagara 中制作基于物理的模仿成果,以及 Niagara Fluid 插件的性能个性。

《如何防止线上处分事变 – 网易互娱处分监控体系介绍》

网易互娱品质保障核心数据中台通过大数据技术,联合机器学习、算法模型,实现了一套针对游戏处分相干事件的监控体系。该零碎通过简略灵便的规定配置,满足了不同游戏中各种丰盛多样的处分监控场景需要。以机器学习、算法迭代为外围,应用实时阈值、阈值预估、置信度计算、报警后果回溯跟踪等伎俩,升高误报,进步准确率。处分监控零碎目前已接入数十款网易互娱游戏,大幅升高了接入游戏的处分相干事故率。本次报告将从技术角度登程,介绍团队在处分监控体系建设过程中的思考和成绩。

以上便是本期举荐的全副课程,涵盖了渲染、UI、动画等 11 个大类,更多课程内容欢送登录 UWA 学堂:edu.uwa4d.com 进行查看。

退出移动版