UWA学堂 | 中级课程汇总

UWA学堂 | 中级课程汇总

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

逻辑代码类

《Unity引擎Navmesh的导出及应用》
这篇文章向读者提供一个完整详细的解决方案。主要内容包括RecastNavigation的基本原理,Unity NavMesh导航数据导出的详细算法流程,同时附带的项目工程则包含了完整的导出算法的实现,数据存储以及导出数据在 RecastNavigation系统中的加载。

整个工程包含两部分:
工程一是基于RecastNavigation系统的导出算法和实现工程,构建后将输出DLL和 Bundle文件,作为Unity编辑器中的Native Plugin,来实现导出导航数据的功能,支持Win32/Win64/OSX64(OSX32需要自己使用旧版本 XCode设置和编译),同时还包括一个修改版本的RecastNavigation Demo,可以加载从Unity导出的NavMesh来显示;
工程二是一个Unity导出NavMesh的示例工程,使用了前者编译的插件来导出当前场景烘焙的NavMesh导航数据。

通过这个文章,你可以做到:
• 在Windows和OSX下通过Unity编辑器导出和Unity NavMesh近乎一致的数据到RecastNavigation
• 即时预览导出结果
• 导出数据模块和加载接口位于独立文件,方便接入RecastNavigation系统
• 自定义导出格式和文件读写接口
• 自定义加载和导出数据接口

《成熟的Unity热更新以及版本管理的解决方案》
如果正在头疼该怎么去做热更新,或者觉得当前自己的热更新方案不好用,本文可以为你提供一些思路。课程从实际项目上线后要解决的问题出发,分享了每个决策点为什么这么做,要解决什么问题,为什么不选择备选方案。主要包含以下内容:
版本号管理,让每一个版本号都有具体的存在意义;

  • 母包、热更新包的打包方式
  • 热更新包检测、下载以及使用细节
  • 如何做版本兼容,发了一个商店大版本,线上用户不更新商店也可以进游戏
  • 如何让热更新包尽量无冗余,尽量小
  • 简述另外一种热更新方案

