UWA学堂 | 初级课程汇总

UWA学堂 | 初级课程汇总

本栏目汇总了UWA学堂上所有中级课程并按类区分,会持续根据上新课程不断更新!

逻辑代码类:

《Unity项目技术研发之模块设计:网络上传下载》
《Unity项目技术研发之模块设计:异步任务》
在信息爆炸的今天,互联网上有着不计其数的各类模块的实现参考或者学习资料,但能够教会我们“如何设计出足够好的模块”或者“这些好用的模块实现是怎么设计出来的”的相关资料却相对贫乏。于是,作者把设计模块的整个过程写成一系列的文章,想要传递给更多需要的同学,以应那句古话:“授之于鱼,不如授之以渔”。

这一系列的文章往往都是整个复杂的思考过程的浓缩,也有许多设计方法论蕴含其中,作者试图将文章和文章之间用某种思考方式串联起来,以求达到一加一大于二的效果。尝试用一种简单直白的方式把这些抽象晦涩的信息表达出来,以期能够引起大家对设计过程的思考。

《手游HTTP多线程下载原理与优化》
本课程主要讲解了在不使用Unity或C#的下载组件的情况下,如何实现一个高效的、支持断点续传和多线程下载,同时资源开销小(内存占用小,CPU 占用低)的下载组件。从简单的HTTP协议讲起,介绍如何用Socket直接封装一个下载组件,如何实现断点续传,如何实现边玩边下载,又如何优化下载,加快下载速度,同时控制下载过程中总的内存开销。最后讲解了项目中的热更新机制是怎么做的。

通过该课程的学习,你可以快速掌握解决以上项目痛点的方法,同时还提供Demo源码,方便您快速应用到自己的项目中。


UI类

《Unity手游UI框架一站式解决方案》
该课程从基本的UI框架概念入手,讲解了游戏开发中对UI框架需求的变迁过程,以及随着硬件和平台变化所带来的需求迭代。文章分为7个章节,从最基础最小的结构开始,根据实际需求逐步添加功能扩展和修改框架结构,直到能够支撑大多数的开发需求为止。

每个章节都会在上一个章节的功能基础上进行新的需求分析以及应对方式并且在上一章的源码基础上进行结构设计和代码改造,从根本上理解框架的迭代和进化的历程。

《FairyGUI插件解析及Lua导出》
本课程以FairyGUI插件Demo作为出发点,详细介绍插件功能,包括添加菜单、资源包解析等功能,进一步介绍了插件制作流程、规范以及重点函数等内容。以Lua导出为例,详细介绍了UI框架设计理念和核心内容,以及自动化后整个UI制作流程的变化及重点、难点,解决了UI设计和实践中的痛点、难点。


音频类

《Wwise音频引擎入门和实践》
很多团队都在使用Wwise音频引擎,但分享经验的却很少。作者Aladdin将自己的使用经验进行系统总结,无论是使用技巧、音效热更还是性能分析与优化策略,希望可以让程序更快地掌握Wwise引擎的使用、该引擎和Unity引擎的对接,让音效师更明晰地了解程序是如何对接Wwise引擎的。内容主要分为三大部分,Wwise引擎的介绍、常见的功能实现和性能优化。


管理类

《给时间以效率》
每个人拥有的时间是相同的,但是工作效率的不同在某种程度上影响着人生的走向。如何使用尽可能少的时间高质量地完成尽量多的事情,是很多学者研究的课题。本文从作者的切身实践出发,分为精神、方法论、工具、精力管理和杂项五个部分,一共包含了18个提高工作效率的Tips。这些Tips中有些是作者正在使用的,有些是作者曾经尝试过但未能坚持下来的,但都从个人体验的角度进行描述和分析,以期给读者带来一些新的工具和思考。同时也期望有更多的人来关注和分享工作效率这一主题相关的内容,让更多的读者从中受益。


制作类

《拥抱开放世界》
针对《创造与魔法》这款开放世界游戏,讲师将重点介绍开发世界游戏的历史与发展现状,并分享团队在这款游戏创作中所秉持的设计理念和研发心路历程,内容主要包括:

  • 大世界的场景制作
  • 多人在线与社交
  • 自由度与解耦
  • 开放世界游戏的优化
  • 开发工具与MOD

其他类

