三维 - 无人机飞行(难度:1)
-
覆盖的关键课题
介绍
在这个教程中,我们会操控无人机跨越一个场景:
步骤 1 - 创建一个三维场景
创建一个新项目,并移除小狗角色。在“空白1”角色中,添加绿旗积木以及"创建三维场景"编程积木。请选择一些自带物体的场景,比如“城堡”、“城市”、“花园”和“村庄”。需要注意的是,如果你的电脑运行得比较慢,“城市”和“村庄”场景需要用更长时间来加载。
步骤 2 - 添加一个无人机模型
你可以通过积木"添加模型"来添加一个无人机模型。点击输入框“请选择”,将会弹出模型库,你可以选择自己喜欢的模型。需要注意的是,你需要为无人机设置一个合理的高度,以便它看起来不会太大,也不会太小。
需要注意的是,如果你把这个积木独立开来,只点击这个积木,运行速度会比较快。如果你把这个积木放到“创建三维场景”积木下面并一起运行,那就会需要更长时间。
步骤 3 - 添加一个追踪摄像头
因为无人机会到处飞行,我们不能使用静止的摄像头。相反,我们需要使用一个"追踪摄像头",无论目标物体去哪里,这种摄像头就会跟随到哪里。
需要注意的是,你需要把”主方向“设置为”目标“,从而使摄像头永远和无人机面向同一个方向。
步骤 4 - 新建一个积木”操控按钮“
为了把所有操控逻辑都放在同一个地方,让我们首先新建一个积木,名为”操控按钮“。你还可以为这个积木选择一个新的颜色。
步骤 5 - 当”e“键被按下的时候上升
我们让无人机在按下”e“键时升起,在没有按键被按下时停下。我们需要一个”重复执行“循环来持续检查”e“键是否被按下。要让无人机上升和停止,我们可以把对应的"上升速度"分别设置成400和0。
按下”e“键时如下所示:
步骤 6 - 当”q“键被按下时下降
每当”q“键被按下的时候,我们应该把”上升速度“设置成一个负数,以便无人机会下降。你自己可以添加这个逻辑代码吗?
修改程序如下:
使用“上升速度”的一个好处就是无人机将不会降落到地面以下(Z坐标为0)。请尝试做做看。
步骤 7 - 当”a“键被按下时左转
每当“a”键被按下时,我们应该通过设置“Z轴旋转”速度来使无人机左转。同样地,当没有按键被按下时,我们应该把Z轴旋转速度重置为0:
需要注意的是,这是一个新的“如果-否则”分支,而它应该被放置在前一个的“如果-否则”分支的下方,这是因为处理旋转速度和上升速度的逻辑并没有依赖关系,是相互独立的。举个例子,无人机可以同时上升和旋转。
步骤 8 - 当”d“键被按下时右转
接下来,你可以自己尝试让无人机在按下“d”键时右转吗?
这是其中一个办法,我们只需要把“Z轴旋转”从-100设置成100。
步骤 9 - “w” 和 "s"键用以向前移动和向后移动
最后,我们需要再添加两个按键:“w”键让无人机向前飞,而“s”键让无人机向后飞。你可以把对应的“前进速度”分别设置成一个正数和一个负数。
添加新积木的方法如下:
最终程序如下所示,以供参考。
创意扩展
你可以有很多办法来扩展这个程序。下面是一些创意想法:
-