[GDC24]TheFInals的破坏系统

在这里插入图片描述
GDC24上TheFinals的开发工作室–EmbarkStudios带来;
TheFinals把实时破坏在主流游戏上提升到了新的高度,可以说是新的标杆,达成了:

  • 可以出现大规模的任意破坏
  • 破坏之后充分影响gameplay,可以把建筑任意炸毁之后,坍塌的建筑继续保留&物理正确(有正确的网络同步),可以废墟中继续刚枪
  • 视觉表现到位,性能影响很小(TheFinals的画面屋里表现在PVP FPS中也是顶级存在)
    应该说比上一个围绕物理破坏的游戏(彩6)又近了一步.

整体overview

在这里插入图片描述

Embark Studios &

这个可能很多玩家,甚至开发者不是很熟悉, TheFInals是真正第一款发布的作品;
Embark成立自2018年,其成员很多是来自开发了战地系列的DICE工作室,包括寒霜引擎的引擎架构师Johan Andersson,所以也就不奇怪为什么出手就是这么吊的破坏系统;

TheFinals游戏在整体制作,设计等等方面都是比较成熟,个人非常欣赏,也玩了一段时间,很多点都印象深刻;
刚上的时候热度比较高,现在热度尚可:
在这里插入图片描述
游戏设计方面有一些缺陷比较遗憾,但是在美术设定,制作实现方面非常老道,值得体验和学习;
除了破坏以外,对于AI配音解说等方面的应用都很不错.
使用UnrealEngine5开发(深度定制),游戏第一次放消息是21年底,上线是23年底.

破坏系统

体验影响

开篇介绍了下游戏中破坏系统的历史,谈及的是< BattleField:BadCompany >系列以及RedFaction;
TheFinals是希望整个更nb的,在体验端希望做到这些:

  • 是game design的核心,
  • 是玩家取得优势的关键:这个玩过的就知道了,各种抢宝箱,守钱箱都要做好破坏以及反破坏的准备,绝对不能简单蹲点.
  • 给玩家一个"即时反应"的体验,你可能想跳到一个桥上,但这个桥突然被炸了,你就得接二段跳
  • 每一局感受是不一样的

技术

这里分了三块:

  • 制作工具
  • simulation
  • performance
  • misc

制作工具

首先是单个mesh处理,这个就是预切破坏,embark是在houdini里完成(TA做的):
在这里插入图片描述

然后是level中connection的工具,这里就是把geometry连接起来,实时simulation时候要进行structure analysis,进而实现坍塌的效果;
这块也是需要工具支持,就是一个in-engine的处理,如图:
在这里插入图片描述
在这里插入图片描述

simulation

在这里插入图片描述
physics simulation这里主要包括:

  • 大量的小物件的物理模拟
  • 以及一些大型物件的rigid body的模拟
    在这里插入图片描述

这就意味着对于物理引擎的需求是比较高的,这里embark的选择是:没用ue5的chaos系统,而是使用nv的physx;
原因是chaos在性能和稳定性上不够好,最后选择physx;

structure analysis

在这里插入图片描述
这里如上图,structure analysis就是达成高质量建筑坍塌的关键,没有structure analysis,建筑被打坏就是左边的这样的,而有了structure analysis,在一定程度破坏之后,就会断掉模块之间的connection,进而建筑坍塌;

这里就是一个直接的结算过程:
在这里插入图片描述
首先是一个基本逻辑是上图这样:模块之间有connection(蓝色线),以及有一个anchor(红色点);

这里的solver是:sparse direct solver using cholesky decomposition;
是micheal ewert(30年经验的物理老法师)经过几个月的迭代弄出来的.

这里覆盖一些宏观概念,
在这里插入图片描述
这里一个核心逻辑就是mesh之间的connection什么情况下断,所以基本逻辑就是如图:
计算出一个整体impulse,这个impulse大于一个阈值(加上一些随机偏移),那么就会断.
在上图右半边的图示中就是白色的菱形是阈值,红色是当前的impulse.
在这里插入图片描述
这里的impulse,实际上是多种多个力的综合:

这个就是整体的connection以及break的做法;
后续也介绍到了embark所用的sparse direct solver对比常用的sequential impulse solver的优劣势, sparse direct的:
pros: 整体力的分布更加均衡和稳定,最终效果更好
cons: 效率不好,需要更多的优化

在这里插入图片描述
这里sparse direct solver的计算量,和计算区域内的connection量呈平方级别上升,所以一些LOD&Hierarchy的思路就是优化的核心
在这里插入图片描述
这里的lod思路我们也比较常见:

  • 最细的是玩家看到的炸出来的
  • 然后做一些合并,粒度上升,作为structure analysis用
  • 对于不同区域,再进行分离
  • 最后是分帧处理
    然后性能就基本ok了;

