返回列表 发新帖

[白金VIP] 【自费禁转】【GiantessGameUE5】Matrix Demo V1.2

  [复制链接] 进入图片模式
累计签到:113 天
连续签到:1 天

5351

主题

1610

回帖

5万

积分

 用户组:管理员
UID:1

积分信息:
浮云:162930
金钱:34880
精华:0
贡献:25
精华贴:14篇
阅读权限:255
注册时间: 2014-8-17

在线时间: 6338 小时
最后登录: 2024-10-24

联系方式:

QQ

元老勋章汉化组贡献勋章论坛四周年

发表在  2023-7-3 15:00:01  | 显示全部楼层 | 阅读模式
作者的话:
感谢大家一直以来的支持!也许我们做出了目前画质最好的GTS游戏。这个版本做的比较赶,所以可能会有bug,不过还是希望你可以喜欢!
下面是操作介绍:
1. 我设计了超级复杂的系统来修改建筑,但是必须要手动激活,所以不管你选择什么模式,进入游戏可以移动后请按下Y键,系统会自动加载建筑
2. 菜单键修改成了M,按下M之后可以选择打开small particle,这个会让破坏更真实!但是会卡
3. 鼠标滚轮可以放大/缩小镜头,1234可以切换相机位置
4. 鼠标左键/右键攻击、E碾、空格坐。
5.P为拍照模式,可以拍好看的照片,照片的位置保存在appdata/local/CitySample里
6. B可以召唤巨人(小人模式下),请不要召唤多个人,会卡死!你可以在B召唤菜单里设置让巨人追你或者随机踩踏
希望你玩得愉快!如果有任何问题请尽快提出!


链接:https://pan.baidu.com/s/1SCc5Qjp6dLdKviDpfQjU4g
提取码





大家好,也许很多人已经在Twitter上看到了相关的游戏图片/视频。如果以后有人有同样的UE开发流程可以提前避坑。这次游戏的更新要感谢两个人,一个是twitter上的Micah,他不是圈内的人士,但是给出了非常多关于建筑破坏效果的实现细节,我这次的建筑破坏也是依托于他的思路完成的。还有是月凉大佬,我俩一起折腾了ISM的一些相关流程,他今年年底会发布UE5的剧情向游戏,大家也可以关注一下。



好了进入正题:

这次游戏更新的几个新的内容,第一个是CitySample项目的遗留问题,关于车辆在导出之后无法变形的bug,这个bug困扰了我将近一年的时间。在City Sample中车辆的变形依托于control Rig进行控制,相当于碰撞后骨骼的位置发生改变,mesh(蒙皮)也会跟着变形,再加入noise后就可以出现那种车辆挤压变形的效果:



(这个是目前我在UE中见到的最接近真实的碰撞效果,当然这套效果的实现极其复杂,并且依赖了大量的C++库,目前尚不具备迁移的能力)

这个效果其实在UE5发布的时候就震惊到我了,也是我开始做这个项目的原因。但是车辆变形的效果只能在UE editor中实现,很多人在community和其它网站上也有发布过相关问题,最后都没能解决。这个一年多的老大难问题最终的解决方式是:

由于游戏Editor和Build version的initial(初始化)加载顺序存在时序差异,导致车辆的control rig没有被自动加载成功,这时候只需要在vehicle deformation bp的event beginplay中手动启动一下即可。
于是我们就可以在游戏中得到非常好的车辆碰撞和挤压效果了:



第二个更新的大内容如上图所示就是建筑破坏的效果:

这里面就需要提到一个UE中的ISM——instanced static mesh 这一段所有的思路都来自Micah老哥的帮助,他非常富有创造性的解决了让建筑实现破坏的效果:
https://twitter.com/GamedevMicah (可以去翻看他的twitter,里面有大量演示视频)

UE5的程序化生成城市数据来自于houdini,整个城市大家可以理解成不同种类的大约100多块砖,以程序化排列的方式形成了长得不一样的建筑。(和真实世界盖房子也差不多)为了节省资源能耗,UE提出了ISM的方案,即用同一个物体,记录它的N个坐标位置,直接复制生成一个“组”。这样只需要一个物体的贴图进行渲染,剩下就是在各种位置生成同样的物体即可。当数量少的时候这个意义不大,但是对于超大型几万块的砖头来说,ISM显著的改善了GPU的渲染压力。

然而ISM的存在让建筑变成无法碰撞及拆分的整体了。你可以理解成全地图的相同砖头其实只有一块,剩下的都是它的克隆体。

这一段月凉有写完整的文档,在知乎上大家如果开发遇到困难搜索ISM碰撞/破坏这类关键词应该可以看到,我这篇文章只关注实现思路,希望在其他引擎中也可以有所借鉴。

ISM的形式无法进行碰撞和单块的运动,Micah想到了首先把全地图的ISM用遍历的方式扫描成每一栋建筑物作为一个actor,下面挂着它的ISM。这一步实现不复杂,只需要暴力for循环即可,月凉在设计用多线程来实现,目前还没成功。
第二步则是用区域检测,将主角身上绑定特征点进行区域范围的ISM检测,一旦检测到ISM,即把它转化为普通的static mesh。Static Mesh就是普通的物体形式,可以有碰撞和物理仿真(重力),于是实现从不可碰撞/不可移动,转化为可碰撞/移动的效果。
第三步是当SM掉落到地面后(间隔多少秒后),将SM删除,放回之前的ISM中,从而达到节省渲染资源的意义。
至此完整的建筑碰撞思路就讲完了。在这样的神奇的创意加持下,城市的破坏不在依靠GPU运算(nanite会把整体call draw合并为1),而是变成了只有cpu的重力模拟。也就是说这套看起来非常复杂的碰撞系统,完全不需要给GPU额外的负担,只是cpu在模拟重力/碰撞的时候有压力,这个在后面可以把重力模拟去掉,改为初始速度+掉落加速度,这样可以进一步减轻压力并进行优化。

至此就是本次的两个大的技术难点了。

游戏的图片大家可以在我的twitter或者patreon上看到,目前可以作为拍照模拟器玩耍,也可以以小人的身份在gts脚下开车穿梭逃命。目前有8个人物,还是挺好玩的(笑


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
累计签到:14 天
连续签到:1 天

9

主题

19

回帖

59

积分

 用户组:森林侏儒
UID:46286

积分信息:
浮云:1600
金钱:17
精华:0
贡献:0
精华贴:0篇
阅读权限:20
注册时间: 2022-12-11

在线时间: 45 小时
最后登录: 2024-10-19

联系方式:

发表于 2023-8-4 19:14:19  来自手机  | 显示全部楼层
女巨人模式怎么换皮肤啊?
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

 
 
论坛充值客服 
内容审核、补档 
主题举报客服

论坛讨论①群:
Macrophiliafan论坛 ①群
论坛讨论②群:
Macrophiliafan论坛 ②群
论坛讨论③群:
Macrophiliafan论坛 ③群
论坛讨论VIP群:
Macrophiliafan论坛 VIP群
工作时间(周一-周五):
18:00-22:00
工作时间(周末):
12:00-22:00



新人须知


尊敬的论坛用户:

由于以前论坛域名在移动网络下无法访问,目前已经启用备用域名www.52gts.com,原有老域名www.macrophiliafan.vip同时使用,但会跳转到新域名




关于我们
关于我们
管理申请
友情链接交换
帮助中心
FAQ须知
论坛服务
门户
论坛
文库
联系我们
官方QQ群
微信订阅
快速回复 返回顶部 返回列表