次元解离中心
WIP - 樱井政博的游戏开发方法
樱井政博的游戏开发方法(桜井政博のゲーム作るには)是星之卡比、任天堂明星大乱斗的游戏制作人樱井政博在油管的频道,主要发布了一系列游戏开发的建议以及方法论。我一直在断断续续地看,有时很受启发,但是这样看无异于走马观花,于是在这里总结归档一下,并在频道更新时,进行相应的更新。
DBSCAN 算法的应用
在上一篇文章中介绍了 DBSCAN 的原理,这里来记录一下在引擎中的应用。
DBSCAN 聚类算法
DBSCAN (Density-based spatial clustering of applications with noise) 是一个基于密度的聚类(Cluster)算法:给定空间里的一个点集,该算法能把附近的点分成一组(有很多相邻点的点),并标记出位于低密度区域的噪声点。
DLSS 的使用和注意事项
我们知道图片放大后,相比于原图片有新产生的像素点,这些像素点通常是通过各种插值产生的,因此,直接放大的图片的质量不佳,往往会显得很糊。大学时的计算机网络课程中曾经提到过奈奎斯特采样定理,说是要恢复失真的信号,采样频率应该大于二倍的最高频率。也就是说在二倍原始采样率的情况下,可以完整的恢复原始图片的质量。但事实是,在实时渲染领域,在一帧之内,由于 GPU 渲染带来的压力,通常没有更多的采样信息用于重建该帧的图像,因此,诞生了很多时域采样的算法用来重建图像。现在游戏界流行的各种 Super Resolution 大多是基于时域重建的原理来重构图像。目前游戏界流行的超分算法有 NVIDIA 的 DLSS,AMD 的 FSR 以及 Intel 的 XeSS,Unreal 里也有内建的 TSR。
5.x 新特性使用情况的调查
UE5 已经 release 很久了,为了解当时看起来很酷炫的特性在正式游戏中的应用情况,这里追踪了 Remnant2 以及 RoboCop 的渲染情况。为获得尽可能真实可信的数据,以下抓帧时的数据均在关闭了诸如 DLSS 之类的超分技术和动态分辨率,中画质 1080p 且关闭垂直同步的情况下获取。
使用 Pose Wrangler 创建 Blendshape
Pose Wrangler 是 EpicGames 提供的Maya开源工具,原始的仓库在这里。也可以获取个人 fork 的版本,添加了对导出 fbx 以及 json 的支持。
Occlusion Cull
最近需要利用 Occlusion Query 记录场景中可见物件的信息。为了验证方案的可行性,我决定先在开启 Occlusion Cull 的情况下,从引擎的 View.PrimitiveVisibilityMap 中回读 PrimitiveIndex 来确定可见物件。
World Building Guide
在 5.1 以后的版本中,PlayerController 已经是一个 StreamingSourceComponent。
Nanite
本文是两篇 Nanite 技术分享,Nanite - A Deep Dive 以及 Journey to Nanite 的记录。
使用 PCA 方法创建有向包围盒(OBB)
在游戏开发中,常见的包围盒有球形包围盒、轴对齐包围盒(AABB)、有向包围盒(OBB)、K-DOP 以及凸包等,包围盒通常用于判断可见性以及碰撞检测等领域。其中,AABB 和 OBB 的应用最为广泛。