《Unity项目热更新技术的性能分析总结》
针对主流热更新技术(基于C#和Lua)进行性能对比,以期让开发者找到最适合项目自身的应用方案和实现技巧。内容主要包括:

  • 主流热更新技术简介
  • 各方案原理、性能对比、适用场景
  • Lua性能瓶颈分析及其优化技巧

《DOTS深度研究之原理分析篇》
本文从DOTS 的组成和对性能的巨大提升效果入手,剖析了性能提升的基本原理与核心思想,并详细介绍了JobSystem、Burst Compiler和ECS等各个组成部分。目前 Unity 内部在转向 DOTS,各大游戏公司也会全面转向DOTS 开发,通过学习大家可以快速入门和掌握DOTS系统,以及实现将现有游戏转DOTS的方法。非常适合有相关需求的开发人员和对DOTS感兴趣的读者。

《用Lua打造类型系统:typesys》
据统计,有70%以上的游戏使用Lua来实现热更新,Lua的动态特性在带来便利的同时,也引入了“易出错、排查难、性能不可控”等一系列代码管理问题。这是很多技术团队都面临的问题,有经验的管理者都有比较完备的监管工具箱,但也有不少团队没有成熟的应对方案,随着开发内容的增多,常常被拖入泥潭。

本文作者侠懿老师,有超过10年的研发经验,早在2015年就开始使用Lua,独创了这套typesys类型系统,巧妙设计了生命周期托管、弱引用、对象池和垃圾回收等机制,不仅能为管理者提供监控信息以辅助管理,还可以约束编码的框架,避免错误,同时预留了监管扩展槽,以应对未来的新问题。

可以说,这是一套难得的好工具,课程附带源码,为了便于理解,还包含了一款使用typesys编写的小游戏,期待您在快乐的氛围中,掌握这套typesys类型系统,使您的开发工作如虎添翼。

《基于“typesys”实现串行脚本框架》
本课程是基于作者《用Lua打造类型系统:typesys》一文的进阶课程,需结合《用Lua打造类型系统:typesys》课程一起学习。

文章主要介绍了用Lua实现的串行脚本框架:LT-scriptsys。分别从“灵魂拷问”、“庖丁解牛”、“学以致用”、“抛砖引玉”这四个角度来详细阐述。读者朋友们能够在文章中与作者进行深度的思想交流,还能在最后拿到框架的完整源码。由于源码是基于typesys来编写的,所以学习过上一篇文章《用Lua打造类型系统:typesys》的读者可以即开即用。为了让读者朋友们能够形象且直观地感受本框架的应用,作者将上一篇文章中创作的小游戏《寻宝吧,冒险者》使用本框架重写了,并增强了乐趣体验,代码自然也是全部奉上。

《“typesys”接入Unity初体验》
文章主要介绍了Lua类型系统typesys是如何接入Unity的,以及接入后的使用范例。分别从“灵魂拷问”、“庖丁解牛”、“学以致用”、“抛砖引玉”这四个角度来详细阐述。读者朋友们能够在文章中与作者进行深度的思想交流,还能在最后拿到范例工程的源码。由于源码是基于typesys来编写的,所以学习过课程《用Lua打造类型系统:typesys》的读者可以即开即用。为了让读者朋友们能够形象且直观地感受typesys在Unity里的应用,作者将用其做第三人称3D游戏的基础3C(角色、相机和控制),能够直接在Unity运行看到效果。

本课程属于基础课程,适合所有读者。

特别说明:本课程的源码工程并不完整,需要将课程《用Lua打造类型系统:typesys》中lua-typesys的源码放到对应目录下才能正常运行。lua-typesys的包有更新,请同学们前往《用Lua打造类型系统:typesys》第5节下载最新版。

《UE4垃圾回收》
文章主要介绍了UE4垃圾回收系统的实现原理。UE4在C++上封装了对象系统,并添加了反射,从而实现基于C++的垃圾回收。开发者使用UObject时不用手动管理内存,兼顾了效率与便利。


UI类

《UGUI深度研究之源码鉴赏》
从UI的代码底层讲起,通过理解底层代码的原理来认知上层的有效优化方法。这里会从源码中深入分析UI网格重建的实现原理,并完成了提取触发UI重建的UI元素的代码实现,可以更方便更准确地定位引起UI性能问题的UI元素,从而有针对性地做优化。在分析Image、Text、Layout等部分源码的同时,也提出使用的注意事项。使开发者在UGUI制作及性能优化方面,更好地达到“知其然,知其所以然”的效果。

“UI开销如何优化?”、“如何定位引起重建的UI元素?”、“UGUI Text如何进行优化?”、“如何合理使用Layout?”、“在设置UI点击事件时有哪些注意事项?”等等这些常见的UI开发问题,都可以在这个专栏中得到解答。不管是行业新人,还是Unity从业者,相信都会有所收获。

《UI框架搭建:控件定制篇》
《UI框架搭建:消息重构篇》
《UI框架搭建:应用技巧篇》
整套框架分为三节课程讲解:第一课主要讲解控件侧的框架搭建,第二课进一步讲解消息流程框架搭建,最后一课则罗列了作者在研发过程中特别推荐的高级技巧操作。

《Unity UI模块优化案例精讲》
对UI模块常见的性能问题进行全方位的解析,具体分析UGUI和NGUI各自的优势和性能瓶颈所在,以及提升性能的主要方式,主要包括:

  • 如何降低界面的渲染开销
  • 如何降低界面的更新开销,以及避免峰值
  • 如何高效地处理大量HUD元素等

《Unity运行时动态图集的实现》
课程讲解了Unity运行时动态可复用图集的原理以及代码解析。同时提供动态不可回收但空间利用率更高的动态不可复用图集的解析和实现方案。

笔者使用动态图集可以将多个小图合并到一张图集中,从而达到减少Draw Call的目的。同时,通过算法管理图集的空闲区域与已用区域,从而达到动态回收无引用计数的纹理,进而实现在一张图集中动态管理当前UI系统中所用的真实纹理,该图集不仅可以常驻内存,且可达到永久复用的效果。


管理类

《棘手问题的解决之道》
本文作者选择了几个有代表性的研发相关的问题,将当时排查和解决过程尽量真实的进行还原。虽然产生这些问题的技术原因大都不具有通用性,但解决问题的思路和方法,以及事后进行的总结与反思,才是作者真正想传达的。

一些有难度的技术问题攻坚也是需要很强的问题解决能力,但项目中的疑难问题除了技术挑战之外,对主程其他方面的能力和心理素质也是一场考验。


制作类

《小游戏开发的技术难点与优化经验盘点》
整篇文章分为五个部分:立项、技术选型、遇到的问题及解决方法、优化策略和渠道接入。笔者从对小游戏市场的判断入手,阐述了小团队转型小游戏的可能性。从必要的知识储备出发,阐述了小游戏该如何做技术选型。

分多项阐述了开发过程中遇到的一些问题及易犯的错误,包括引擎的场景管理、资源卸载、美术标准、自定义Shader、C++代码转移及网络通信,阐述了团队使用的一些优化策略,主要集中在GC优化及CPU优化方面。最后从性能、SDK接入和变现策略三个方面介绍了团队在渠道适配上积累的一些经验。本课程属于进阶课程,适合想从传统手游开发转型到小游戏开发的读者阅读,或想评估转型可能性的团队参考。

《Unity游戏的换装系统优化》
本文主要介绍了游戏内换装系统的优化。尤其对于多人同屏,30人以上高并发的频繁换装需求,本文对帧率优化和内存优化均提供了详细方案和Demo代码下载,适合对Unity和引擎渲染有一定基础的读者。

《Unity项目中的美术规范制定与优》
我们通常认为优化处于游戏上线前的最后环节,但实际上,项目前期确定的制作规范和流程能为优化打下坚实的基础,规范与优化可相辅相成。本次报告介绍了美术规范的相关经验,主要内容包括:
(1)如何以优化为目的制定规范?通过规范来预估角色模型、动作资源的开销;
(2)项目中特效资源的制作、分级、测试、优化流程;
(3)怎样设计工具链让复杂的场景规范对美术透明。


资源管理类

《移动游戏加载性能和内存管理全解析》
基于UWA测评过的大量性能数据,对项目运行时的加载模块和内存模块进行了全方位的解析。结合大量的实际案例,让大家了解和掌握加载模块和内存模块在开发过程中需要注意的核心问题和相应的解决方案,主要包括:

  • 如何提升场景切换效率
  • 如何完善运行时的资源管理
  • 如何快速定位内存瓶颈
  • 如何快速查找内存泄露

《Addressable进阶实用方法》
本课程无缝对接上一篇学堂课程《Unity手游UI框架一站式解决方案》,学习实战项目中对资源管理系统的需求及运用。全新的10个章节涵盖了Addressable资产管理系统的全部用法和用途。课程提供源码支持,每个章节项目需求的应对手段都会用源码的方式展示。前部分讲解Addressable基础用法展示,后半部分拓展Addressable的框架,实现更多自定义的功能需求。可搭配UWA Blog连载的“Addressable基础篇”一同学习。全方位了解新版Unity的新一代资产管理系统的概念及用法。

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

《手游开发剑与盾:项目管理和质量保障》
在团队从核心逐渐扩大的过程中,必须要有一套稳定的项目管理流程来保障开发和进度,而针对海外机型普遍低端的客观情况,质量和性能则成为客户端的重点攻克目标。本次议题是项目管理和质量保障,就如同勇士的剑与盾一般,保障着游戏开发的品与质:
(1)项目管理和项目经理在游戏开发中的职能和重要性
(2)项目管理中常用的流水线
(3)开发期和运营期间,项目管理的策略和实战流程
(4)手游开发中质量的定义和理解
(5)如何保障手游开发所涉及的质量领域


测试

《Jenkins自动化打包详解》
文章主要介绍了利用Jenkins实现Unity的自动化打包发布,主要从以下几个方面展开介绍:

  • 什么是Jenkins,为什么要用它
  • 如何配置Jenkins和打包
  • Jenkins打包流程优化

《游戏客户端高可用性的探索》
课程从两方面分享有关移动游戏客户端的质量体系的经验和方法:
(1)为了达到游戏客户端的高可用要求,我们需要搭建哪些基础体系?并且如何能用好它们?
(2)怎样治理游戏客户端的性能和稳定性问题?如何用稳健的策略去发布我们的新客户端?

各品类头部游戏的争夺,也会是质量和技术博弈的舞台。在海量的玩家面前,谁的质量和稳定性更胜一筹可能就留住了玩家。移动游戏也可以像互联网大佬那样严苛地去挑战质量的极限。

希望通过本课程,能对准备着未来产生爆款游戏的开发者们产生更多的思考,迸发出更多创意性的火花。

《轻量级流水线结合方案助力打造高品质游戏》
在游戏版本高速迭代的今天,性能优化一直是一个很重要的命题,但是大部分团队面对日益繁重的研发压力,通常会把所有的性能优化环节放在最后,因此不得不面对优化成本大幅增加、开发周期大幅变长的问题。对此,我们提供了一种轻量级的流水线结合解决方案来解决这一问题。当我们把相关的性能检测由手动过渡到自动,把大量的优化工作前置到平时进行处理,把开发周期的末端节点的性能优化转变成开发过程中的性能保障,那么这一切都将迎刃而解。

整体的结构是由若干组件构成的,与CI工具进行结合,既可以视其为一条完整的工具链,也可以视其为一条完整的CI流水线,从代码检出到接入需要的工具进行检测、打包、检测结果的展示等一系列的流程。易于接入同时又以极低的维护成本穿插在整个项目开发周期之中。通过对项目的各种资源、场景、全局设置以及代码层面等等的维度进行全方位的检测,旨在有效地解放生产力,让研发更专注于功能和框架,让QA更专注于质量,为项目提供更智能、更简洁和更高效地护航。


渲染类

《Unreal引擎渲染效率解析》
在Unreal中,如何分析渲染部分的开销?如何定位渲染的瓶颈?在各类设备上如何制定合理的渲染配置?基于UWA的项目优化经验和数据统计分析,针对当前流行的渲染效果和常用技术做更进一步的解析,从而能够更高效地实现高品质的渲染效果。内容包括:

  • 渲染模块的开销分析与瓶颈定位
  • Unreal渲染模块中各种渲染效果性能开销总结

《Unity引擎渲染效率全解析》
Unity中各种高大上的渲染效果在实际开发中效率到底如何?如何去定位渲染中的性能热点?具体多大的渲染数据量算是合理的?基于UWA对各种不同类型游戏项目的优化经验和数据,针对当前流行的PBR以及实时阴影渲染技术做更进一步的详细介绍。为大家提高产品渲染效果、增加美术表现力提供合理有效的解决方案。内容包括:

  • Unity渲染模块中各种渲染效果性能开销总结
  • Unity中PBR渲染性能开销分析
  • Unity中阴影渲染性能开销分析

《如何实现角色的自阴影效果》
该篇文章可以让你理解如何在不使用光源的情况下,如何做出高效的自阴影效果。如果你希望对自阴影效果和代码实现有非常明确的理解,或者项目中恰好有自阴影效果的实现需求(但目前的实现方法又不够高效),那么,该篇文章绝对是你非常好的选择。

《光照贴图Lightmap初探》
光照贴图是游戏中很常用的一个技术,不同引擎都有相似但细节处又有很多不同的实现。本篇文章将从原理出发,梳理Unity/UE4等引擎的不同实现,并着重分析项目开发过程中常见但很容易被忽视的精度问题及解决办法,以及很多实际工程中会遇到的问题及对策。

可先阅读《Unity移动平台下的烘焙使用及优化》一文,再来进一步理解引擎底层的实现原理,以及当今世界上的主流Lightmap实现方法。

《Unity引擎景深实现原理剖析与优化》
该篇文章从基本的后处理渲染流程入手,学习DepthOfField渲染流程中的各个部分及原理,分别从如何通过深度图计算出模糊圈、计算焦外模糊效果,如何把模糊图与原图混合完成焦点清晰、焦外模糊的景深效果入手,通过剖析其每一步的原理与GPU耗时,分析思考对其进行优化,从而提高渲染效率。通过这篇文章的学习可以理解并掌握后处理性能优化的技巧。

《如何高效使用GPU Instancing技术来进行草丛渲染》
游戏中经常需要在一个屏幕内渲染大量重复的物体。例如一望无际的广阔草原,郁郁葱葱的原始森林,流光溢彩的满地珠宝等等。在Unity开发中遇到类似需求的时候,很容易碰到性能瓶颈,导致设备卡顿发热。本篇文章以草海渲染需求为例,详细介绍如何使用GPU Instancing技术进行渲染及性能优化。通过这篇文章的学习,你将直接掌握如何对场景中的海量重复物体(比如草海)进行高效渲染,以及在使用GPU Instancing功能时应该注意的方方面面。

《Unity PBR介绍及经验分享》
该课程来自于UWA DAY 2017年钱康来在会议上的视频讲座。主要讲解了他在当时项目中对于PBR的使用经验,特别是对于Standard Shader的深刻理解和优化经验。如果你希望了解Unity PBR功能的演变历史,以及在真实商业项目中的使用,该视频内容非常推荐你观看。

《基于Unreal引擎的大地形加载研究》
对于Unreal大地形制作的研究分享,让中国的开发者更直观地了解Unreal和Unity在大地形研发过程中的制作方法和性能比较。

《自优化的绘制流水线优化》
介绍了讲师近几年在绘制流水线上取得的一系列科研成果。首先介绍国际上创新提出的自优化(auto-tuning)的绘制流水线优化框架;其次介绍利用该框架开展的着色器(Shader)简化、能耗优化等多项技术,可应用于游戏、VR等实时应用中。

《画质与性能的权衡:如何使用可编程渲染管线(SRP)》
Scriptable Render Pipeline使用户能够更加灵活地控制Unity的渲染管线,以实现不同的渲染效果,同时也会带来不同的性能表现。这次报告将通过案例向大家展示LWRP,HDRP以及Custom SRP的使用,并通过数据来了解不同Pipeline的性能表现,以求让大家在开发过程中能够根据项目需求选择是否使用SRP以及使用何种SRP改进所用的管线。

《Unity项目从Gamma转Linear颜色空间的经验分享》
Linear颜色空间的转换是这两年大部分研发团队都在谈论的话题,从如何转变、到转变过程中所需要的工作流转变、再到转变后的各种特殊问题处理(比如UI、特效的半透问题,PBR结合的相关问题等),该篇文章进行了详细的说明和阐述。作者通过自己所经历的大量项目实战,来对Gamma转Linear过程中的关键问题进行了一一阐述和讲解。可以说,通过这一篇文章,你可以快速对行业内该方面的技能需求达到非常深刻和深入的理解。

《基于网格的GPU流体模拟》
文章主要介绍了基于网格的流体模拟的基本原理及其实现方式,分为4个部分。首先,简单介绍了流体模拟的概念,再是介绍相关的数学基础,然后在理论上从流体方程Navier Stokes入手,对其分解解析,逐步分析公式的每一部分的数学概念和解算过程,最后在Unity上通过Demo实现流体模拟的每一部分的计算并进行讲解。属于进阶课程,解算过程相对晦涩,适合有一定的图形学基础、数学基础或者Shader编程经验的读者。

《Unity和Substance Painter的Look Dev显示校准》
随着PBR制作流程在手游开发里逐渐发力,Substance Painter在美术绘制贴图方面开始发挥越来越重要的作用,如何让美术在制作美术资源时能够所见即所得地得到和游戏引擎一样的渲染效果,成为开发Look Dev阶段非常重要的一个流程。由于不同项目的渲染风格不同,Substance Painter默认的显示效果无法和Unity等游戏引擎中的渲染效果保持一致。本文介绍了一套基本的Unity和Substance Painter的Look Dev显示校准流程,能够适应不同的渲染材质、Tone Mapping算法,让美术同学在制作资源时可以得到近乎完全一致的渲染效果。

本文共分为四个部分:
1)首先简单介绍如何在Unity和Substance Painter里搭建简单的Look Dev环境,为后续流程做准备。
2)介绍Substance Painter中自定义Shader的原理,学习如何编写自定义Shader来得到和Unity一致的渲染效果。
3)介绍Substance Painter的Color LUT原理,学习如何根据Unity中自定义的Tone Mapping算法制作相应的Color LUT,以保证和Unity的渲染效果一致。
4)介绍如何制作通用的Substance Painter项目模板和贴图导出预设,至此完成一套基本的Unity和Substance Painter的Look Dev显示校准流程。

