Simonschreibt.

Menu

⭐ Game Art Tricks ⚙ Work Flow Tricks 💌 Newsletter 👩‍👧‍👦 Discord 🌳 Linktree I made a game! Buy on Steam A Game Art Trick The High Heel Problem

Introduction

本文探讨了不同类型的鞋子如何影响游戏开发,并考察了游戏在实践中如何处理这个问题。

在深入探讨之前,让我们先来看看高跟鞋的可能性:

来源: #1 #2 #3 #4 #5

以防我搞砸了术语,这里有一个小图表:

来源: Shola

Character Height | Posture | Animation | Optimization | Audio | Bonus | Summary | Sources

💘💘💘 Huge thanks to Nicolas, Damrus, Irina, Battz, Magari, Luna, Angel for helping with this article. 💘💘💘

Character Height

🚨 The Problem

不同的角色体型意味着游戏开发者需要做大量额外的工作。这里有一个很好的例子,来自《Dragon's Dogma 2》,其中具有不同体型的角色仍然可以接吻:

Source: Dragons Dogma 2 Let’s Play #1 & #2

在这里我们可以看到动画是如何调整的,以便嘴唇能够相遇。 摄像机也做了很多工作:

Source: Dragons Dogma 2 Let’s Play #1 & #2

但是即使所有角色都有相同的身高,不同的鞋子也会影响角色的身高! 这导致了新的骨骼位置,因此,例如,手指不再击中墙上的按钮。

Source: Mixamo “Romero”

除了精确的交互之外,在某些特殊情况下,高跟鞋可能会导致问题:例如,你应该小心高跟鞋不会暴露玩家的藏身之处:

Source: Mixamo “Romero”

如果角色身高发生变化,您可能还需要更新碰撞体积,尤其是在竞技游戏中。 这取决于引擎如何处理这些体积。 最好仔细检查!

游戏开发者现在正面临一个十字路口。 明智地选择!

让我们先谈谈选项A,我们正确而真实地调整角色身高!

💡 Solution A: “Adjust Height”

有三种方法可以处理角色不同鞋子高度带来的后果:

  1. 抱最好的希望
  2. 手动修复
  3. 动态修复

🙈 1. Hope for the best

有些游戏可以负担得起调整角色身高,因为与NPC或环境只有很少的精确互动。 例如,在玩《Infinity Nikki》时,我发现的大多数动画都无关紧要,例如 Nikki 高 10 厘米或矮 10 厘米(例如打开箱子):

Source: Infinity Nikki

而且我不记得任何精确的互动在过场动画中(例如握手)。 因此,抬高身体并不是什么大问题:

Source: Infinity Nikki

但是,有一个例外:我注意到一种情况,其中存在密切的互动:梳妆。 有两种服装:一种高跟鞋,一种没有高跟鞋:

Source: Infinity Nikki

我想如果我非常仔细地观察,我可以看到带有高跟鞋的动画存在轻微的剪切问题。 不过,这可能是由于不同的地形造成的。 我不确定,但这绝对不是什么大问题。

《Saints Row》是另一款正确调整角色大小的游戏,也是我偶然发现的唯一一款你可以作为男性角色穿高跟鞋的游戏:

Source: Saints Row

💪 2. Manual Labor

如果游戏需要,动画师可以创建独特的动画(每种鞋类型),例如,手部位置得到纠正。 他们会喜欢的!

stand_groom_barefoot.fbx stand_groom_shoe_5cm.fbx stand_groom_shoe_12cm.fbx

但是要小心! 如果没有调整所有动画,这可能会导致问题。 例如,这里,一个特定的高尔夫动画似乎只适用于平底鞋:

Source: GTA Online

饮酒动画(右)也发生同样的情况,它似乎只适用于平底鞋。 当涉及高跟鞋时,诸如摩托车骑行之类的特殊情况也需要特别注意:

Source: Suggestions to improve female characters

以下是更仔细地了解发生的情况:当穿高跟鞋(右)时,脚必须摆出不同的姿势。 否则看起来很滑稽(左):

Source: CGarchitect

顺便说一句,当更换鞋子时,在《Nikki》中也可以看到相同的行为在单个帧中。 鞋子网格在姿势调整前一帧被替换:

Source: Infinity Nikki

⚙️ 3. Dynamic Systems

手动调整是一项繁重的工作! 有没有办法自动化它? 例如,如果你想拥有一个牵手机制,那么你需要大量的动画来确保具有不同鞋子高度的角色的手仍然可以精确地相遇,这将是一场噩梦。

Source: Hand Holding Mechanics

IK 来救援了!

现代引擎提供实时IK系统。 大多数玩家已经熟悉它们,因为这些系统会根据地形调整脚的方向:

Source: Infinity Nikki

这样的系统也可以用于大气程序动画,例如在您走过时触摸墙壁:

Source: iHeartGameDev | Uncharted

或者,这对我们的主题特别令人兴奋,动态调整手的位置,使其朝向目标,因此角色本身可以具有不同的高度,并且/或者目标可以在关卡中处于动态高度:

Source: Unreal Content Examples: IK Rig

但是要小心。 如果 IK 目标使用不正确,您可能会最终得到 NSFW 动画。 警告过你了!

💡 Solution B: “Find Workaround”

不想手动调整所有动画或使用动态系统? 没问题!让我们来看看一些让角色穿上高跟鞋而不改变实际身高以绕过上述问题的方法。

同样,我们有三个选择:

  1. 隐藏
  2. 缩短
  3. 弯曲

🙈 1. Hide!

如果鞋子允许,您可以将脚“隐藏”在鞋底中。 这会使腿看起来更短(就像在下一节中一样),但既不需要改变腿也不需要改变鞋子:

Source: Example kindly provided by Irina

