机器学习,尤其是深度学习,在很多行业中的应用已经如火如荼,但在游戏行业中的应用却方兴未艾,学术界相关的工作和业界的落地案例开始越来越多。这篇文章会列举一些机器学习在游戏行业中的应用场景,不涉及具体的技术实现。视频来源可在文末参考查找。
动画
游戏涉及到的功能模块很多,由于作者近期的工作内容和动画相关,所以先从最熟悉的部分讲起。
1.1 动作控制
游戏中会有很多动态角色,而这些动态角色最常做的动作是位置移动,也就是从一个地点移动到另外一个地点。我们可以使用手柄、键盘等外设来控制角色的位置移动。大多数游戏的动作控制方法是状态机[1],状态机的优点是可以给用户非常快速的反馈,缺点是随着游戏规模的增加会变得越来越复杂,难以维护[2]。在2016年的GDC上,育碧介绍了一个新的动作控制方法Motion Matching[3],它降低了动画系统的维护难度,同时也提高了动画的生成质量。这个方法首先在游戏《荣耀战魂》中落地,后来被应用在诸如《The Last of Us Part II》、《Control》等写实类风格的游戏当中。Motion Matching的主要问题是需要把动画数据放在内存中,并且要在这些动画数据中做实时的搜索,所以动画的数据量不能太多(几百MB的级别),否则会占用太多内存,搜索也会变慢。基于机器学习的动作控制方法[4-9]可以在保留Motion Matching易用性、高质量的同时,减少对存储的占用。我们可以使用GB级别的动画数据集,训练出一个MB级别的深度模型,用这种方式自动去除动画数据中可能存在的冗余,并将大量的动画信息“压缩”在深度模型参数中。由于浓缩了大量的动画信息,基于机器学习的方法可以生成更加富于变化的动作。下面的视频来自一个基于机器学习的动作控制方法Learned Motion Matching[5,6],可以看到这个方法生成的动作质量很高,同时,它的内存占用只有使用相同动画数据的Motion Matching方法的三十五分之一。当然,基于机器学习的动作控制方法也有自己的问题,比如复杂度通常比传统方法高、可控性比传统方法差等。
[ 视频画面1:Learned Motion Matching动作控制算法的效果,视频出自[6]。]
上面提到动作控制方法属于“行为学控制”(kinematic control),也就是直接通过控制关节的位移、旋转来让角色动起来。另一类动作控制方法叫做“动力学控制”(dynamic control ),具体实现与我们在真实世界中控制机器人很类似,需要使用物理控制器对关节施加内力,并综合角色受到的外力来进行物理仿真,进而驱动角色的运动。使用动力学控制可以让我们的角色更好地与环境互动,产生更逼真的动作,比如与环境中物体的碰撞、角色在开车或攀爬时身体由于惯性的自然晃动等。传统的方法一般是在行为学控制的基础上,通过对部分关节添加动力学控制来实现角色骨骼的物理仿真效果,对细节感兴趣的同学可以参考顽皮狗的这个讲座[10]。对全身骨骼做物理仿真通常只有在角色死掉的情况下才会使用,因为用物理控制器让角色用“拟人”的方式移动并不容易,尤其是对于双足角色,即使像波士顿动力Atlas这样灵活的双足机器人,它们的动作对游戏来说也还不够“拟人”。近些年,越来越多的工作[11-15]开始使用强化学习来训练物理控制器,这些物理控制器可以控制全身骨骼,让角色使用拟人的动作来完成指定的任务。比如在下面的视频里,角色被外力拽倒后仍然顽强的爬起来,继续按照给定的速度前进移动。角色的物理动画一直被认为是动画技术的未来,机器学习让我们离未来更近了一步。
[ 视频画面2:使用强化学习训练出的物理控制器,可以控制全身骨骼,让角色使用拟人的动作来完成指定的任务。在这个视频里[16],角色因为外力摔倒后仍然可以顽强的爬起来,继续按照给定的速度前进。]
1.2 过渡与融合
在游戏或过场动画中通常会涉及到一段位移动画向一段交互动画的“过渡”(或称为衔接、切换),比如从走路过渡到坐椅子,从跑步过渡到开门等等。传统的过渡方法使用镜头切换或者一个固定的过渡位置。镜头切换会破环画面的连贯性,而固定的单一过渡位置会让动作看起来单调,缺乏变化。GDC上的这个讲座[17]介绍了一种使用多过渡点的方式,效果不错但开发和调试都会比较麻烦。使用机器学习的方法[18-21],我们可以进一步将多过渡点拓展为一片“过渡区域”,在这个区域内的任意位置都可以开启过渡,这样可以提高动作的连贯性。同时,这样的算法只需要前一段动画的末尾几帧和后一段动画的前几帧作为输入,所以使用起来非常方便。我们与浙大在2022年的SIGGRAPH上发表了一个使用机器学习生成过渡动画的方法[21],下面的这个视频展示了这个方法的效果。除了到交互动画的过渡,我们还利用这个方法来生成各种位移动画之间的过渡,来优化动作控制算法的表现。
[ 视频画面3a:动画中间帧补全算法[21]的效果,其中橙色姿态来自关键帧,蓝色姿态为使用关键帧生成的中间帧。]
[ 视频画面3b:动画中间帧补全在FIFA 22's中的效果[65]。]
除了过渡,我们还可以对多段动画做“融合”来生成新的动画。比如,融合“走”和“跑”来生成速度介于走跑之间的动画;在射击模式下融合几段不同脚步移动方向的动画,来实现任意方向的脚步移动。这些周期性动画的融合相对简单,但对于一些复杂的情况,比如下面的视频中不同身体部位的动作融合,基于机器学习的方法[22]效果要优于传统方法。
[ 视频画面4:融合上方Reference1和Reference2两个动画,融合的部位在Layer Mask中显示。下方对比了三种方法的效果,从左到右分别是Joint Angle Layering,Neural Layering和IK Layering,其中Neural Layering[22]是基于机器学习的方法。]
1.3 动作捕捉与动画编辑
动作捕捉在影视、动画、游戏、机器人、体育训练等场景中被大量使用。在游戏中,我们经常使用动作捕捉来快速生产写实的动画。动作捕捉的方法有很多,从机械动捕、电磁动捕,到光学动捕、惯性动捕,再到低成本的计算机视觉动捕。其中光学动捕的精确度高(毫米、亚毫米),标记点(marker)的放置灵活,所以是游戏行业中经常被使用到的动捕方法。但由于自遮挡、快速运动等原因,一些标记点的位置会出现较大的误差,甚至会与周边的标记点混淆。机器学习可以帮助我们对标记点的位置信息做降噪处理,恢复出标记点的正确位置。下面的视频来自Daniel Holden在GDC 2019上的演讲[23],可以看到使用机器学习做降噪处理的显著效果。
[ 视频画面5:在GDC2019上Daniel Holden介绍用机器学习做动捕数据降噪的效果[23]。]
除了降噪,动画师还经常需要对动捕后的数据做离线的编辑,比如修改它的移动速度、起止时刻的角色位置和角色朝向等。在游戏中,我们也可能需要对动画做实时的编辑,比如控制NPC的脸朝向主角、控制主角的手伸向掉落在地面的物体等等。这些场景下我们会用到Inverse Kinematic(IK),也就是通过手、脚或头关节在全局坐标系(世界坐标系)中的变换(包括位置和旋转)来反推这些关节以及其他需要联动的关节在局部坐标系(父关节坐标系)中的变换。为了使编辑出的动画更真实,我们会尽量使用更多的联动关节。在Full Body IK中,所有身体关节都会参与到IK过程。而Full Body IK可以使用机器学习来实现,效果要优于传统方法。
[ 视频画面6:使用基于机器学习Full Body IK参考剪影来给角色摆pose,视频来自[24]。]
除了使用IK来编辑手、脚、头的位置外,我们还可以使用机器学习在更高的语义层级上对动画做编辑。比如对动作的风格做转换[25-30],将男性风格的动画转换成女性风格,将中年人风格的位移动画转换为老人或者小孩的风格等。
[ 视频画面7:文献[28]的风格转换效果,可以从一种风格连续的过渡到另外一种风格。]
1.4 剧情对话与多模态动画生成
在剧情动画中通常会有很多对话场景,会涉及到角色嘴唇、舌头、目光、眨眼、表情、头部和身体的动画。对于追求高质量的镜头,这些动画可以通过对演员全身的动作捕捉来实现。但为了节约成本和开发时间,对于一些并不十分重要的剧情,只有演员的语音会被录制下来,甚至对语音的录制也可能会被文本转语音技术(Text To Speech)替代。机器学习可以通过语音来生成动画。在2019年的GDC上,来自育碧的Francois Paradis介绍了《刺客信条:奥德赛》中使用的程序化生成剧情对话系统[31],其中机器学习被用来定位英语语音中的音素,因为音素与嘴型有对应关系,所以可以被用来生成嘴型动画。对于非英语的语音,如法语、西班牙语、日语,《刺客信条:奥德赛》使用了Ubisoft La Forge开发的基于机器学习的语音转动画方法,这个方法可以直接将语音映射成嘴型动画,下面的视频展示了它的效果。
[ 视频画面8:Ubisoft La Forge开发的语音转嘴型动画在《刺客信条:奥德赛》中的效果。]
在《刺客信条:奥德赛》中,除了嘴型动画,其他身体部位的动画并没有使用机器学习来生成,而是使用人工标签和剧本关键词,在动画数据库中搜索最相关的片段。在学术界已经有一些通过语音来生成肢体动作的研究[32],生成的动作与语音的节奏搭配度很高,但动作细节以及生成内容的可控性还有待提高。
[ 视频画面9:文献[32]提出的方法可以通过语音来生成肢体动作,而且还可以通过动画样例来控制生成动作的风格(如高兴、愤怒、害怕等)。]
通过语音来生成嘴型、肢体动画是多模态动画生成技术中的一种。除此之外,其他的多模态动画生成技术还有很多,比如用音乐来生成舞蹈[33]、用文本来成动画[34,35]等。随着这些技术的成熟,相信它们在游戏中都可以找到应用场景。
物理仿真
除了使用手工关键帧、动作捕捉等方法外,我们还可以使用“物理仿真”让游戏中的对象动起来。比如奔驰在道路上的车辆、被子弹击碎的玻璃、飘荡的裙摆、流动的河水等等,包括上一节中提到的使用动力学控制的角色,这些对象的动态效果都可以使用物理仿真来生成。
按照仿真对象的不同,物理仿真大体可以分为刚体仿真、柔性体仿真和流体仿真。他们使用到的数学建模方式不尽相同,对应的解算方法也各有千秋。这些解算方法的效果和复杂度差异较大,效果更好的方法通常运行速度也更慢。我们可以使用复杂度高但效果更准确的物理仿真方法来为机器学习生成训练数据,再用训练出来的模型模拟解算过程,这样就可以实现物理仿真若干个数量级的加速。下面的几个视频给出了一些使用机器学习实现物理仿真的例子。
[ 视频画面10:EA的Swish[36]使用机器学习的方法模拟贴身布料的动态效果。]
[ 视频画面11:育碧提出的基于机器学习的柔性体交互方法[37]。]
[ 视频画面12:Unreal的ML Deformer[38]对肌肉动态效果的模拟。]
[ 视频画面13:使用机器学习加速流体模拟[39]。]
建模与渲染
游戏中常用“网格(Mesh)”来表达形状,比如三角形网格、四边形网格等,这些网格虽然自身简单,但组合在一起就可以表达非常复杂的形状。为了对游戏对象进行渲染,除了需要对形状进行建模外,我们还需要对游戏对象的材质以及环境光照进行建模。为了实现真实的渲染效果,我们通常会使用”图像”来表达材质和光照中的一部分重要信息。基于机器学习的建模与渲染方法,很多会使用神经网络来隐式的表达形状、材质、光照信息(如[40-42]),并在神经网络的推理过程中实现渲染。由于表示方式和渲染方式的差异,如果要将这样的基于神经网络的方法融合到当代的游戏渲染管线当中,需要付出的转换成本会是比较高的。另有一类基于神经网络的方法,使用可微渲染来显式地重建出用网格表达的形状以及用图像表达的材质和光照[43],这样的重建结果就可以直接在游戏引擎里使用。这类方法还可以被用来减少网格模型的面数,从而达到降低渲染耗时的目的。
[ 视频画面14:从一组图像中重建形状、材质以及环境光照[43]。]
除了上述同时对形状、材质、光照进行建模的方法外,更多的方法单独对其中的一部分属性进行建模,比如在已知其他属性的前提下单独重建材质[45]、单独重建光照[45,46]等。
[ 视频画面15:使用单张图片重建梭织纤维材质[44]。]
高质量的渲染方法同时也有很高的计算复杂度,所以机器学习在渲染过程中的另一个应用场景是降低渲染复杂度。英伟达在这方面有很多成功的实践,比如用深度学习来做超分和插帧[47],从而提高渲染的分辨率和帧率,同时消除锯齿;使用基于机器学习的辐照度缓存(Irradiance Caching)[49]来加速路径追踪渲染(Path Tracing)等。
[ 视频画面16:通过空间域的超分与时域的超分提升游戏画面质量[47]。]
PCG
第一节中提到了育碧的程序化生成剧情对话系统,它是程序化内容生成(Procedural Content Generation PCG)技术的一个例子。除了用来生成剧情对话相关的内容(动画、角色占位、相机位置、灯光等),我们还可以用程序化的方式生成更多类型的内容,比如关卡、地形、水体、道路、建筑、植被、角色、纹理、音乐、语音、美术原画、对话文本、叙事文本等等。传统的PCG技术大多是基于语法规则、随机信号、搜索、解算等方法。基于机器学习的PCG方法[49-52]在实际游戏中的应用目前还不多见,但随着游戏数据的不断积累和AIGC技术[53-56]的升温,机器学习在游戏内容生成中起到的作用应该会日渐凸显,尤其在3A大世界游戏的开发中想必会发挥越来越大的作用。
[ 视频画面17:使用机器学习的PCG道路生成[52]。]
AI
游戏AI是目前机器学习在游戏行业中应用最广泛的场景。从2016年AlphaGo在围棋上超越人类顶级玩家后,业界对基于机器学习尤其是基于强化学习的游戏AI热情持续升温,应用范围不断扩展:从2D雅达利类型游戏扩展到3D大世界类型游戏;从单智能体AI扩展到多智能体AI;从棋牌游戏扩展到RTS(星际争霸)、MOBA(王者荣耀、Dota2)、格斗(金属对决)、竞速(QQ飞车)、FPS(穿越火线、使命召唤),再到研发通用游戏AI;游戏AI的作用也从对抗、陪玩,扩展到寻路、关卡bug测试、数值平衡测试等。相较于与真实世界,游戏中的虚拟世界是强化学习更好的试验场,游戏AI可以向人类玩家学习,也可以在不断试错中自我学习。由于物理仿真技术的拟真度越来越高,在虚拟世界中学习到的经验还可以反哺到真实世界中,加速真世界的智能体研发步伐。同时,我也非常期待数字人在虚拟世界中大放异彩,在大世界游戏中成为玩家与虚拟世界的重要交互渠道。
[ 视频画面18:基于强化学习的智能寻路算法[57]。]
其他
6.1 网络同步
在网络游戏中,我们需要互相同步每个客户端以及服务器上的游戏对象状态。常用的网络同步方法包括状态同步、帧同步、快照同步[58]等。由于所处地域的差异,不同客户端以及服务器之间存在着网络延时。对于一些容易预测的对象(如车辆),我们可以使用外推的方法通过分析这些对象的历史状态,来预测它们在未来时刻的状态,从而降低网络延时的影响。基于机器学习的方法可以从大量过往数据中学习,减少对手动调参的依赖,提升开发效率。根据我们的经验,以车辆位置同步为例,相较于传统方法如Projective Velocity Blending[59],基于机器学习的方法在高延时的情况下优势明显。
6.2 音频
根据我有限的了解,目前基于机器学习的音频技术在游戏行业中的应用还很少见,但很多都已经展现出了巨大的潜力。比如文本转语音技术可以用来为NPC配音,音色转换技术可以让一位配音演员为游戏中的所有角色配音;音乐AIGC技术可以为游戏生成背景音乐,音乐编辑技术可以改变背景音乐的节奏来适配游戏情节的紧张度;语音识别技术可能会被大规模应用在AR/VR游戏中的人机交互当中等等。
6.3 研效
育碧在尝试结合机器学习与搜索的方法来预测代码提交中是否存在Bug并推荐Bug的解决方案[60]。Uber使用传统的机器学习方法[61]预测一个commit或多个commits组合的构建成功概率,从而提高大规模并行提交情况下的代码构建效率,保证主干的持续可用状态。我们还可以让大语言模型Large language models (LLMs)[62,63]来帮助程序员写代码(非常期盼这项技术大的大规模应用,提高咱程序员们的生活质量)。
6.4 运营
在运营方面,游戏与其他互联网娱乐方式存在很多共性。比如都需要做推荐,游戏平台向玩家推荐他们可能感兴趣的游戏,或者游戏商城向玩家推荐角色、装备、皮肤;做内容的审核保证合规;做舆情分析,获取游戏在玩家中受欢迎的程度;做二次内容生成(如精彩游戏片段集锦)投放到流量平台从而提升游戏热度。上面提到的这些运营相关的活动经常会使用到基于机器学习的方法。除此以外,我们还可以用机器学习的方法来做玩家匹配、做反作弊、甚至做游戏直播解说等等。
总结
机器学习在游戏的设计、开发、运维阶段都可以找到用武之地,但在技术落地过程中会遇到一些困难。比较常见的困难有两个,一个是训练数据不足,另一个是复杂度较高,而这两方面的问题其实都有各自的解法,前者可以使用迁移学习和相对小规模的落地场景数据对相关大数据训练出的模型做调优,后者有越来越普及的AI硬件加持等等。相信机器学习在游戏行业中的应用会变得越发普及,并帮助我们更快速地打通虚拟世界与现实世界的屏障。图片
| 参考:
1. UE中的状态机: https://docs.unrealengine.com/5.1/zh-CN/state-machines-in-unreal-engine/
2. Daniel Holden, Character Control with Neural Networks and Machine Learning, GDC2018.
3. Kristjan Zadziuk, Motion Matching, The Future of Games Animation...Today, GDC 2016.
4. Daniel Holden, et al., Phase-functioned Neural Networks for Character Control, SIGGRAPH 2017.
5. Daniel Holden, et al., Learned Motion Matching, SIGGRAPH 2020.
6. Introducing Learned Motion Matching, https://montreal.ubisoft.com/en/introducing-learned-motion-matching/
7. He Zhang, et al., Mode-Adaptive Neural Networks for Quadruped Motion Control, SIGGRAPH 2018.
8. Sebastian Starke, et al., Neural State Machine for Character-Scene Interactions, SIGGRAPH Asia 2019.
9. Sebastian Starke, et al., Local Motion Phases for Learning Multi-Contact Character Movements, SIGGRAPH 2020.
10. Michal Mach, Physics Animation in 'Uncharted 4: A Thief's End', GDC 2017.
11. DeepMimic, Xue Bin Peng, et al., DeepMimic: Example-Guided Deep Reinforcement Learning of Physics-Based Character Skills, SIGGRAPH 2018.
12. Ye Yuan, et al., Residual Force Control for Agile Human Behavior Imitation and Extended Motion Synthesis, NeurIPS 2020.
13. Xue Bin Peng, et al., AMP: Adversarial Motion Priors for Stylized Physics-Based Character Control, SIGGRAPH 2021.
14. Xue Bin Peng, et al., ASE: Large-Scale Reusable Adversarial Skill Embeddings for Physically Simulated Characters, SIGGRAPH 2022.
15. Heyuan Yao, ControlVAE: Model-Based Learning of Generative Controllers for Physics-Based Characters, SIGGRAPH Asia 2022.
16. DeepMimic and AMP code, https://github.com/xbpeng/DeepMimic
17. Almudena Soria, Animation Prototyping in 'Uncharted 4', GDC 2017.
18. Félix G. Harvey, et. al, Robust motion in betweening, SIGGRAPH 2020.
19. Yinglin Duan, et al., Single-Shot Motion Completion with Transformer, ArXiv 2021.
20. Boris N. Oreshkin, et al., Motion Inbetweening via Deep Δ Interpolator, Arxiv 2022.
21. Xiangjun Tang, et al., Real time Controllable Motion Transition for Characters, SIGGRAPH 2022.
22. Sebastian Starke, et al., Neural Animation Layering for Synthesizing Martial Arts Movements, SIGGRAPH 2021.
23. Daniel Holden, A New Era of Performance Capture with Machine Learning, GDC2019.
24. Boris N. Oreshkin, ProtoRes: Proto-Residual Architecture for Deep Modeling of Human Pose, ArXiv 2021.
25. Huaijun Wang, et al., A Cyclic Consistency Motion Style Transfer Method Combined with Kinematic Constraints, 2021.
26. Yu-Hui Wen, Autoregressive Stylized Motion Synthesis with Generative Flow, CVPR 2021.A Deep Learning Framework for Character Motion Synthesis and Editing
27. Deok-Kyeong Jang, et al., Motion Puzzle: Arbitrary Motion Style Transfer by Body Part, SIGGRAPH 2022.
28. Kfir Aberman, et al, Unpaired motion style transfer from video to animation, SIGGRAPH 2020.
29. Ian Mason, et al., Real-Time Style Modelling of Human Locomotion via Feature-Wise Transformations and Local Motion Phases, Proceedings of the ACM on Computer Graphics and Interactive Techniques, 2022.
30. Daniel Holden, et al., A Deep Learning Framework for Character Motion Synthesis and Editing, ToG 2016.
31. Francois Paradis, Procedural Generation of Cinematic Dialogues in Assassin's Creed Odyssey, GDC2019.
32. Saeed Ghorbani, ZeroEGGS: Zero-shot Example-based Gesture Generation from Speech, ArXiv 2022.
33. 跨模态转换-音乐生成舞蹈, https://zhuanlan.zhihu.com/p/149117246
34. Mingyuan Zhang, et al., MotionDiffuse: Text-Driven Human Motion Generation with Diffusion Model, ArXiv 2022.
35. Yuan Ye, et al., PhysDiff: Physics-Guided Human Motion Diffusion Model, ArXiv 2022.
36. Chris Lewin, et al., Swish: Neural Network Cloth Simulation on Madden NFL 21, SIGGRAPH 2021.
37. Daniel Holden, Subspace Neural Physics: Fast Data-Driven Interactive Simulation, SIGGRAPH 2019.
38. Using the Machine Learning Deformer, https://docs.unrealengine.com/5.0/en-US/using-the-machine-learning-deformer-in-unreal-engine/
39. Kiwon Um, et al., Liquid Splash Modeling with Neural Networks, Computer Graphics Forum 2018.
40. Ben Mildenhall, et al., Representing Scenes as Neural Radiance Fields for View Synthesis, ECCV 2020.
41. Stephan J. Garbin, et al., High-Fidelity Neural Rendering at 200FPS, ICCV 2021.
42. Thomas Müller, et al., Instant Neural Graphics Primitives with a Multiresolution Hash Encoding, SIGGRAPH 2022.
43. Jacob Munkberg, et al, Extracting Triangular 3D Models, Materials, and Lighting From Images, CVPR 2022.
44. Wenhua Jin, et al., Woven Fabric Capture from a Single Photo, SIGGRAPH Asia 2022.
45. Jun-Peng Xu, Rendering-Aware HDR Environment Map Prediction From A Single Image, AAAI 2022.
46. Marc-Andre Gardner, Deep Parametric Indoor Lighting Estimation, ICCV 2019.
47. NVIDIA DLSS 3: AI-Powered Performance Multiplier Boosts Frame Rates By Up To 4X, https://www.nvidia.com/en-us/geforce/news/dlss3-ai-powered-neural-graphics-innovations/
48. Thomas Müller, et al., Real-time Neural Radiance Caching for Path Tracing, ToG 2021.
49. Adam Summerville, et al., Procedural Content Generation via Machine Learning (PCGML), IEEE Transactions on Games 2017.
50. Jialin Liu, et al, Deep Learning for Procedural Content Generation, Neural Computing and Applications 2021.
51. Jonathan Roberts, Learning-based procedural content generation, PhD thesis 2014.
52. Hang Chu, et al., Neural Turtle Graphics for Modeling City Road Layouts, ICCV 2019.
53. DALL·E 2, https://openai.com/dall-e-2/
54. Imagen, https://imagen.research.google
55. Stable Diffusion, https://github.com/CompVis/stable-diffusion
56. ChatGPT, https://openai.com/blog/chatgpt/
57. Eloi Alonso, et al., Deep Reinforcement Learning for Navigation in AAA Video Games, NeurIPS 2020.
58. 网络游戏的架构基础 (Part 2) | GAMES104-现代游戏引擎:从入门到实践, https://www.bilibili.com/video/BV1HN4y157Zq/
59. Matt Delbosc, Replicating Chaos: Vehicle Replication in Watch Dogs 2, GDC 2017.
60. Mathieu Nayrolles, et al., CLEVER: Combining Code Metrics with Clone Detection for Just-In-Time Fault Prevention and Resolution in Large Industrial Projects, IEEE/ACM 15th International Conference on Mining Software Repositories, 2018.
61. Ananthanarayanan, et al., Keeping master green at scale, EuroSys 2019.
62. ChatGPT, https://openai.com/blog/chatgpt/
63. CodePolit, https://github.com/features/copilot
'FIFA 22's' Hypermotion: Full-Match Mocap Driving Machine Learning Technology, https://www.youtube.com/watch?v=lJYmMCQ2r-0
文/Sunny
来源:腾讯游戏学堂
|