About us常见问题

UWA学堂汇总看这一篇就够啦!

来源自:常见问题    点击数:1   发布时间:2024-02-29 12:07:10

  学堂自成立以来,已经上线门课程,涵盖了游戏开发中的多方面内容。随着课程数量的增加,怎么样才可以更快地找到我们应该的课程呢?

  本期我们根据分类,分别推荐了部分课程,更多详细的内容欢迎登录UWA学堂:进行查看。希望我们大家都能学有所得,学有所成!

  该课程不仅介绍了屏幕空间反射的算法,为了让渲染效果更真实,并能模拟更多的材质表面反射,我将在基础的SSR技术之上,考虑增加PBR(基于物理表面的渲染)其中的一些影响因素:

  加入以上影响因素后,不但可以渲染光滑的表面(玻璃,水面,镜面),也可以模拟出粗糙表面反射(地面,桌面,磨砂玻璃等等),能够完全满足更多项目需求。

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

  近两年伴随Unreal移动游戏在市场的不俗表现,慢慢的变多的开发团队开始关注Unreal的移动端开发。本次报告将聚焦Unreal移动端的渲染管线,结合源码分析渲染相关的模块框架以及与渲染线程的交互,并希望帮助研发团队了解如何扩展渲染功能,以及在优化时快速定位CPU端的渲染瓶颈。

  课程主要讲解了一个完整UI界面的开发流程。从UI编辑器方面入手学习,通过拼装一个完整的UI逐步熟悉FairyGUI编辑器的使用;再进入Unity引擎学习UI事件的基本要点,并针对UI事件的制作进行讲解;最后学习UI DrawCall相关的知识,以及制作一些有特色的UI效果。

  UIToolkit是Unity打造的全新UI系统,它同时支持运行时与编辑时的UI界面开发,新版本引擎自带布局将全面使用UIToolkit替换,官方已经明确说后续禁止再提交IMGUI的代码,运行时界面将取代原有的UGUI系统。自Unity 2020.2起UIToolkit已内置在Unity引擎中并非package包的形式,地位已然超过UGUI。

  UGUI已经好几年没有更新了,性能问题一直饱受开发者诟病,还有图文混排、循环滑动列表一类的基础组件缺失,导致每个项目都要单独实现一遍。在性能上UIToolkit更是超越UGUI,它可以1次DrawCall完成所有界面的绘制,UIBuilder编辑器对界面布局上也对策划美术更加友好。

  讲解UGUI DrawCall的工作原理,并结合大量实例讲解Unity引擎如何计算DrawCall以及如何通过合批来降低DrawCall。

  重点讲述我们在优化UGUI时经常被忽略的问题:Canvas Rebuild和动静分离、粒子系统与UI界面结合、UI系统的Raycast Target以及界面OverDraw的相关优化点。

  虚幻引擎对游戏资产管理的工作流是较为复杂而繁琐的。本次报告将介绍如何扩展虚幻引擎的资产管理工作流的经验,使其同时满足国内和出海发行的需求,成为一套高可靠性、可增量的快速资产工作流;并使得安装包和更新补丁尺寸最小化至极致,同时提高运行时资产加载效率的方法。

  UWA本地资源检测是对游戏、VR等项目工程的资源、代码和设置等进行自动检验测试的插件与服务产品,是项目研发持续集成、持续交付流程中的重要工具,旨在为游戏研发制定资源与代码规范,帮助研发团队快速发现和解决项目中的性能问题与也许会出现的异常、错误。研发团队可通过日常的自动检查,规范程序、美术成员的开发,从源头上对项目来优化,规避风险,节约成本。

  本系列课程旨在帮大家更好更快地将本地资源检测运用到项目当中,内容最重要的包含:基本介绍、用法演示和规则讲解等,以连载的方式更新,同时会随着产品的迭代以及大家的需求增加新的内容。

  Addressable资源管理系统是Unity引擎为开发者最新打造的资源管理解决方案。在本次报告中,我们将介绍该资源管理系统的基本功能,并重点讲解如何通过它来打造一个大地形的加载和卸载管理方案,并以此来总结其与传统常用资源管理方法的区别与优势。通过本次报告,研发团队可以对该系统有一个全面、清晰地了解和掌握,在研发工作中能更好地对其进行使用。

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

  所以本门课程,会重点围绕ET框架8.0的全新特性,对其原理与设计思路展开讲解,并通过小案例的形式,帮助读者梳理ET框架的设计思路与开发思想,从而进一步学会和掌握ET框架的基本使用,并带领读者掌握和熟悉使用ET框架8.0版本进行游戏前后端全栈式开发的基本流程。

  课程共分为四个章节,笔者希望能以一种愉快的方式带着大家去学习DOTS,拥有更好地使用DOTS-ECS的能力,了解DOTS中的各种“坑”以及各种解决实际问题的技巧。

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

  第二章系统模块设计篇,以一个项目中最必须的关键系统(战斗环境重置系统)为实战用例,带领大家初步尝试DOTS的使用方式。

  第三章资源系统篇,再次以一个项目中必须准备的大型方案(GameObject与ECS混用方案)为实战用例,手把手带领大家从会用DOTS到掌握DOTS。

  第四章是不定期更新的支持章节,主要会更新一些难以归类,项目中又必须涉及的琐碎知识。目前更新了BlobAsset相关联的内容(提供ECS端使用配置的方法)。

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

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

  1、讲解内容:没有一点废线、知识卡片:课程中间对讲解内容做总结、拓展的知识小卡片

  在Unity中,有提供专门的工具集NavMesh用于寻路导航。但是,这套工具有个最大的问题,就是算法、数据格式不开源,导致了在游戏服务端是没办法使用的,无法和客户端保持一致的导航寻路逻辑。因此,在实际MMORPG开发中,像怪物的控制都是由服务器进行的,也就是说只能在服务器进行寻路计算,然后发给客户端,所以我们大多数都会使用其他寻路方案。

  Recast Navigation是目前在游戏中最常用的导航寻路开源库,利用Recast Navigation来生成客户端与服务器共同使用的Navmesh文件,使客户端与服务器能使用同样的寻路算法。在本教程中,我将以小白的视角来讲解,让导航寻路不再神秘,学习完本教程,可完全0基础实现客户端与服务器的导航寻路。

  本次报告将介绍在射击游戏中,为实现运行时能够高效识别掩体信息,进行躲藏、迂回等战术的怪物AI。项目采用unity AI navigation模块分块管理关卡内NavMesh,自动生成link数据、掩体数据,通过预计算的遮挡剔除数据,在运行时判断掩体的可见性并动态更新NavMesh,最终应用在行为树上,与unity内实现的选点系统结合驱动怪物行为。

  AlphaGo围棋击败世界冠军,王者荣耀AI战胜职业选手......我们对世界充满好奇,总想一探究竟,想知道这些AI算法是如何拥有高超智能。然而,AI算法博大精深,多数资料都是以专业角度来说明问题,晦涩难懂。例如AlphaGo围棋就会涉及蒙特卡洛树搜索、强化学习、深度卷积网络……,这些概念会让非专业人士一头雾水。对游戏从业者,无论是游戏的内容还是开发流程,AI的发展必然给游戏行业带来影响,接触AI势在必行。

  本文的目的是:让缺乏专业背景知识的读者也能够直观理解AI博弈的原理,至少能从感官上了解AlphaGo如何击败世界冠军,AI如何打败王者荣耀职业选手。

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

  文中提及的井字棋、五子棋、象棋、围棋、Dota 2、王者荣耀的AI有很多共通之处,AI所要做的事情都是根据当前的局面去输出它需要做多动作。不同的是,不同游戏的规模不一样。例如井字棋的棋盘是3x3,象棋是9x10,棋盘越大,实现它的AI越困难。本文的行文思路在于,先从简单棋类的AI说起,再沿着技术发展到步伐,再一步步改进算法,以适应规模慢慢的变大的游戏。

  游戏从来就没像现在一样如此地接近“第九艺术”。一个游戏的成功原因是有趣的玩法,沉浸式的体验,甚至是美学和艺术的表达。技术带来无限可能,游戏角色可以像其他艺术形式里的角色一样,用它们的真情实感去引发玩家的情感共鸣。本次报告从情感传递的方法入手,转换角度去认识表情捕捉系统;以及如何协调CG动画演绎与游戏部分的节奏统一;如何平衡数字化表演流程与传统动画流程的分工合作;以及如何通过动捕演员的二度创作反向优化游戏中的动作表达、剧情表达等方面和大家伙儿一起来分享与探讨。

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

  文章属于初级内容,适合了解过Animator并且想要解决Animator状态机过于复杂、加载效率低下等问题的读者。学完本文,能够掌握解决Animator以上问题的解决方案(Unity 2019版本之前)以及PlayableGraph的正确使用方式(Unity 2019及之后版本),并且对AnimationClipPlayable的使用细节和技巧有一定的认知。

  基于对Unity移动游戏的动画系统性能瓶颈进行有明确的目的性的分析,并通过大量案例在不同移动电子设备上实际运行的性能分析,将动画系统性能瓶颈进行归纳和总结,进而提出优化建议和解决方案。主要包括:

  整个课程是基于Unity内置Terrain系统制作的,课程从柏林噪声出发讲解了如何在运行时对Terrain进行动态生成,最终完成一个无限随机地图,包含地形纹理、花草树木、石头、河水、村庄等元素。

  成为主程,得以主导一款新游戏的技术,所关注的也会从具体的技术点转到工程的协调。技术是单一的具体方法,工程是综合的系统协调,区别于小型游戏的单枪匹马作战,中大型游戏开发是一项系统性工程,因此,除了需要高超的技术水平,还要掌握工程实施的方法。

  随着游戏项目规模增长,模块间相互关联,开发成本将成指数增长,工程管理方法就是要抑制成本增长的曲线,让团队能够按时按质完成整款游戏项目的开发。

  在工程管理领域,虽说有着传统《软件工程》、敏捷开发和PMP(项目管理认证)的一些实践,不过它们更适用于传统软件开发,游戏项目有着很独特的部分。版本分支怎么管理、代码规范怎么定、如何让多人合作变得顺畅、如何保障开发的质量,这是游戏主程必须面对的问题。然而市面上相关资料并不多,更缺乏体系化的归纳,于是决定抛砖引玉,试图编写《游戏工程管理》。

  《腾讯游戏开发精粹Ⅱ》是腾讯游戏研发团队不间断地积累沉淀的技术结晶,是继2019年推出《腾讯游戏开发精粹》后的诚意续作。本书收录了21个在上线项目中得到验证的技术方案,深入介绍了腾讯公司在游戏开发领域的新研究成果和新技术进展,涉及人工智能、计算机图形、动画和物理、客户端架构和技术、服务端架构和技术及管线和工具等多个方向。

  本书适合游戏从业者、游戏有关专业师生及对游戏幕后技术原理感兴趣的普通玩家。

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

  本课程主要带大家掌握如何在服务器端和客户端使用Google.Protobuf进行消息传递,实现服务器与服务器之间的网络通讯,客户端与服务器之间的网络通讯;经过仔细修改Google.Protobuf源码接口扩展消息分类、消息编号,实现不同消息在服务器之间进行消息转发;开发自定义协议工具,进行协议文件的解析,一键生成客户端与服务器的消息代码和扩展代码,使用消息池大幅度降低消息的实例化次数由此减少GC;使用Unity客户端搭建网络框架和网关服务器进行通讯!

  高自由度、规模庞大的开放世界等都是沙盒游戏的特点。但是面对这样的特点传统的美术制作流程意味着消耗大量的人力、财力和时间成本,而PCG技术的持续不断的发展刚好是解决这样一些问题的一个方向。本次报告将分享开发者在游戏开发过程中对PCG和UGC方向上的一些探索和尝试。主要内容有:运行时纯过程化地形生成和houdini地形生成、游戏内的建筑建造和载具建造的性能优化等。

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

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

  本次报告将介绍SLG大地图的地形地表的制作方案以及优化,同时,基于SLG游戏的基本特点,讲述SLG游戏中对实时阴影方案的改进,不仅减少了计算量,还能大大的提升Shadowmap的利用率。另外,高兼容性实时多光源Forward+的思考和落地,即便是一些低端的老旧机器也能支持多光源;最后将分享一些有关移动端发热问题的定位和思考。

  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 Fluid插件的功能特性。

  网易互娱质量保障中心数据中台通过大数据技术,结合机器学习、算法模型,实现了一套针对游戏奖励相关事件的监控体系。该系统通过简单灵活的规则配置,满足了不同游戏中各种丰富多样的奖励监控场景需求。以机器学习、算法迭代为核心,使用实时阈值、阈值预估、置信度计算、报警结果回溯跟踪等手段,降低误报,提高准确率。奖励监控系统目前已接入数十款网易互娱游戏,大幅度降低了接入游戏的奖励相关事故率。本次报告将从技术方面出发,介绍团队在奖励监控体系建立过程中的思考和成果。

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