《URP从原理到应用——进阶篇》
自Unity 2018推出了SRP(可编程渲染管线)以来,基于SRP的基础又推出了URP和HDRP。SRP的出现具有跨时代的意义,内置渲染管线无法对开发者提供一些定制化修改接口,普通开发者无法去学习渲染管线,导致大部分开发者对这块知识都很匮乏,不利于个人成长。

笔者将《URP从原理到应用》分为基础篇和进阶篇。本文属于进阶篇,进阶部分主要介绍了整个URP实现的原理,内置渲染Pass的步骤,CPU的渲染数据如何传递到GPU中使用,光照阴影计算方法,CPU和GPU渲染管线的区别,如何自定义渲染管线以及Render Feature的使用,最后通过五个例子实现对渲染管线源码的定制、优化默认情况下四次RT拷贝带来的性能开销,背景模糊效果、后处理拓展、3D降分辨率UI高清分辨率等。


动画类

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

  • 动画系统的性能瓶颈现状
  • 动画系统中需要关注的重要性能参数
  • 针对各性能瓶颈的优化建议和解决方案
  • 对动画系统在多角色场景中的应用提出多种解决方案

《大规模动画模拟的一种实现方法》
你也想实现大规模动画模拟吗?看着别人场景的动态效果心动吗?

