使2D角色在行动中能够使用大量不同设备的最佳方法是哪一种?


14

我想创建一个2D游戏,但我想让角色在不同的组合(如RPG或类似物品)上穿戴大量的不同设备。

因此,假设用户更换了他的肩膀和裤子,这必须向玩家展示,并且所有这些不同的装备都必须遵循不同的角色动作(击打,被击打,拼写魔术等)。

我看到了一些我想知道最佳解决方案/算法/体系结构的问题。

1-精灵或动画

我应该为每个动作动画的每个设备创建不同的精灵吗?

只是让设备精灵在旋转和平移等代码上直接对其进行动画处理(在Flash上​​使用诸如tween之类的东西),是否更好?

还有其他更好的选择吗?(我真的不喜欢上面的想法)

2-职位

假设在角色移动的其中一个过程中,他开始直接在玩家的视线前方看,但结束了向玩家显示其右侧的动作(例如,如果他将剑从一侧摆动到另一侧)。

如果我们考虑用户的一部分,例如他的头部,则它从前面开始,然后向左转。

这意味着每个头部设备(头盔,帽子等)至少有3个不同的位置。

这肯定会影响第一题的答案。如何做到这一点的最佳方法?

3-层

让我们考虑一个角色移动,他张开双臂旋转360度。在动画开始时,他的右手靠近用户的视野,然后在移动的中间,这可能位于动画中角色的身体后面。

无论在#1问题上有什么选择,您肯定都需要使用某种图层模型使此sprite或动画开始更靠近玩家的视线,然后再更改为远离玩家的视线。

有什么好办法吗?

我知道这个问题很长,很难理解。让我知道您是否认为最好有一些图纸来解释哪个图纸,我将尽力做到这一点。


您打算将艺术发展到什么水平?喜欢复古像素艺术吗?或那些高清图片,如果您有任何现有的艺术可以真正帮助我调整自己的反应。
杰西·多尔西

嗨,学说。实际上,我将其视为“与艺术无关”的问题。我将在本周末晚些时候尝试做出一些解释,以使其更易于理解。谢谢
homemdelata

Answers:


8

我认为这听起来像是您正在寻找2D骨骼动画系统?不幸的是,我不知道有任何现成的系统,因为它已经被3D-gfx-but-2D游戏趋势所取代。


+1如果您只是将角色制作为3D,则执行此操作要容易得多。
knight666

但是对于“ 3D-gfx-but-2D-game”,我将不得不考虑我提到的一种解决方案,否则我需要为任何物品组合使用一个精灵,例如,同一个胸甲带有10个不同的括号件将生成10个动画:(
homemdelata

并非如此,您仅在骨架上具有附着点,就可以放入所需的任何东西。
coderanger 2010年

2
我为XNA创建了一个(开源的)简单的2D骨骼动画库,其中包括一个不错的编辑器。前往youtube.com/user/srekel#p/a/u/0/46LIoFNdG_4youtube.com/user/srekel#p/a/u/1/8sYkeu5k7XE
Srekel 2010年

这几乎是正确的答案。实际上,您让我弄清楚了我要寻找的是用于2D动画的3D骨架系统。我需要为此找到算法(如果存在)
homemdelata

8

正如Zorba所说,大多数怀旧游戏并没有这样做,这是因为您需要(带子画面)为每个设备配备多帧动画。

一些“懒惰”的选择:

  • 调色板交换齿轮,而不是制作完全不同的精灵。
  • 以这样一种方式绘制角色,使他们的身体仅有动画的部分是未附着在齿轮上的部分。举例来说,如果角色无论如何只能穿着一套盔甲,则改为将其设为头盔,然后您就可以在保持头部静止的同时为整个身体设置动画。
  • 在游戏主屏幕上使用单个精灵作为角色,但在带有静态肖像的子屏幕中显示设备。然后,您不必担心动画。

2

在像《创世纪》系列这样的旧游戏中,他们确实会在每个可能的角色姿势中绘制一件设备。可以通过不绘制齿轮(如果左手套在球员精灵后面而无需担心)来解决遮挡问题,也可以按照从后到前的顺序绘制齿轮来解决。

显然,这是非常劳动密集型的,结果是独特的齿轮相对较少,并且有很多调色板交换和调色板修改版本的齿轮。

在现代游戏中,我强烈建议制作3D角色。如果您想要2D外观的艺术品,或者您的平台不具备实际3D的功能,则最好还是对3D进行建模,渲染,然后手动调整最终结果。

另外,如果您确定不需要调整,没有完整3d的功能,但又不想交付庞大的Sprite库,则可以打包3d模型并将其实时渲染为纹理。该模型即将出现在游戏中。


我在另一个答案中提到的内容在这里是相当重要的:无论如何,我将不得不考虑我提到的一种解决方案,否则我需要为任何项目组合使用一个精灵,例如,同一个胸件和10个不同的支撑件将生成10个动画:(
homemdelata

2
您将在运行时合成“ end sprite”。您没有“播放器”的精灵,但有一个为每个动画帧渲染的精灵列表。因此,如果玩家朝右,则需要渲染“左手套”,“左护腕”,“玩家角色”,“靴子”,“裤子”,“防弹衣”,“头盔”,“右护腕” ,“正确的手套”的顺序。然后,您可以独立漂浮在空中的每个齿轮动画。
ZorbaTHut 2010年


0

这是一个很好的问题,但是我想您已经自己回答了-您需要一个2D骨骼系统来支持骨骼变化层,以便随着角色旋转,不同的肢体可以前后移动。您还需要从4或8个角度(或需要的角度)绘制精灵。根据您团队中的技能,以3D方式创建这些资产并从所需角度进行渲染可能会更容易。

使用3D引擎也是一个很好的解决方案,尽管这会带来一系列挑战。


是的,差不多了。刚刚得到另一个答案是正确的,但是这个答案也是有效的。正如我在其他评论中所述,我需要一个用于2D动画的3D骨架系统:)
homemdelata 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.