Mercury's Blog

Always playing around

这是笔者大三在游戏公司实习时做的的动画系统笔记,基于 Game Engine Architecture, Third Edition 这本书的相关章节,挖出来给大家分享。

Read more »

某玩家玩一个游戏:初始时,系统均匀随机生成 \(n\) 元全排列序列 \(s_n\),然后该玩家对序列进行若干次如下操作:

  • 选择 \(i, j \in [1, n]\),将序列中第 \(i\) 个和第 \(j\) 个元素置换。

若该玩家能在至多 \(m\) 次操作后将序列变为唯一顺序序列 \((1,2,\dots ,n)\),则称操作成功。求:

  • 操作成功的概率 \(p_{n,m}\)
  • \(p_{n,m}=1\) 时,直到操作成功,所需操作的期望次数 \(E_{n}\)
Read more »

本系列实验是笔者参与2023腾讯游戏课题的一部分,代码已开源

实验背景

渲染流程中存在许多参数。游戏开发流程中,将渲染结果调节至与原画美术风格或参考结果一致的过程,需要大量技术美术人员的工作。例如:

  • 给定一个现实中的材质球的照片,或离线渲染的参考结果,如何调节渲染中材质的各项参数,使得游戏中的实时渲染结果与这些参考最接近?
  • 对于图像后处理任务,给定美术色调风格,如何调节色调映射和白平衡等过程中的各项参数,使得生成图像与美术参考最接近?
  • 再如,给定高端机型上的参考结果,如何优化低端机型上低端光照模型的参数,使得渲染结果与参考最接近?

这些问题长久以来依赖人工手动调参,是时候将这个过程自动化了。

Read more »

本系列实验是笔者参与2023腾讯游戏课题的一部分,代码已开源。 本文是对 过去的旧文 的翻新。

实验背景

从实验 1 中我们已经知道,可微渲染可以优化的对象除了纹理贴图,还有模型的几何信息等。在游戏中,模型几何常用三角网格表示,可优化的对象包括顶点位置、边拓扑关系、UV 和法线,以及可能包含的蒙皮数据。

在游戏模型资产优化任务中,有一类很常见的任务是 LOD 的自动生成。位于相机远处,或在低端机型上显示的模型,游戏程序将会自动选择低精度(LOD 级别高)的模型,以减轻渲染压力。传统的基于几何处理的 LOD 低模自动生成算法(保 UV 或不保 UV)已经比较成熟,但它们所满足的指标往往是固定的,难以动态适配具体的游戏项目和渲染流程。

为此,可微渲染技术应运而出,根据相应的渲染流程,在迭代训练下自动生成匹配的,简化的模型拓扑,并且保持模型 UV。这样生成的低模自然也是理论上最优的。

Read more »

本系列实验是笔者参与2023腾讯游戏课题的一部分,代码已开源

实验背景

渲染过程是相机、场景二元组到图像的映射。在许多游戏应用中,往往会用到 LOD 技术,以减轻屏幕中小目标的渲染压力。采样小像素目标的纹理时,往往使用 mipmap 技术,主要是为了避免采样精度不高导致的摩尔纹等问题。

不过,本次实验解决的纹理贴图 LOD 问题与采样精度无关,它的背景主要是在低端设备上在达到性能要求,并且最大程度上保持贴图的高频细节。

Read more »

某种细胞每回合均匀随机地选择一项:

  • 无变化
  • 自我毁灭
  • 增殖 \(1\) 个相同的自身
  • 增殖 \(2\) 个相同的自身

现初始有 \(n\) 个细胞,求最终细胞数为 \(0\) 的概率。

本题只有一个吸收壁,但有可能吸收不了。

Read more »
0%