在这里插入图片描述
最后建筑坍塌各种情况,品质和性能都很6;

性能

网络性能
由于破坏后的部分也参与gameplay所以炸出来的结构和碎片的transform也需要进行同步;
如果brute force的话,在建筑坍塌时候,大约是400k,这就过猛了,优化方法:通过限定范围,来对同步数据进行压缩:
在这里插入图片描述

  • 破坏部分的transform是在一定范围内的(而不是全世界到处飞),所以需要表达的数字小很多,这个可以压缩
  • 另外同步是通过snapshot+delta的方式,这个delta也可以压缩
    两个一起操作,最后就是:
    从400k的网速到175k的网速,基本可以了;

渲染方面,都比较直接,不展开了:

  • Nvidia RTGI
  • 使用transform pool降低transform传到gpu中的消耗(直接buffer copy)

其他方面

  • movement:尽量少做prediction,使用一些animation,camera等技巧来mask延迟; 这块也是最大的挑战之一;
    在这里插入图片描述
  • 光照方面使用的是NvidiaRTXGI(不是ue5.lumen),实际在低配电脑上还提供一个预烘培的光照,但这个对于破坏情况反馈不是正确的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/308889.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微服务之Consul 注册中心介绍以及搭建

一、微服务概述 1.1单体架构 单体架构&#xff08;monolithic structure&#xff09;&#xff1a;顾名思义&#xff0c;整个项目中所有功能模块都在一个工程中开发&#xff1b;项目部署时需要对所有模块一起编译、打包&#xff1b;项目的架构设计、开发模式都非常简单。 当项…

ES6: promise对象与回调地狱

ES6&#xff1a; promise对象与回调地狱 一、回调地狱二、Promise概述三、Promise的组成四、用函数封装Promise读取文件操作 一、回调地狱 在js中大量使用回调函数进行异步操作&#xff0c;而异步操作什么时候返回结果是不可控的&#xff0c;所以希望一段程序按我们制定的顺序执…

电脑无法开机?原因分析与解决方案

电脑无法开机是一种常见的问题&#xff0c;可能会给用户带来诸多困扰。无法启动可能是由于硬件故障、软件问题或者其他未知原因引起的。在本文中&#xff0c;我们将介绍三种常见的方法来解决电脑无法开机的问题&#xff0c;以帮助用户尽快恢复正常使用。 方法1&#xff1a;检查…

电影《你想活出怎样的人生》观后感

上周去看了宫崎骏电影《你想活出怎样的人生》&#xff0c;就像作为导演问观众的一个问题一样&#xff0c;宫崎骏老爷子&#xff0c;在电影中&#xff0c;给出了他的一些开放式答案。自己可是说是宫崎骏的粉丝&#xff0c;宫崎骏老爷子的大部分电影&#xff0c;自己基本都看过了…

Nevercenter CameraBag Pro--专业级摄影后期处理利器

Nevercenter CameraBag Pro是一款功能强大的照片滤镜软件&#xff0c;专为摄影爱好者和专业摄影师设计。它拥有超过200种预设滤镜和效果&#xff0c;包括黑白、复古、胶片等多种风格&#xff0c;能够轻松改变照片的外观&#xff0c;并赋予作品独特的艺术感。此外&#xff0c;Ca…

数据库(3)

目录 11.那你知道什么是覆盖索引和回表吗&#xff1f; 12.什么是MVCC&#xff1f;说说MySQL实现MVCC的原理&#xff1f; 13.MySQL的锁的类型有哪些呢&#xff1f; 14.你们数据量级多大&#xff1f;分库分表是怎么做的&#xff1f; 15.分表后非分库字段sharding_key的查询怎…

【Spring Boot】深入解密Spring Boot日志:最佳实践与策略解析

&#x1f493; 博客主页&#xff1a;从零开始的-CodeNinja之路 ⏩ 收录文章&#xff1a;【Spring Boot】深入解密Spring Boot日志&#xff1a;最佳实践与策略解析 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 Spring Boot 日志一. 日志的概念?…

Linux 网络排查命令

端口相关服务检查 netstat -ntpl|grep [$Port]说明&#xff1a;[$Port]为相应的端口号。 0.0.0.0代表本机上可用的任意地址。比如&#xff0c;0.0.0.0:80表示本机上所有地址的80端口。 tcp 0.0.0.0:80表示在所有的可用接口上监听TCP的80端口 如果返回结果为空&#xff0c;说明…

MySQL 社区版 安装总结

