Questions tagged «animation»

模拟游戏中实体的运动,例如奔跑,坐着或敲击。

5
Sprite动画最佳做法
我想更好地了解现实世界中人们如何处理动画。 您是否加载1张大图像,然后根据动画帧绘制不同的矩形? 是否将X图像文件加载到数组中并根据动画帧在数组中绘制项目? 如何处理具有不同长度的各种精灵的动画。 假设角色行走需要4到8帧,而沙滩上的波浪只需要2-3帧。您将如何处理这种情况?见下文 Dim Waves(1) as Sprite Dim Char(5) as Sprite Sub Animate() Frame += 1 Draw Char(Frame) Draw Waves(Frame) If Frame = 5 Then Frame = 0 End Sub 显然,Waves最终会出现超出范围的错误。 还是让Sprite担心它自己的动画,而根本不关心帧。让每个精灵知道自己的动画循环吗?


2
如何正确处理跳转动画中的着陆部分
看一下这张精灵表。 显然,第1-3帧是“跳跃”帧,在此之后的最后一帧将被固定,直到跳跃的“峰值”(当重力开始向后拉时)。向后移动时,使用第4-7帧,并且所有帧均以“空闲”帧结尾(此跳转精灵中未在此处显示)。 我的问题是关于这个精灵中的第6帧和第7帧。当实体在跳转后“着陆”时,假定将动画6-7作为“着陆”动画运行。在跳转帧中向下移动时,4-5很容易,因为它们是动画的“开始”。只要摔倒,框架5可以一直保持下去...但是从框架5变为6-7-x的合适方法是什么?您是否检查下一个帧是否是坠落然后“启动”降落,还是在实际撞到地面时这样做? 由于各种情况(例如从悬崖上跳下或在低矮的屋顶下跳来撞到您的头部并弹跳回去),无法进行计时。 有任何想法吗?

3
在Unity3D中抓取和爬升壁架
我刚开始一个新项目。在此项目中,主要的游戏机制之一是,您可以在关卡中的某些点上抓住壁架并坚持下去。 现在是我的问题,因为我已经为此花了很长时间了。我实际上如何实现呢?我已经尝试过使用动画了,但是这真的很丑,因为播放器会捕捉到动画开始的某个点。

5
最佳的前悬式公式是什么?
给定一个空间点,一个行进方向以及自开始以来的时间,什么是令人信服的,不晕车的模拟头球的公式?在以前的游戏中取得了什么成功?是否有任何关于哪种鲍勃诱发疾病的研究最少? 一个示例天真头鲍勃公式,应用于向上轴: http://www.wolframalpha.com/input/?i=abs%28sin%28x%29%29

5
如何将子弹释放与射击动画联系在一起
假设您有一个想要发射子弹时要发生的动画。您如何将子弹显示在动画的结尾。我唯一能弄清楚的是知道动画的时间长度,并延迟设置项目符号位置并将其设置为活动状态,直到经过该时间量为止。我只是想知道这是否是最好的方法,其他人如何处理呢? 编辑:我认为我在正确表达问题时遇到麻烦。
15 2d  animation  release  timing 