🦶 2. Shorten

我在研究中经常看到这种解决方案:只是缩短小腿,以便不改变角色的身高。

这是一个在 Sims 4 中的示例,正如您所见:臀部保持原位,大腿没有改变,但是小腿被缩短(角度向上移动):

Source: Sims 4

另一个坐在时的例子:

Source: Sims 4

《Watchdog Legions》也是如此。 但是,小腿的形状在这里会发生变化,因为它略微被压缩:

Source: Watchdog Legions

另一个例子,这次来自《Cyberpunk》:

Source: Cyberpunk 2077

通常,腿部几何体被替换为不同的几何体。 理论上,也可以使用混合形状,但这些形状很昂贵

⚠️ 重要提示:仅更改网格,更改骨架。 这意味着脚踝围绕其旋转的脚仍然具有相同的位置:

这可能会导致强烈的视觉扭曲,就像在《Final Fantasy 14》中一样:

Source: Reddit Discussion

相比之下,穿高跟鞋时脚踝应该位于此位置。 当然,您永远无法在《Nier》中切换到平底鞋,因此它们可以完美地适应骨架:

Source: Platinum Games Blog

🦵 3. Bend

这是一个很好的例子,其中同步的角色身高非常重要(否则接吻时嘴唇就不会相遇),但是不是缩短小腿,而是简单地将腿弯曲更多:

Source: 3D Sex Villa 2

Posture

如果你想正确地做到这一点,仅仅抬起臀部并将脚转到“高跟鞋”姿势是不够的。 根据这篇文章这篇文章,整个姿势都会改变! 主要区别:

Source: Why Shoes Make“Normal” Gait Impossible

我尝试通过以下方式将其适应到我的僵尸:

Source: Mixamo “Romero”

我用一个行走动画做了一个测试。 我将我的姿势改变添加作为附加到mixamo行走动画,它起作用了! 看看我性感的僵尸 :)

Source: Mixamo “IV Pole Walking

顺便说一句#1,我注意到《Cyberpunk》中的一个小细节:当鞋子被更换时,我们可以简要地看到脚的姿势是如何变化的:

Source: Cyberpunk 2077

顺便说一句#2:如果你想非常精确,你也应该改变你大脚趾的方向,因为它经常不自然地被挤压到鞋子里:

Source: Foot in High Heel Turntable

Animation

除了身高和姿势之外,您可能还需要更改整个动画,因为高跟鞋可以极大地改变步态:

“高跟鞋鼓励更短、更刻意的步幅,从而实现更平稳、更受控的行走运动”

这篇文章甚至提供了一个小图表,显示了这些变化。 他们对12名女性进行了大量的运动捕捉分析:

Source: Human Gait Analysis using 3D Motion Capture

现在我们又到了游戏开发者的另一个十字路口!

如果你决定只重用平底鞋动画,别担心! 我会给你两个理由不要太担心:

  1. 其他开发者也这样做
  2. 即使穿高跟鞋,“正常”的行走也是可能的

😊 1. Other developers do the same

大多数游戏只是重用它们的动画。 我能找到的唯一一个使用自定义动画的例子是《Skyrim》的MOD! 在那里,高跟鞋的动画导致腿交叉和更明显的髋部运动:

Source: Conditional High Heel Walk

是的,确实可以在现实生活中观察到这种步态:

Source: Who says men not walk in heels

但是...

👠 2. “Normal” Walk in High Heels

这种交叉步态也适用于平底鞋(左),而中度交叉(中)或完全没有交叉(右)的步态也适用于高跟鞋:

Source: Shutterstock

因此,穿高跟鞋并不意味着你的腿自动交叉,你的臀部会疯狂摆动。 但如果这正是你想要的,而你的游戏“只”提供平底鞋,你仍然可以做到。 一切皆有可能!

顺便说一句,即使是《Nikki》也没有每只鞋子都有独特的动画,而这款游戏完全是关于服装和时尚穿着:

Source: Infinity Nikki

然而,他们确实有不同的空闲动画。 我数了四个不同的动画,具体取决于你穿哪双鞋。 在我看来,这相当多了:

Source: Infinity Nikki

Optimization

当腿的几何体被鞋子覆盖时会发生什么? 良好的处理有助于防止剪切,当然,这是一种很好的优化方法。

这是我们想要防止的:

Source: Daz To Unreal – Dealing with Heels

有些游戏将多边形隐藏在鞋子内。 在《Saints Row》中,腿由不同的部分组成,可以在必要时隐藏:

Source: Saints Row

《Watchdogs》也是一个有趣的例子:

Source: Watchdog Legions

这是游戏如何处理多边形减少的静态比较:

Source: Watchdog Legions

那么《Cyberpunk》呢? 他们只是保留了整条腿,即使靴子很大并且覆盖了大部分腿!

Source: Cyberpunk 2077

Audio

根据鞋子是否带有细高跟,脚步声应该听起来不同。 如果你根本没有穿鞋(赤脚),情况也是如此。 《Cyberpunk》在这方面做得很好:

Source: Cyberpunk 2077

如果你玩的是竞技游戏,高跟鞋可能会更容易暴露玩家的位置,因为它们通常声音更大。 这可能是一个平衡问题!

Bonus Work

你已经在游戏中内置了高跟鞋,一切正常,现在你感到无聊? 这里有一些挑战:

Source: Ultimate Heel Guards for Walking on Grass

Source: #1 #2

Summary

History Lesson

最初,男人开始穿高跟鞋,然后女人采用——“这是为了使他们的服装男性化”

Sources

Articles & Studies

References

Tutorials & Discussions

General

Blender

Maya

Unity

Unreal

Unreal Content Example Map: IK Rig

Wearing Examples

Effect on Health