很早就安装过MySQL&#xff0c;没有遇到过什么问题&#xff0c;直接next就行了&#xff0c;这次在新电脑上安装却遇到了一些问题&#xff0c;记录一下。 安装的是MySQL社区版&#xff0c;下载地址是www.mysql.com&#xff0c;进入后选择DOWNLOAD页面&#xff0c;选择MySQL Com…

minikube环境搭建

&#x1f4d5;作者简介&#xff1a; 过去日记&#xff0c;致力于Java、GoLang,Rust等多种编程语言&#xff0c;热爱技术&#xff0c;喜欢游戏的博主。 &#x1f4d8;相关专栏Rust初阶教程、go语言基础系列、spring教程等&#xff0c;大家有兴趣的可以看一看 &#x1f4d9;Jav…

贝乐虎儿歌v6.8.0解锁高级版亲子学习儿歌

软件介绍 贝乐虎儿歌免费版app&#xff0c;出自乐擎网络的创意工坊&#xff0c;专为孩子们雕琢了一系列富含创意的动画儿歌内容。这款app通过贝乐虎兄弟的可爱形象&#xff0c;让孩子们在愉快的观看中接触到各种儿歌和故事。不仅如此&#xff0c;app还巧妙地将古诗、英语等学习…

什么是享元模式,有哪些具体应用

一、定义 享元模式是一种通过尽可能多地共享数据来最小化内存使用和对象数量&#xff0c;从而提高性能的设计模式。在享元模式中&#xff0c;如果需要相同数据的多个对象&#xff0c;则共享这些对象而不是创建新的对象&#xff0c;从而提高系统的效率。 其实有很多应用场景&am…

软件设计师——软件工程基础知识

软件工程基础知识 软件过程软件过程模型软件测试方法进度管理软件复杂性度量环路复杂度耦合聚合和组合 软件过程 软件过程模型 软件测试方法 黑盒测试和白盒测试 白盒测试中&#xff0c;语句覆盖对程序执行逻辑的覆盖很低&#xff0c;因此一般认为它是很弱的逻辑覆盖。 进度管…

全新视频剪辑软件会声会影2024

会声会影 (CyberLink PowerDirector) 是一款既强大又易于使用的视频编辑软件&#xff0c;具有众多功能和工具&#xff0c;专为用户设计制作高质量的视频剪辑和制作。无论您是一个新手或是一个有经验的电影制作者&#xff0c;会声会影都适合您的需要。 生活即电影 下载地址&…

了解大语言模型的参数高效微调(Parameter-Effcient Fine-Tuning)

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 大语言模型在众多应用领域实现了突破性的进步&#xff0c;显著提升了各种任务的完成度。然而&#xff0c;其庞大的规模也带来了高昂的计算成本。这些模型往往包含数十亿甚至上千亿参数&#xff0c;需要…

快速上手Vue

目录 概念 创建实例 插值表达式 Vue响应式特性 概念 Vue是一个用于 构建用户界面 的 渐进式 框架 构建用户界面&#xff1a;基于数据渲染出用户看到的页面 渐进式&#xff1a;Vue相关生态&#xff1a;声明式渲染<组件系统<客户端路由<大规模状态管理<构建工具 V…

SpringBoot多模块项目整合Shiro报错No bean of type ‘org.apache.shiro.realm.Realm‘ found.

环境 依赖版本 spring-boot-dependencies 2.7.6 shiro-spring-boot 1.13.0 问题 项目启动报错 *************************** APPLICATION FAILED TO START ***************************Description:No bean of type org.apache.shiro.realm.Realm found.Action:Please …

SecureCRT日志记录的7个经典配置记录与14个环境变量(%Y-%M-%D_%H_%S_session.log %t )

每次更换电脑、主机或者环境都需要配置一遍SecureCRT的参数。感觉就最近十年都已经设置过上百次了。其实设置没什么特别的&#xff0c;只是经过不断地打磨&#xff0c;主打的就是一个经济实用。经常忘记&#xff0c;特此记录。 配置方式 建议直接配置默认session&#xff1a;…

如何正确使用数字化仪前端信号调理?(一)

一、前言 板卡式的数字转换器和类似测量仪器&#xff0c;比如图1所示的德思特TS-M4i系列&#xff0c;都需要为各种各样的特性信号与内部模数转换器&#xff08;ADC&#xff09;的固定输入范围做匹配。 图1&#xff1a;德思特TS-M4i系列高速数字化仪&#xff0c;包括2或4通道版…

系统架构最佳实践 -- CRM会员客户关系管理系统架构的设计

在现代商业中&#xff0c;企业与客户之间的关系至关重要。为了更好地管理和维护客户关系&#xff0c;许多企业采用CRM&#xff08;Customer Relationship Management&#xff09;系统。本篇博客将介绍CRM会员客户关系管理系统的架构设计及实践&#xff0c;探讨其核心组成和关键…