想在开放场景中实现大规模的动画提升场景的活力,增加场景细节以及丰富程度?本课程带你从思考问题开始,分析各种实现方式的利弊,并参考了《神秘海域4》的技术分享,最终实现了一套方案。完整地还原了思考问题以及解决问题的过程。

课程前5节均可免费试读,第6节提供了Demo所有的核心代码。抛砖引玉,本文展示的是蝴蝶群的场景动画,课程实现的效果并不只局限于此,可以举一反三将其应用到其它类似的需求上,增加场景的丰富程度和活力。


综合类

《如何让你的游戏性能转危为安?——UWA性能保障体系》
本文详细介绍了UWA性能保障体系,并通过具体实例来系统说明研发团队如何根据UWA性能保障体系来保证游戏项目研发过程中性能问题的及时定位和及时解决。通过本次报告,研发团队可以掌握如何通过优化研发流程来达到持续保障游戏项目开发的健康性和高效性,以此降低项目的研发时间和成本。

《品与质主题演讲》
UWA已为超过2000个游戏团队提供了技术支持服务与产品,在近年来的实战服务中,我们进一步拓展和完善了UWA性能保障体系。本次报告将通过大量的实例来讲解UWA与各个研发团队在性能保障和质量管控方面的落地合作与实操经验,主要内容包括:
(1)如何有效监控游戏项目的重要性能参数;
(2)如何合理使用自动化性能测试来降低人力成本;
(3)如何在研发过程中快速搭建性能保障体系等。