《机器学习驱动的游戏AI技术》
每个游戏设计师应该都想过使用真正的AI来设计一套游戏角色行为系统。然而大部分我们找到的资料,都是基于行为规则集合的设计实现,如:有限状态机、行为树等等。这些经过十年以上成熟的技术主导着游戏AI的主角旋律。深度学习的爆发让AI能比人玩游戏玩得好已经不是新闻,那么是否应该考虑使用深度学习技术呢?

  • 深度学习的AI究竟是否有可能,会是什么样的?
  • 如何将时髦的深度学习系统和游戏开发联系起来,是不是有已经造好的轮子?
  • 深度学习技术究竟有哪些有趣的能力可以用于游戏AI?
  • 是否可以真的把深度学习落地到自己的产品中去?相信每一个问题你都想过、试探过,甚至有些初步的尝试。然而毕竟深度学习仍然是个新鲜的知识体系,而且自己时间总是有限的。如果有人能把自己知道的深度学习实现路径和掌握的机器学习设计诀窍分享给你,是不是也能省掉几分入门的折磨呢?

看本课程不需要复杂的数学基础,专注于解决游戏问题,包含从理论简述到落地实践。

《三维数字世界的虚与实》
随着科学技术和采集设备的发展,三维世界的数字化与智能化将是未来各行业智能化应用的空间智能基础,也孕育了无数机遇和挑战。三维数字世界及三维互动体验的时代已逐渐走来,三维技术已在工业设计、电影工业、电子游戏、智慧城市、动漫娱乐、智能制造、虚拟现实与增强现实等方面越来越广泛的应用。本课程汇报与展示了在三维几何建模、大规模场景绘制、时空数据融合、虚拟现实、3D打印等方面的研究与应用。

《Jenkinsfile基础与UWA本地资源检测组件接入实战》
本课程针对参数化构建、节点、环境变量等来介绍Jenkinsfile的编排,详细讲解了string、bool、choice等常见的4种参数的参数化构建方法,变量的定义与引用以及post语句块中经常会使用到的构建状态指令,抛开原来Freestyle project的使用模式,改用Pipeline来替代,满足更复杂工作的需求,并且使整体流程更灵活,更易维护。

结合UWA的“本地资源检测”业务进行实战,使用Jenkinsfile从本地资源检测组件的接入到上传测试结果,完成整个UWA本地资源检测业务的流程编排,在实际使用过程中感受Jenkinsfile的魅力。


资源管理类

《基于组件和配置的着色器编辑器框架》
文章主要介绍了一套完整的着色器编辑器框架。本教程从拆解常用的着色器功能入手,分别讲解了编辑器中的通用组件以及用法,着色器属性块和配置的相互包含引用方法,最后结合编辑器提供的功能讲解了一种材质资源的优化方法。本课程属于进阶课程,适合有编写着色器代码并且想进一步了解着色器编辑器设计方法的读者。

《Addressable系统解析及实践经验》
AssetsBundle作为Unity引擎主要的资产包单位,其使用、管理和更新一直是个难点,无数的项目使用着各种方案。为了减少大家重复造轮子的痛苦,官方终于给出Addressable System这个方案。这个方案将Assets的加载、卸载、查询、依赖、打包和更新等细节都进行了系统化的封装。

但本文并不是一篇讲如何使用Addressable系统的文章,学习具体的使用操作流程最好的资料还是官网文档API Reference,网上也有很多不错的文章。比如UWA Blog的这篇《Addressable Assets System》,详尽地介绍了该系统,值得一读。在此会重点介绍作者通过源码阅读所理解的Addressable系统实现,以及项目中的实践经验,供大家学习参考。


测试类

《自动化测试从入门到精通》
Airtest是由网易游戏质量保障中心自主研发的一套基于UI层的所见即所得的自动化测试框架,同时支持安卓、iOS、桌面应用、网页应用和小程序等。

本课程期望帮助刚开始学习自动化测试的工程师、对自动化测试感兴趣的职场新人和Airtest新用户快速掌握自动化测试的学习路径,以及掌握Airtest自动化测试。

《如何快速搭建游戏自动化测试》
本文作者从自身的工作出发,总结了在自动化测试开发过程中所遇到的重要问题。内容主要包括:从游戏版本在Jenkins上的自动构建到Python测试框架优化,再到自动化测试在游戏中的运用,最后探讨在游戏研发中发挥自动化性能测试的作用。文中所讲解的多数搭建过程都可以利用开源项目来完成,例如:Unittest、WDA、GAutomator和TCloud等。同时,也可以参考我们的定制思路,根据自身游戏项目的特点进行开发和定制。

本门课程属于基础课程,特别适合于游戏团队的测试开发人员阅读,同时需要具备少量的项目工程搭建以及二次开发能力,例如使用Python、C#、 JavaScript等。希望对大家项目中的自动化测试框架的设计和搭建能有所帮助。


