TUNIC是当今最受期待的独立游戏之一(至少在我们撰写此故事之前)。 游戏讲述了一只被3D等距可爱世界包围的小狐狸。 我们在2016年或更早的时候第一次看到TUNIC(当时它被称为Secret Legend)。 当小狐狸在草地上行走时, 安德鲁·史蒂斯 ( Andrew Shouldice)如何倾斜草丛,令我们感到震惊。
它真的很可爱,我们知道我们将在Roojack上实现它。 当然,我们问安德鲁是否可以将其实现到我们的游戏中,他的回答是肯定的。 是他的绿灯,是的,这就是我们的做法。
- DG Games工作坊-“臭虫必死”的独家开发商专访
- GameDev Protips:如何完成您的第一个独立游戏
- 游戏引擎
- Kenalan Dengan Hololens…
- 提升BaaS —在Microdose VR中处理持久数据
我们使用Unity Engine制作了一款名为Roojack的游戏。 我们想要在一个可爱的世界中制作一个角色可爱的游戏。 因此,我们认为从TUNIC实施倾斜草可能是一个好主意。 但是实施可能会给“草丛”带来痛苦(至少对我们而言)。
因为我们正在使用Unity,所以我们要做的第一步是找到一种方法,让Unity可以为我们处理(知道TUNIC也是在Unity中构建的)。 因此,我们开始尝试使用Unity的Physics Joints。 我们尝试了两个弹簧接头,这就是它的样子。
是的,我们知道这不会发生。 因此,我们决定自己编写一个脚本来完成。 我们是如何做到的? 数学! 三角函数(我们知道有一天我们会用到这个东西)。 我们不会关注每个步骤的数学运算方式,而是会讨论如何执行数学运算的想法。
那么,我们需要做些什么呢? 我们只需要角色和草皮的职位。
从这两个位置开始,我们将让草进行旋转(倾斜),因此如果我们踩到该草,它将旋转。
首先,我们将使用草的局部位置将地面分成4个象限,草本身将成为该象限的中心。
然后,我们将使用草局部变换的+ X轴来计算从角色到草到+ X轴的角度。
之后,我们可以根据先前计算得到的角度,针对X和Z轴实现草旋转。
我们使用45度作为底角。 这意味着,如果角色正好在+ Z轴上,则我们将草向-Z轴旋转45度,这同样适用于X轴。
现在,我们必须根据角色在我们之前定义的象限上的位置来处理每种情况。 您可以在下面的图片中看到,草将在我们的角色所在的象限的对面旋转。
我们将区域划分为4个象限,因为我们希望将字符与草之间的角度保持至多90度。 例如,如果我们位于第2象限,则角度将至少为90度。 我们可以通过将角度减小90度来变换角度,同时保持在第2象限。第3和第4象限也发生了同样的情况。
最终,当我们向草地移动时,它会旋转。 但是,看起来很奇怪。 不管我们的角色到草丛中有多远,它都会以相同的角度旋转草丛。
现在,我们必须根据角色与草的接近程度,逐渐增加或减小应用于草的角度。 而且,如果角色跳到草丛中😉,别忘了处理。
这就是我们将TUNIC倾斜草引入Roojack的方式。
Roojack有望在2018年初在Steam上发布
希望我们:http://store.steampowered.com/app/728720/Roojack/
脸书:https://www.facebook.com/GrimPros/
网址:https://grimpros.com/