通过本期课程,我们希望研发团队可以进一步掌握如何通过优化研发流程来达到持续保障游戏项目开发的健康性和高效性,以此降低项目研发时间成本和人力成本。

《天谕》手游的内存控制
作为一款次时代、大世界的MMORPG手游,《天谕》手游在性能方面一直以来就面临着巨大的挑战。本次分享将聚焦在内存控制上碰到的问题及解决方案。主要内容包括:
(1)内存的基本概念
(2)UWA等Profile工具和内存优化流程
(3)基于budget和分级的内存控制策略
(4)资源(贴图 mesh 动画 shader)
(5)MONO的内存
(6)Lua的内存

《基于Unity SRP的手游渲染之道》
2010年,iPhone4横空出世,开启手游时代。十年来,手游行业慢慢从蓝海变成红海。在2020年的今天,仿佛手游只剩下了两条路,要么就是玩法取胜,抓住用户的心;要么就是精品化,抓住用户的眼。这期间,手机硬件在升级,游戏引擎也在不断变化。终于,在2018年夏天,Unity提出了SRP的概念。本次课程讲师作为一名3D行业十年的老兵,聊一聊基于Unity SRP的手游渲染之道。

《手中的银河》
《第二银河》作为紫龙游戏 Blackjack Studio自研的一款太空科幻类沙盒游戏,开发周期长,游戏内容多,技术难度高。为了满足全球同服、千人团战、浩瀚宇宙空间探索等基本游戏特色的需求,开发团队经历了一次次技术迭代,攻克了一个个技术难关,以向玩家提供最好的游戏体验为目标。本次报告将从客户端和服务器两个角度出发,分享《第二银河》的开发经验,主要内容包括:
(1)大型战斗中同屏大量渲染内容的处理,包括海量的飞船、炮弹和特效等,着重在Drawcall和Overdraw两个方面的处理方式;
(2)大型战斗中CPU端巨量的飞船运动模拟的优化,以应对不同运动方式模拟所对应的大量的数学计算;
(3)大量玩家带来的巨量协议的处理压力,特别是大范围技能使用的时候,客户端短时间内大量协议数据的处理方式的分享;
(4)其他方面的优化,包括序列化、Unity动画状态机、美术资源内存占用、Mono堆内存和UI模块的优化等。