渲染类

《光线追踪技术入门》
Nvidia RTX的技术重新激发了实时图形学界对于光线追踪技术的热情,但是对于大部分游戏从业者来说,光线追踪的技术还很陌生。本文从光线追踪的理论基础开始,完整地梳理了光线追踪技术发展历史、技术流派及常用的降噪理论,并结合最新DXR API的代码示例,讲解了DX12下光线追踪API的架构及编程方法。

《详解Unity引擎渲染模块》
从基本的渲染流程入手,学习Unity渲染流程的各个部分及原理,分别从顶点片元着色器及表面着色器了解Unity Shader基本规则及写法。学习使用Unity Shader控制渲染流程各个部分及可编程部分编写。从简单光照模型、贴图采样、法线采样、立法体纹理采样、透明度测试、透明度混合、模板测试到前向渲染复杂光照以及延迟渲染等,对Unity Shader基础知识做了详细的解释。

《详解Unity引擎基于物理的渲染功能》
从基于物理的渲染(PBR)基本概念入手,在了解相关技术概念后,将其分成如下部分单独讲解,包括:BRDF漫反射、BRDF高光反射、菲尼尔函数和能量守护等,讲解Unity中的PBS实现原理及分析UnityPBS代码。最后通过案例进行实际相关操作调整。

《详解Unity引擎Shader Graph功能》
Shader因为涉及数学、图形学、coding语法等诸多知识点,一直是Unity开发的难题,较高的技术门槛将很多新手挡在门外。而Shader Graph的出现,可以说是给开发者带来了福音。通过它,开发者可以直观地构建着色器,可以在图形网络中创建和连接节点,而无需手写代码。具体包括但不限于:

  • 按部就班的改变界面外观
  • 扭曲和动画UV
  • 使用熟悉的图像调整操作修改对象的外观
  • 根据相关的有用信息更改对象的表面,包括它的世界位置,法线,相机距离等
  • 将属性公开给Material Inspector,以便您可以在场景的上下文中快速调* 整着色器的视觉效果
  • 通过创建子图的方式,在多个图和用户之间共享节点网络
  • 通过C#和HLSL创建自己的自定义着色器图形节点

Shader Graph提供了有关更改的即时反馈,即便是新用户也可以很容易参与着色器创建。本课程通过15节视频讲解,带你全面学习使用Unity最新Shader可视化编辑器——ShaderGraph,课程中详细讲解了Shader Graph的使用方法,Shader Graph所有节点解析,使用Shader Graph制作部分效果的案例以及Unity官方Shader Graph案例工程,让你可以快速上手,学习Unity最新技术知识。

《详解Unity引擎的屏幕后处理功能》
该课程主要讲解了部分Unity引擎屏幕后处理的具体实现方法,包括色调调整、屏幕扭曲、抗锯齿、Bloom、景深、高度雾等,一步步教你如何实现屏幕后处理效果,并且讲解如何灵活使用Unity官方Post Processing,最后介绍几款当前热门且游戏研发团队常用的屏幕后处理插件,主要包括:Mobile Lighting Box、MK Glow、2D Weather Effects和100 Post Processing Styles。

《Unity引擎实用阴影渲染技术全解析》
该视频课程主要讲解当前中国Unity项目研发过程中最为常用且实用的三种阴影实现方案:基于ShadowMap的阴影渲染技术、基于Projector&RenderTexture的阴影渲染技术和适合于特殊场合的Flat Shadow渲染技术。分别详细介绍了其理论原理及其在Unity引擎中的具体实现和使用细节,以期让大家能够全面了解和掌握Unity项目开发过程中阴影渲染相关的实用技术方案。

另外,该课程还重点讲解了目前三款Unity Asset Store中非常受研发团队欢迎的阴影相关插件:MobileFastShadow、FastShadows以及FastShadowReceiver。大家不仅可以了解其实现原理和适用场景,同时也可以结合自身项目来采用对应的阴影实现方案及优化方案。

