- 博客(26)
- 收藏
- 关注
原创 PICCOLO论坛近期精选文章合集放送~
本文主要翻译自育碧的一篇博客(见原文),恰好motion matching 和learned motion matching都是育碧提出的,顺便就借着翻译这篇博客的机会来梳理一下motion matching的发展。我不太清楚具体Piccolo的定位是什么,是要做Games104的附属品,还是一个国内知名的游戏开发社区。潜水了几天,我也对于论坛有一些想法想和大家讨论,不过作为一个用户,相对PM注定是有信息差的,相信很多观点或建议早就被产品运营同学想到了或者不成立,所以更多是讨论论坛的运营逻辑。
2023-05-17 15:18:51
344
原创 刻画游戏氛围的“大气”,该如何实现? | GAMES104实录 - 现代游戏引擎:从入门到实践
天空和云层对于营造一款游戏的氛围起到了很大的作用,比如下图中的《地平线:西之绝境》和《艾尔登法环》中的游戏画面。艺术家们特别喜欢利用天空和大气来刻画游戏氛围,以影响玩家的情绪。这当中存在着两个元素,一个是天空,一个是云层。天空和云不能混为一谈,因为天空是一个抽象的球,在游戏中,我们可以认为天空的边界位于大气层上限处,而大气层外属于太空。但云层离地面很近,大约只有几百米到上千米。当云层移动时,我们会感觉到云层巨大的体量感。因此,天空和云需要使用截然不同的表达方法。
2023-05-17 14:59:49
467
2
原创 手把手教你在游戏引擎中实现地形系统 | GAMES104实录 - 现代游戏引擎:从入门到实践
有了地形的几何表达之后,我们接下来就需要给地形上色,也就是材质处理。我们先从最简单的方法开始,首先,地形上覆盖的仍然是各种材质。我们在上一节课中介绍了各种各样的材质模型,这里我们使用。如果需要将几种材质混合在一起,还需要一个,这个贴图的每个通道对应了一种材质的权重。我们可以通过艺术家画的一些笔刷将各种材质混合在一起。下图中的右下图虽然效果不佳,但很好地解释了什么叫做材质混合,这就是最简单的材质混合效果。这种混合将每个材质渲染的结果按照Alpha混合方法混合在一起,这种方法其实是有问题的。
2023-05-10 15:52:20
688
原创 给所有游戏引擎热爱者的邀请函
HEY,这里是Piccolo游戏引擎社区共创团队很开心地告诉大家:社区论坛上线了!Piccolo是一个面向所有游戏引擎探索者的社区。我们的目标是搭建游戏引擎爱好者的“聚集地”,让所有喜欢游戏引擎的朋友可以互相分享自己的经验和知识,交流想法,建立联系。
2023-04-27 14:16:39
255
原创 如何用0和1诠释我们生活的大地? | GAMES104实录 - 现代游戏引擎:从入门到实践
今天我们介绍如何渲染大自然,包括地形、大气和云的渲染技术。下图是游戏《荒野大镖客》中的截图,我个人认为是十分壮丽的,因为它完美地诠释了我们所生活的这个星球上的世界。大家可以看到日夜变换、阳光、云层、雨水、树木、山川河流等自然现象和景观。(关注公众号,回复关键词“课件”,获取10000+页课程PDF)对于游戏研发者来说,特别是图形工程师来说,最大的挑战就是如何将这些现象在虚拟世界中用0和1表现出来。GAMES104课程专注于讲解如何开发游戏引擎,而不是教大家如何使用现有的引擎做出上图中的效果。制作上图中的效果
2023-04-26 17:21:56
360
原创 经典3A游戏光照解决办法| GAMES104实录 - 现代游戏引擎:从入门到实践
下面我们介绍基于图像的光照(IBL,Image-Based Lighting)。一个点处的光照是来自于四面八方的,我们一般说来自于一个球面。在计算机中,我们可以用Cube Map来表达球面上的光照信息。如果我们将Cube Map展开,就是如下图所示的十字架图形。如果能够对真实环境的光照做一些预处理,我们就可以快速地将整个环境对着色点的光照和着色点处的材质通过卷积运算直接计算出来,这就是IBL的核心思想。前面我们介绍过球面调和函数,但球面调和函数的表达比较粗糙。它能够产生明暗的感觉,却无法达到我们想要的效果要
2023-04-20 17:52:21
370
原创 什么是迪士尼信条?| GAMES104实录 - 现代游戏引擎:从入门到实践
大家平时观察水面就会发现,离水面近的地方会看得更深,而离水面远的地方就会倒影出岸边的景象。Fresnel项的计算也可以用微表面方程推导出来,大约是一个五次方的计算公式。在图形学行业中,人们已经针对各种材质给出了相关的系数,大家可以自行调整相关系数,以得到符合自己期望的效果。现在,对于Cook-Torrance反射方程来说,我们只需要一个和粗糙度相关的参数α,再加上一个Fresnel参数项,就可以以物理的方式来表达一个材质。
2023-04-13 17:08:21
229
原创 上个时代的3A游戏,使用的是什么光照技术?| GAMES104实录 - 现代游戏引擎:从入门到实践
这样做也是有问题的,以前最经典的一个问题就是,地面上的光照贴图投射了一个阴影,角色走到这个位置时,这个阴影会将角色突然变黑,而当角色走开之后,又会突然变亮。对于每个光照探针,采样它的整个光场,当物体或角色在场景中移动时,就可以利用物体周围的光照探针中存储的光照信息,进行插值,计算出物体上的光照信息。的方法,在球面上撒无数个采样点,依次计算每个采样点的光照信息,以进行近似。因为对于游戏场景来说,90%的物体都不会移动,而太阳的角度也是固定的,因此我们可以通过空间换时间的思路,预先计算出光照信息。
2023-04-06 11:16:27
301
原创 渲染中光的数学魔法?| GAMES104实录 - 现代游戏引擎:从入门到实践
让我们从简单的渲染流程开始入手,暂时不考虑一些抽象的概念,比如辐射度、微面元、BRDF、球谐函数、积分、信号处理等。因为光场非常复杂,所以我们先对世界进行简化。首先,定义一个主光源(Dominant Light),主光源可以是方向光、点光源、聚光灯。在一个物体的表面上,会存在很多光场,我们无法详细得知这些光场的信息。然而,我们可以定义一个环境光(Ambient Light)。即移除主光源之后,环境施加在物体上的光。我们可以使用一个平均值来代替环境光,然后我们就得到了环境光的简化表示。
2023-03-29 15:19:39
210
原创 所有渲染,一个方程就可以表示| GAMES104实录 - 现代游戏引擎:从入门到实践
今天我们继续介绍渲染。我个人认为,第5讲是难度最大的一讲,我们花了很多时间来准备课件,但是我并不是特别有信心我们能够讲好。因为今天要介绍的主题所包含的内容特别丰富,如果将今天讲课的内容分成十节课来讲,也没有太大问题。今天讲座的主题就是绘制。在上一节课中,我们介绍了网格、材质、纹理等知识点。这些数据放在一起,GPU如何组织这些数据,如何处理这些数据?这时就需要GPU进行绘制。绘制就是渲染的核心。02「渲染方程及其挑战」绘制需要考虑的第一个问题就是光。光子从光源发射出来,经过反射被吸收或反弹,直至最
2023-03-22 11:51:35
693
原创 理解绘制系统,记住四点就够了 | GAMES104实录 - 现代游戏引擎:从入门到实践
经过上一节课,我们基本上就可以进行渲染了。(关注公众号,回复[课件],即可获取完整版课件)下面我们介绍另外一个很关键的概念——纹理压缩。渲染的一切基础都是可渲染物体,在可渲染物体中,有一个很重要的组件,叫做纹理。对于照片来说,我们一般会将其存成JPEG或者PNG格式,或者其他一些流行的图片格式。而在游戏引擎中,我们一般会将纹理压缩存储。大家知道,计算机会将照片进行压缩存储,对于未经压缩的BMP格式和经过压缩的图片格式来说,同一张图片所占用的空间可能会相差十倍以上。
2023-03-15 14:37:44
365
原创 如何高效渲染小型游戏场景?
本期为GAMES104《现代游戏引擎:从入门到实践》视频公开课文字实录第12期。本课程由GAMES(图形学与混合现实研讨会)发起,游戏引擎技术专家王希携手游戏引擎一线开发者共同研发。课程共计22个课时,将介绍现代游戏引擎所涉及的系统架构,技术点,引擎系统相关的知识。为配合学习实践,课程组在 GitHub 上开源了小引擎Piccolo,上线1个月即获得了2900+star, 累计下载量已超过20000+。01 「可渲染物体」在上一节课中,我们介绍过,游戏世界中的大部分物体都叫做“Game Object”(游戏
2023-03-08 13:41:42
443
原创 设计渲染系统,为什么要特别关注“显卡”? | GAMES104实录 - 现代游戏引擎:从入门到实践
显卡是一个非常伟大的发明创造。我们在第一节课中介绍过,现代游戏引擎之所以能够有突飞猛进的变化,就是因为随着独立显卡的出现,我们可以将这些复杂的运算用一台更高效的机器进行处理,这样可以释放出大量的CPU时间。同时,我们可以将画面越做越精细。因此,如果同学们想成为一个游戏引擎图形程序员,那么显卡就是你最好的伙伴。此外,现代游戏引擎中的绘制系统的很多基础设计,也是人们基于对现代显卡架构的理解而构建的。
2023-02-13 17:00:00
521
原创 游戏中的绘制系统,真正面临的挑战是什么? | GAMES104实录 - 现代游戏引擎:从入门到实践
从今天开始,我们开始介绍现代游戏引擎中一个很重要的部分,这就是绘制系统。绘制系统是现代游戏引擎中一个非常大的模块,我们会用四节课的时间给大家讲解游戏引擎的绘制系统是怎么实现的。
2023-02-07 16:58:57
373
原创 GAMES104实录 | 如何构建游戏世界(下)
今天为什么我们要花大量篇幅讲时序性的问题呢?因为当大家理解了什么叫做组件,什么叫做Tick,什么叫事件机制的时候,当每一个组件它去Tick,发消息,它的对象是在哪一帧,是它当前帧还是下一帧收到消息,收到消息之后是当场做动作,还是在等着做动作,这对游戏的核心逻辑影响是非常非常大的。
2023-01-17 14:48:57
295
原创 GAMES104实录 | 如何构建游戏世界(上)
上节课我们学习了游戏引擎的基础结构,知道现代游戏引擎基本上分为五层:平台层、核心层、资源层、功能层和工具层。有了这些知识,我们只是知道游戏引擎这个大厦长的什么样,但并不知道这个大厦里面的建筑、砖石、水电是怎么在一起工作的。今天这节课,将会是一节含金量非常高的课,将告诉大家该怎么去构建真正的游戏世界。
2023-01-03 11:29:42
727
原创 对谈 | “计算机学神”闫令琪:我不希望别人说Rendering已经没东西可解了
我还要继续学习图形学吗?是继续在学术界钻研,还是进入工业界?元宇宙的到来,就是图形学的春天了吗?以上,是我们常在后台收到的问题。于是,2022年8月,GAMES104课程组邀请了王希、闫令琪、胡渊鸣三位清华图形学大佬进行一次对谈。希望通过他们的回答,带你窥见更多的可能。你们说:在他们的对话中感受到了“热情”、“纯真”和“死磕的精神”。今天,我们将闫老师说的话整理成了完整的文字版,希望在图形学路上探索的你能从中得到收获,能记得“你的热爱”。
2022-12-19 10:00:00
4771
原创 GAMES104实录 | 引擎架构分层(下) part2
上节课简单介绍了游戏引擎的5+1个层次,以小明同学想做一个动起来的角色为挑战,介绍了资源层、核心层等具体内容。这节课讲游戏引擎架构分层的最后一节 —— 平台层和工具层。
2022-12-12 10:30:00
357
原创 GAMES104实录 | 引擎架构分层(下) part1
特别推荐同学们都学一点引擎的知识,学完这些东西的时候,比如面对一个剧情软件系统,你就不会慌张,你就知道它是怎么从底座往上一层层构建起来的。核心层这一层,实际上是操作系统。如果把Core Layer这层东西学完,我觉得你已经非常强了,因为核心层的代码质量要求非常高,而且轻易不要去动它。一般来讲,一个游戏引擎公司,可能有几十上百个开发人员,但是能写Core Layer的程序员不会很多,一般都是很资深的同学去写,因为一些核心的东西会放在这一层维护起来,要保证它的绝对安全性和效率。
2022-11-28 10:00:00
526
原创 GAMES104实录 | 引擎架构分层(中)
上节我们讲了游戏引擎的五层架构,这节课会真正给大家讲清楚现代游戏引擎的五层架构到底是什么,具体是怎么做的。学一个东西最好的方式是什么?是练习它。我们给小明同学出了一道难题:学了上节课,你觉得已经懂了游戏引擎怎么做,那就做个小小的挑战吧:在游戏中做一个可以动起来的角色,然后从下往上把这些代码写到游戏里面去。小明想,既然知道了引擎的五层架构,我就要去想每一个功能模块到底怎么写。这其实是一个非常有意思的脑力劳动,同学们可以先停一下,回顾一下我们讲的游戏引擎的五层架构:平台层、核心层、资源层、功能层和工具层。
2022-11-21 18:10:15
1725
原创 GAMES104实录 | 引擎架构分层(上)
今天,我们开始第二讲:游戏引擎的分层架构。在上一讲,跟同学们讲了研究现代游戏引擎的重要性,今天的这节课,将会真正进入到游戏引擎的海洋里,去理解它的内核,真正知道它里面有什么东西。
2022-11-09 19:05:27
1175
原创 GAMES104实录 | 游戏引擎导论(下)
游戏引擎的研发,某种意义上很像大学学的一门课程——数据结构。一开始它其实并不是一种科学,只是大家在工程实践中逐渐总结出来的很多方法。当我们做了足够多的实践,会发现需要一套体系化的方法把知识固化下来。你会发现在很多类似的问题上,这些方法、模式都可以重用。
2022-11-04 17:45:00
569
1
原创 GAMES104实录 | 游戏引擎导论(中)
《黑客帝国》是一部非常经典的20多年前的电影,新作《黑客帝国:矩阵重启》去年也上市了。《黑客帝国》构建了一个非常伟大的想法:我们是不是生活在一个虚拟世界?今天我们虽然能够感知到彼此,觉得好像生活在一个真实世界,但是,假如我们是缸中之脑呢?我们通过一系列的传感器和计算机模拟出一切的实际存在,而游戏引擎在过去的30年,做的一切事情都是在模拟一个虚拟世界。未来,当我们戴上VR眼镜、插上耳塞、穿上触感皮肤,我们可能无法区分是生活在一个虚拟世界还是真实世界。
2022-11-02 10:53:26
774
1
原创 GAMES104实录 | 游戏引擎导论(上)
首先,介绍一下我自己。我本科就读于浙江大学,在CAD&CG实验室——老牌的中国图形学的圣地。研究生的时候去了清华,在清华的同时,我去了微软亚洲研究院。在那个非常热血的时代,我们这群中国的科研小伙子们在老师的带领下,去挑战SIGGRAPH,去挑战全球最前沿的图形技术研究。到现在我还记得,那时候我们被关在小黑屋,老师跟我们讲:你们是中国科研的国家队,你们并不比Stanford、MIT的学生笨,你们一起去冲击这个顶级会议的论文。
2022-10-27 14:58:22
1739
1
原创 热爱游戏引擎的程序员在这儿集合
如今,在我们的游戏引擎社区里已经有许多的贡献者活跃其中,他们中有人是清华、北大、浙大的学生,也有人是字节跳动、阿里、腾讯、Epic Games、育碧等不同企业的一线开发者,还有世界各地优秀的艺术家、翻译者、创作者。
2022-10-26 13:51:02
494
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人