2
数据驱动的动画状态
编辑:澄清我的问题是什么:这是处理内容创建/管理中游戏引擎中动画/动画状态的好方法吗?这样做的缺点是什么?将有替代方法吗?-尽管我的回答在评论中得到了部分回答,但这似乎是必经之路。 我正在尝试在2D游戏引擎爱好项目中处理动画,而无需对其进行硬编码。在我看来,硬编码动画状态似乎是一种常见但非常奇怪的现象。 一些背景知识:我正在使用一个实体系统,在该系统中组件是数据包,而子系统则对它们起作用。我选择使用轮询系统来更新动画状态。 对于动画状态,我的意思是:“ walking_left”,“ running_left”,“ walking_right”,“ shooting”,... 我处理动画的想法是将其设计为数据驱动模型。数据可以存储在xml文件,rdbms等文件中,也可以在游戏/关卡/开始时加载。通过这种方式,您可以轻松地编辑动画和转场,而不必在您的各处更改代码游戏。 作为示例,我制作了一个我想到的数据定义的xml草案。 一个非常重要的数据就是动画的描述。动画将具有唯一的ID(描述性名称)。它将保存图像的参考ID(它使用的Sprite表,因为不同的动画可能使用不同的Sprite表)。每秒运行动画的帧数。此处的“重播”定义了动画应运行一次还是无限次运行。然后,我将矩形列表定义为框架。 <animation id='WIZARD_WALK_LEFT'> <image id='WIZARD_WALKING' /> <fps>50</fps> <replay>true</replay> <frames> <rectangle> <x>0</x> <y>0</y> <width>45</width> <height>45</height> </rectangle> <rectangle> <x>45</x> <y>0</y> <width>45</width> <height>45</height> </rectangle> </frames> </animation> 动画数据将被加载并保存在动画资源池中,并由使用它的游戏实体引用。它将被视为资源,例如图像,声音,纹理,... 要定义的第二个数据将是用于处理动画状态和过渡的状态机。这定义了游戏实体可以处于的每个状态,可以过渡到的状态以及触发状态改变的原因。 每个实体的状态机都不同。因为鸟类可能具有“行走”和“飞行”状态,而人类只有“行走”状态。但是它可以由不同的实体共享,因为多个人可能具有相同的状态(尤其是当您定义一些常见的NPC(例如怪物等)时)。另外,兽人的状态可能与人类相同。只是为了说明该状态定义可以共享,但只能由一组选定的游戏实体共享。 <state id='IDLE'> <event trigger='LEFT_DOWN' goto='MOVING_LEFT' /> <event trigger='RIGHT_DOWN' goto='MOVING_RIGHT' /> </state> <state id='MOVING_LEFT'> <event …
14 animation  state  fsm 

5
使2D角色在行动中能够使用大量不同设备的最佳方法是哪一种?
我想创建一个2D游戏,但我想让角色在不同的组合(如RPG或类似物品)上穿戴大量的不同设备。 因此,假设用户更换了他的肩膀和裤子,这必须向玩家展示,并且所有这些不同的装备都必须遵循不同的角色动作(击打,被击打,拼写魔术等)。 我看到了一些我想知道最佳解决方案/算法/体系结构的问题。 1-精灵或动画 我应该为每个动作动画的每个设备创建不同的精灵吗? 只是让设备精灵在旋转和平移等代码上直接对其进行动画处理(在Flash上​​使用诸如tween之类的东西),是否更好? 还有其他更好的选择吗?(我真的不喜欢上面的想法) 2-职位 假设在角色移动的其中一个过程中,他开始直接在玩家的视线前方看,但结束了向玩家显示其右侧的动作(例如,如果他将剑从一侧摆动到另一侧)。 如果我们考虑用户的一部分,例如他的头部,则它从前面开始,然后向左转。 这意味着每个头部设备(头盔,帽子等)至少有3个不同的位置。 这肯定会影响第一题的答案。如何做到这一点的最佳方法? 3-层 让我们考虑一个角色移动,他张开双臂旋转360度。在动画开始时,他的右手靠近用户的视野,然后在移动的中间,这可能位于动画中角色的身体后面。 无论在#1问题上有什么选择,您肯定都需要使用某种图层模型使此sprite或动画开始更靠近玩家的视线,然后再更改为远离玩家的视线。 有什么好办法吗? 我知道这个问题很长,很难理解。让我知道您是否认为最好有一些图纸来解释哪个图纸,我将尽力做到这一点。