《基于物理渲染功能的重要知识合辑》
本课程整理了UWA Blog上7篇关于物理渲染的文章,方便大家整理查看。

  1. 迪士尼的渲染模型
    基于迪士尼公司分享的在电影渲染中用到的PBR渲染光线模型,该模型的提出并非基于物理真实,而是偏重于对美术设计者的友好和易于使用。通过本文的学习,可以加深对PBR渲染管线原理的理解,从而更好地在工作中应用。
  2. 微表面模式 – PBR渲染管线的材质
    基于微表面模型,提出了新的材质模型,很好地考虑了对菲涅尔现象、阴影遮蔽以及微表面朝向分布等因素对高光项的影响,从而能够更好地模拟粗糙表面的高光现象。
  3. 更精确的微表面分布函数GGX
    基于2007年图形学会议EGSR的一篇论文,创新性地将微表面反射模型推广到了表面粗糙的半透明物体,从而能够模拟类似于毛玻璃的粗糙表面透射效果。文中介绍了BSDF函数、全新的微表面分布函数GGX,能够为您的实际应用提供理论指导。
  4. 基于球面调和基的实时全局光照明
    详细介绍了球面调和基函数、传输函数,以及预计算和实时渲染的过程,不仅提供了实现全局光照技术的方法,还提供了优化实时渲染性能的思路。
  5. 基于Haar小波基的全局光照明
    详细介绍了Haar小波基的算法和实现方式,这是一种采用非线性小波变换来替代线性SH变换的PRT算法,可以实时渲染出能够保留全频信息的全局光照效果,效果更加逼真。
  6. 用真实光照亮物体
    基于图形学、计算机视觉专家Paul Debevec 在1998年发表的一篇论文,文中介绍了使用真实拍摄光照贴图对虚拟物体进行渲染并融合的算法,以及 HDR (High Dynamic Range)及全局光线技术的使用。通过学习,您可以对改算法有深入的了解。
  7. HDR Tone Mapping
    介绍了一种新的Tone Mapping算法,对于不同区域采用不同的缩放系数,从而自适应dodging-and-burning,能够在将高动态图转换为低动态图时防止高亮部分过曝,并且能达到在亮部和暗部都保持细节的效果。

综合类

《你需要知道的Unity 2017的性能优势》
Unity 2017不仅为我们带来了大量的新功能,在性能方面也做了大量的完善和改进。对此,针对Unity 2017以及后续版本中的性能优势进行深入分析,以求让大家在使用Unity 2017及后续版本开发和优化项目时,能够对引擎有更为明晰地了解和掌握。

《游戏开发基础》
本课程将带大家学习如何使用Unity游戏引擎重现经典游戏。分别是《打地鼠》、《翻牌子》、《拼图》、《推箱子》、《俄罗斯方块》、《华容道》、《连连看》、《三消》、《扫雷》、《贪吃蛇》、《五子棋》、《跳棋》十二款游戏。

通过对本门课程的学习,大家可以感受计算机程序、数据结构的魅力!该课程为零基础课程,所有对游戏开发感兴趣的同学都可以进来围观,课程提供了完整的视频、课程PDF文件、实验步骤和工程文件帮助大家理解学习。将游戏入门的各类知识点与游戏的制作过程相结合,以期让大家在轻松、快乐的学习过程中,循序渐进地掌握游戏的制作技能。

《C# 知识体系构建》
本课程来自GitHub上很受欢迎的Qframework开发框架的作者——凉鞋老师。该框架集成了多个开发模块和插件平台,可以用于开发各类游戏和应用项目,大幅提升开发效率。

本文以 C# 版本演进为脉络,介绍语言演进过程中的重要特性,内容虽然不是面面俱到,但讲解以突出重点为主,包含了作者的许多开发经验和技巧,可以帮助有一定C#基础的同学快速提升。文章第1节试读部分提供了完整的思维导图,可供日常阅读使用。

《第三人称视角游戏的镜头全自动控制方案》
游戏对体验的追求是永无止境的,而视角又是用户感受最直接的部分,值得开发者们不断去优化。本文提供的方案是作者在开发实践中不断打磨的成果,通过对不同场景“最佳位置”设定,巧妙地实现了全自动控制。课程附赠工程源码,通过学习,您可以将其应用于自己的项目中,但更重要的是理解业务和技术的结合过程,从而提升游戏体验的设计和实现能力。

本课程属于基础课程,适合对镜头控制感兴趣的读者。

《Visual Effect Graph入门和实践》
Unity最近做了很多的更新,在高效、易用的大方向上,快步向前,全面地提升了引擎的整体竞争力。粒子系统,关乎用户体验,自然也是不可或缺。这正是本课程的主题—— Visual Effect Graph (以下简称 VFX)。

课程由3W原则入手来介绍VFX,它是什么?为什么要使用它?最后着重介绍了我们要如何使用VFX。包含了对VFX及其编辑器、常见功能模板等做了详细介绍,并附赠Demo案例源码,通过学习您可以全面入门这套特效系统,并积累不少实践经验。非常适合Unity开发者以及对特效感兴趣的同学。