游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2394|回复: 0

GDC2015分享:巫师3开放世界性能优化

[复制链接]

1万

主题

1万

帖子

3万

积分

论坛元老

Rank: 8Rank: 8

积分
36572
发表于 2018-11-19 13:32:29 | 显示全部楼层 |阅读模式
1.jpg

文/刘源

本篇属于资源制作流程,介绍了一个场景资源查询工具。非常有创意的是,工程师将美术资源数据直接导入到SQL,于是产生了强大的查询能力。此外可以从该文大致了解到巫师3的资源标准(例如超过2k面必须做LOD)。

视频https://www.youtube.com/watch?v=p8CMYD_5gE8

PPT https://www.gdcvault.com/play/1021880/Content-Optimization-Pipelin

美术可能会摆出性能很差的东西

在巫师3中,美术的创造力让他们能做出很多性能很差的东西。

2.jpg

美术放了一个模型,只有5%在地面上,其他都放在底下。戏称之为“泰坦尼克”。

3.jpg

有一个鸡肉桶,放了150万面,吐槽“这大概是最贵的鸡肉了”。

巫师3的编辑器能力

从讲座看,巫师3编辑器自由度比较高,结构为世界/图层/实体/组件的层级结构。设计师和美术人员可以编辑和修改资源,编辑组件(按:估计也是ECS系统)。也就是说,可以对导入的实体进行进一步修改,比如修改材质、粒子特效、Shader,组件有光、声音、植被。从渲染管理来看,在场景上可以手工增加碰撞体,合并mesh,增加额外的LOD层级。游戏大概有50万个实体。

解决方案:美术资源数据库

项目做了一个分析工具,可以使用SQL查询美术资源。

工具在每次夜间自动构建时自动调用,将所有美术资源的属性导出为SQL的表创建和插入文本,一次大约2GB,然后创建SQL数据库运行在服务器上,然后就可以用SQL来查询了。(作者认为有性能优化空间,且希望能实现本地版本实时看效果)

4.jpg

SQL查询例:

5.jpg

该工具客户端界面如下。上方可以输入SQL语句,如果对语句满意的话可以保存。左侧是已经保存好的查询,右侧为搜索结果列表。中间的地图可以显示查询到物件的位置,以及大小。如果你点击地图上的物件的话,你能直接传送过去看现场。地图可以存为4k的大图。

6.jpg

此外还有一些预制的地图分析,包括:

  • 顶点密度地图
  • 植被过密地图


7.jpg

8.jpg

列表通过google api自动导出到Google Doc,然后每个周一都通过google sheet,自动导出几个重要指标表。这样,项目组可以指派一部分开发人员作为突击队,按主题,一个主题一个主题修复问题。

实际使用效果

揪出很多故障

  • 一个Layer标记为地下、开启阴影的灯,直径为4公里
  • 地下有200个左右带骨骼动画的悬空弓,每个都有900米的视野距离
  • 发现了场景中的测试资源
  • 发现了25万面的船
  • 发现超过200个2000面以上的模型没有LOD(按:所以他们基本上所有模型都要做LOD)
  • 发现在一个32平米的区域内(按:疑笔误为边长32米)有10万个草,反馈后确认是一个程序bug


内部的评价

  • 程序和美术都很喜欢用。没有专门的测试员,美术会自己拼巨长巨复杂巨疯狂的SQL语句查询。
  • 在地图上可视化显示是非常有用的

来源:GDC2015

知乎专栏:https://zhuanlan.zhihu.com/p/36282368

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

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-24 09:10

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表