Unity—2D跑酷类游戏(一)

实现思路

2D跑酷类游戏是模拟3D场景的效果的一个过程,主要就是怎么样通过一些2D图片来呈现3D游戏的效果。在这里我主要总结了三点。

  1. 在3D场景中随着障碍物的移动,其相应的坐标和大小也会发生变化。
  2. 让场景动起来。3D场景中是通过给主角一个速度让游戏场景跟随运动。而在2D游戏中可以选择让场景动起来(因为所谓的动是相对的,场景移动看起来就是主角在移动),因为受到各种因素的影响(比如场景中存在天空,若让主角动不好处理),我们可以选择让相对于主角的物体动起来。
  3. 场景中物体的随机生成逻辑。为了游戏的趣味性,要让场景中物体的生成具有随机性。而且还要控制生成间隔防止物体重叠。

一.物体的移动缩放

物体的移动会有一个从远到近的过程,我们知道离得越远的物体在我们的眼中是很小的,而离我们越近的物体我们会感觉很大。所以为了模拟真实世界中的物理效果,我们需要处理物体由远到近的过程中物体的缩放,在物体向主角靠近的过程中逐渐增大物体的Scale

二.场景的移动

若场景中存在交通线(类似斑马线)可以通过两张图片的动态切换实现道路的移动,场景中物体的移动轨迹不是直线,所以需要控制好物体移动和缩放的速度比来到达一个平衡。

三.物体生成逻辑

物体的生成逻辑有很多,要根据具体的需求制定不同的方案。在这里作者根据自身的项目需求简述一种。该项目中物体分为两类,一类是道路两边的装饰物,一类是道路上的障碍物。在生成处也就是视觉最远处设置一个空物体作为父物体,创建几个生成点并放在父物体下,物体的实例生成可以放在每个生成点的节点下,这样只需通过控制父物体的位置和缩放来控制所有的物体。物体的间隔主要利用时间进行控制,将时间控制在一个随即范围内来保证物体不会发生重叠。另外为增加生成的随机性,每个生成点下随机生成物体,也可以为空(为空的简单处理就是创建一个空物体进行实例化)

这节主要是设计思路,下节介绍主要实现过程,抱着学习的态度和大家交流,有更好的设计思路欢迎分享!

你可能感兴趣的:(Unity3D)