把不寻常的路走到底-聊聊《帕斯卡契约》从立项到上线
介绍《帕斯卡契约》从项目立项到上线的整个过程中遇到的机遇、困难、挑战以及如何解决这些问题的心得。将从技术、商业和情怀各方面谈及这个项目的方方面面,探讨买断制主机向手游的风险和机遇,以及运营心得。

希望通过这节课程嘉宾讲师的回顾,能让大家了解到《帕斯卡契约》这个非寻常项目的开发历程。伴随手游开发越来越多样化,相信以后有越来越多的团队会进行这方面的尝试,希望这条走出的路能给大家带来帮助和启发。

手游《战双帕弥什》的核心技术分享
《战双帕弥什》是一款末世科幻题材的3D动作手游,作为动作手游,研发团队在战斗安全性和技能特效模拟方面进行了深入的研究。本次报告将分享《战双帕弥什》项目的核心战斗安全性和大规模粒子特效模拟两方面所总结的经验,主要内容包括:
(1)核心战斗安全性保障
(2)动作游戏的手感保持
(3)大规模粒子特效模拟
(4)高性能 GPU 粒子特效研究
(5)粒子特效如何进行数据压缩

《Console级写实画面游戏的技术探索之路》
3A单机游戏的研发一直是国内游戏行业的痛。国外3A游戏普遍在拟真度上有非常高的水平,无论画面还是动画都力求逼真,这不仅仅考验渲染技术的水平,同时也对美术资源品控、生产效率、写实动画制作和动画融合技术带来巨大的挑战。本次报告分享了嘉宾讲师所在团队历经两年摸索积累的一些经验和教训。包括:
(1)前言及《黑神话·悟空》Demo展示
(2)写实画面的光和影
(3)我们需要做什么?
(4)手游的高品质与高性能