1
何时使用混合树与状态机进行动画制作
我是一位经验丰富的游戏开发者,最喜欢用3d动画角色制作游戏(在Unity中),并且努力弄清楚何时使用混合树与动画状态机。我从概念上理解了两者,但是在Unity和其他来源的大量教程中都看到了混合树和用于角色动画的动画状态机。我不确定何时/为什么一个人比另一个人更好,希望有人能指出我正确的方向。 我的游戏是第三人称角色扮演游戏rpg a'la WoW或KOTOR或Mass Effect(我知道不同的系统,但视角和战斗风格在较高水平上是相近的)。我有无数动画来制作攻击,格挡,假装,死亡,行走,奔跑,跳跃,射击等,但是我不清楚如何自然地将它们排序。 我已经看到用于运动的混合树在尝试保持角色运动流畅性时对我来说很有意义,但是我不明白如何从该混合树进入攻击状态,到目前为止,我还没有看到任何东西超出运动范围(没有攻击等等)。我需要从运动状态到攻击/死亡/闪避状态制作混合树吗?我是否仅使用状态机就拥有更多控制权?我对状态机有点谨慎,因为它们非常常见,而且我怀疑在不混合的情况下,变态动画排序的潜力更大。 我打算使用Unity字符控制器并编写自己的逻辑脚本来驱动它。对于AI,我将使用内置的导航网格物体代理。角色控制器动画的处理方式是否与AI动画不同? 任何见解都将受到欢迎! 谢谢

2
由于或尽管有大量图像,我是否应该使用Spritesheets?
我正在开发2D游戏,并且我有很多精灵。我使用3D动画和模型将其渲染为2D,从而使它们看起来像“ Fallout”或“ Diablo”。比手工绘制还容易,哈哈。 我已经不得不将帧速率降低到15fps,这是我可以降低的最低帧速率,而又不会使它们看上去不连贯。但是,由于24帧的平滑度令人难以置信,这令人感到悲伤。 我这样做的原因有两个: 1)减少硬盘空间。图片越少,我的整体游戏就越小。 2)减少RAM消耗。加载的图像越少,我越有可能避免导致RAM限制过大的问题。 但是,如果有一种方法可以压缩HDD空间和RAM中的图像,我会这样做。我之前已经对其进行过测试,从RGBA8888到RGBA5555的赠品在质量上几乎没有任何变化,而在TexturePacker程序中转换为RGBA4444时仅受到了一点打击。我目前不这样做,因为SFML似乎使用相同数量的内存,而不管它是哪种类型的.PNG图像。我研究了如何以不同的方式加载它,但是未能找到关于该主题的任何内容。 我已经阅读了很多有关如何处理2D视频游戏的内容。共识是压倒性的:将您的Sprite打包成更大的纹理以获得出色的性能!因此,我使用TexturePacker将微小的Sprite打包到更大的Spritesheet中。 但是,我计划每个角色有10-15个动画,移动5个方向,每个动画15-40帧(平均24个)。具有15个动画,5个方向,每个动画平均24帧;即每个字符1800个单独的帧。如果装在一张精灵纸中,则只能显示75张图像。(每个动画每个方向一个精灵表。15* 5) 对于游戏中一个巨大的老板角色,我不能使用Spritesheet,而必须编程一种仅一次加载一张图像的方法。我不知道我是否可以这样做以提高性能。 对于角色,我已经将它们打包在一张spritesheet中。对于单个角色来说,这似乎在大多数时间都有效,尽管有时会停顿。但是,我将其归因于我构思错误的代码,该代码交换了纹理,而不是预加载该角色的所有纹理。 如果我要预加载纹理,则对于精灵表来说是有意义的。我只能想象为每个角色预加载1800个小图像是一个坏主意。 但是,我想一次将它们流式传输到内存中是非常快的,所以我只需要一次在内存中有一个图像。这是否意味着在任何给定时刻我只会让每个字符消耗几个KB而不是45 + MB? 我想这会破坏我的性能,因为流传输必须非常快(每秒15张图像进出内存和渲染,每秒),尽管这些图像非常小-加载字符Spritesheets可能是一个更好的主意进入内存。但是无论如何,我将不得不为我的大老板角色编写一个类似于单图像流的渲染系统。 我一直在尝试,但这不是一个简单的过程。特别是考虑到我正在研究游戏引擎的其他部分,而这些部分现在还不处理图形。

