Mercury's Blog

Always playing around

https://en.wikipedia.org/wiki/Jeep_problem

https://zhuanlan.zhihu.com/p/7236950040

某吉普位于原点,在原点处有 \(n\) 单位燃油。吉普的油箱中最多可存储 \(m\) 单位燃油。吉普可以随时随地将任意单位燃油卸载于当地,或从当地载入油箱。吉普每单位时间可移动一单位长度,且移动时每单位时间必须消耗油箱中的一单位燃油。

  1. 求吉普能够移动的最大位移。
  2. 现吉普需要将燃油尽可能多地搬运到位移 \(l\) 处,求此处的燃油数的最大值。
  3. \(n = +\infty\),现吉普需要到达位移 \(l\) 处,求总过程的最小油耗。
  4. 现吉普可以随时随地出售其油箱中存储的任意单位的燃油,在位移 \(l\) 处的出售价格固定为每单位燃油 \(l\) 单位收益。吉普需要规划出售策略,并使其最终能够返回原点,求总过程可获得的收益的最大值。
Read more »

黑神话也在用的新一代游戏动画技术:MotionMatching讲解实践一条龙_哔哩哔哩_bilibili

基于UE官方MotionMatching还原《黑神话悟空》Locomotion - 哔哩哔哩

前一阵子看到游科在 2021 年分享过他们在黑神话项目中在 UE 里使用 Motion Matching 做角色动画,就很好奇正式发布的游戏里是怎么实现的。

然而,经过一系列逆向分析,我发现了一个事实:黑神话项目中的 Motion Matching 并不典型,主角的角色动画就很可能完全没用到 Motion Matching,仍是传统的动画状态机技术,倒是部分敌人的 locomotion 动画应该是用了 Motion Matching。

先说结论:经过资产分析、代码静态分析和动态分析,并结合游戏实机表现,《黑神话:悟空》的

  • 主角(天命人、孙悟空)的所有角色动画都基于动画状态机。
  • 部分敌人在行走、跑步动画中使用了 Motion Matching,其余如攻击、跳跃、技能等则使用了动画状态机。部分敌人则完全使用了动画状态机。
Read more »

https://perso.telecom-paristech.fr/bloch/ANIM/Danielsson.pdf

给定二维数组 \(a_{i,j}\),其中所有的元素为 \(0\)\(1\),且 \(i \in [1,n], j \in [1,m]\)

定义所有元素为 \(1\) 的点集为 \(S= \{(i,j): a_{i,j} = 1\}\),其补 \(\bar S = \{(i,j): a_{i,j} = 0\}\)

定义距离度量函数

\[ ||(i,j)||_p = \left( |i|^p + |j|^p \right)^{1/p} \]

设计算法,输出一个二维数组 \(d_{i,j}\),满足

\[ d_{i,j} = \min_{(h,k) \in S} ||(i-h,j-k)||_p \]

Read more »

《祇园:东渡》是一个开放世界场景,以 PCG 为展示重点,当前也有一定的剧本和部分可玩性。本作品主要用于体现作者对 UE5 和资产管线的应用能力。

Read more »

https://google.github.io/filament/Filament.html#endnote-ibltypes1

本文将完整推导 PBR IBL (image-based lighting),将数学公式、近似和蒙特卡洛积分讲清楚。

Read more »
0%