如何在2D中给球一个高度错觉?


40

在2D自上而下的足球比赛中,有时会给球一个在空中的错觉,如下所示:

例

我该如何实现?


在这里,您的答案japantoday.com/category/lifestyle/view/…:阴影。
v.oddou

1
引用图片来源:针对这个问题,我最初是从Tiki Taka Soccer的游戏视频中删除该GIF的。
Anko


1
根据您游戏的视图大小,您也可以通过增大球的角度来使用透视图
Wilf

球离自己的影子有多远!,
Bradman175 '16

Answers:


79

给球一个高度值。在球的实际2D位置绘制阴影;阴影将有助于球在空间上为球员定位。

绘制球本身时,将Y位置偏移球的“高度”。如果您不仅要实现幻觉,还可以在计算中使用此高度值-例如,您可以通过检查高度是否为实地值来实现球在游戏中表现出超越玩家头部的能力。比球员的身高还要高。


40
另外,在Y轴上按比例缩放球以增加效果(同时缩小阴影,如果需要的话)
jgallant

@Jon的想法真的很聪明。根据哪种游戏以及要添加的“动作”级别而定,这是一个非常好的主意(也易于实现)
tfrascaroli

1
您也可以缩放球(或在精灵的情况下,将精灵更改为逐渐变大/变小的图像),以便模仿更靠近相机的地方。根据使用的大小差异,这可能会夸大高度,或者可能微妙。
Draco18s

1
@Jon缩小阴影是不现实的。如果它处于游戏的技术水平之内,则使其更加分散
hobbs

1
@Kramii实际上就是当您按照答案中的描述将“ Y位置偏移到球的“高度”时”所得到的结果。
osvein

78

阴影和纹理

对球进行纹理处理,以显示其旋转。这有助于给出一个大于2维的球体旋转的错觉。

在此处输入图片说明

阴影会诱使您的大脑相信各种事物。使扁平物体看起来像具有第三维。

在此处输入图片说明

您甚至不必更改球的高度,只需要更改阴影的位置即可。

在此处输入图片说明

该视频很好地说明了阴影可以做什么。您会注意到,球在每个序列中的移动完全相同,只是阴影发生了变化:https : //www.youtube.com/watch?v=5fgOK0odA1o


6
很抱歉,我的gif太糟糕了。我希望我们可以嵌入视频。
MichaelHouse

18
这些gif是完美的,而且是可嵌入的。在视频的情况下,我需要手动播放他们中的每一个
lukas.pukenis

视频也将在外部链接。AFAIK甚至StackOverflow都不会下载youtube视频并进行存储...但是可以存储GIF。
尼尔森

一些网站可以嵌入YouTube
joojaa

好的建议,但抵消阴影似乎很奇怪。阴影是球到地面的投影。它沿直线移动(而不是像3d球那样的抛物线),并且当球在地面上时,球和阴影的位置必须匹配。如果我们偏移阴影而不是球,那可能会非常混乱。我们必须使阴影具有抛物线轨迹才能将其移动到球上,或者使它在球着陆时突然消失。这两个选项看起来都很奇怪。
interphx

1

阴影和球是关键方面。当高度增加时,阴影大小以及“球”与阴影之间的距离应增加。同样,当球高增加时,球尺寸也应增加。阴影位置表示球在2d中的位置,当球高增加时,您必须更改球位置(我假设光源是同质的,并且它不是像灯一样的单点。光源会改变阴影的所有内容)。最后,您可以添加一些动画,例如气流。


3
球的尺寸应该增加...仅当它们具有透视投影时。如果它是等轴测​​图(如图像),则球尺寸应保持不变。
Arturo TorresSánchez16年

0

我会按照上述海报的建议做,当球高时,阴影和大小会增加。我记得在老电视游戏中打网球的一件事是,球走得越高,球变得越大,球的速度也就减慢。当它到达顶点时,开始“下降”,随着它变得越来越小,它将再次开始更快。


-1

您可以在球下绘制阴影,就像在gif中一样。球越高,球与阴影之间的距离越长。

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.