其他类

《轻量级Web3D引擎关键技术及移动网页在线可视化示范应用》
课程讲师所在团队针对Web3D的三大瓶颈(数据量太大而导致的服务器端出口瓶颈、因网络传输速度慢而导致的带宽瓶颈、因网页浏览器计算力不足而导致的视觉效果差与渲染速度慢的网页端渲染瓶颈)问题进行了长期的研究,并提出了一个系统的轻量级细粒度化解决方案。

首先提出了大规模3D场景的轻量化与细粒度化方法,在保证模型细节与精度的前提下,将其组织成适合移动互联网的轻而细的场景图表达方式。透过将渐进式传输与对等传输的耦合,提出了基于兴趣度的渐进式对等传输调度机制,尽可能提升Web3D场景在线即时加载的流畅性。

最后提出了轻量级Web3D全局光照在线渲染管线,即云端仅烘培Lightmap,再将其传到网页端并贴在相应模型上,这使得云端计算的强度与频度以及网络带宽消耗都得以大大降低,在网页端成功实现了全局光照的在线渲染。

在长期的项目实践中,上述轻量级关键技术也逐步集成为轻量级Web3D引擎,课程在线展示了利用该引擎实现的若干移动WebVR/WebGame/WebBIM案例,这些手机在线案例充分展示了该技术路线的先进性及其在线可视化应用的广泛性。并涉及5G时代的移动三维网页游戏的轻量级Web3D引擎的介绍。

初级课程传送门高级课程传送门