1
为步行周期动画设置“运动”动画的常用方法
我刚刚在Blender艺术家论坛上发布了此内容,然后才意识到我可能会从更多针对游戏开发的读者那里得到更好的响应,因此为发布而道歉!出于正确的原因:) 我是一名程序员,尝试使用Ogre为行走游戏项目的角色设置动画。我在Blender中做了一个非常简单的步行周期,并将其导出到Ogre,它的运行效果还不错。好的,我的意思是它可以工作,但脚踩会很糟糕。这是因为我只是对Blender中的原位行走(在原点)进行了动画处理,当然我不知道对应的“行走速度”,所以当我在游戏中移动角色时,动作不会必须与动画中脚的运动相匹配。 所以我的问题是:这种事情的正常做法是什么?在工作中,我们使用Maya,并且动画师可以为表示角色“位置”的特殊“ moveTrans”节点设置动画(或让导出器根据根节点的移动为其生成动画),然后游戏可以读取此内容知道动画移动角色的速度。因此,在Maya文件中,角色将向前走一个周期,并且这个额外的节点将与它们并拢。在开放源代码领域,我还没有看到这样的东西,而且Ogre Exporter脚本中肯定没有提供类似的东西。您通常会为此做什么?
13 animation 

3
《 Dont Starve》中使用了哪种动画技术?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 6年前关闭。 在业余时间玩一些游戏时,我偶然发现了2D / 3D生存游戏。该游戏显然是用SDL和GLUT(不要挨饿)制作的,但真正令我惊讶的是游戏中的动画。 动画非常流畅流畅。动画时没有变形,通常在手工制作的动画中会发生以下情况:删除像素,动画变得锯齿,而且根本不那么平滑。那让我思考他们如何设法完成如此高质量的动画。他们是真的是手工制作的吗(如果是的话,那一定是一个非常有才华的艺术家),是骨骼动画还是他们在使用另一种技术?
12 animation  sdl  glut 

1
动态模型互动
我只是想知道在许多游戏(例如arkham庇护/城市,追捕,杀手等游戏)中如何做到这一点,以便您的角色可以“抓住”您面前的角色并对其进行处理。我知道这听起来可能很令人困惑,但是举个例子,去youtube并搜索“杀手s子”,而第一个视频就是我要问的例子。 基本上,我想知道它们是如何使您的模型与您遇到的任何其他模型动态交互的,所以在《杀手》中,当您用纤维丝站在某个人身后时,您会勒住另一个角色,或者如果您使用麻醉剂,则在某个人身后当他们挣扎时,把手放在那张嘴上,然后慢慢走到地板上,放下它们。如果只是在正确的时间播放两个完全独立的动画,使它们看起来像是在实际交互,还是其他东西在一起,我是否为使用两个模型使用特定的骨骼/骨骼标识符感到困惑。 我不是动画师,所以我认为我刚才所说的大部分内容都不对,但我希望有人能理解我的意思并提供答案。 PS)我是一名程序员,并且我正在开发一款流线型游戏,因为我喜欢那种风格的游戏,而且我想增加一些有趣的东西的技能,所以如果您确实知道我在说什么,请尝试一些同时涉及模型和编程的示例(我目前使用c ++,主要使用Ogre3D,但我正在使用unity和XNA),我将不胜感激。 谢谢。
12 xna  unity  animation  models  ogre 

3
Minecraft动画是否已硬编码到游戏中?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Game Development Stack Exchange 的主题。 5年前关闭。 我想知道动画系统在《我的世界》中的运作方式。我觉得所有小怪都是硬编码到游戏中的。刻痕真的坐在那里,用手为所有动画骨骼创建矩阵吗? 我喜欢重新创建有趣的游戏,所以我想知道他是如何做到的。另外,如果他确实对它们进行了硬编码,还有更好的方法吗?

2
如何创建2D“粘性” /“粘性”分离效果?
我想创建一个类似于此动画的效果,其中两个形状会随着时间的流逝而分开,但是(通过一次)通过拉伸并最终断裂的粘胶连接在一起(一次)。像披萨奶酪,但特别是二维。 我正在使用Swift和SpriteKit。我认为这可能涉及关键帧贝塞尔曲线动画,但是我不确定。我怎样才能达到这种效果?
11 animation 

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.