【cn-stem】用upbge自制火箭小游戏。

in #cn6 years ago

昨天发帖介绍了自制的火箭小游戏,小家伙玩得很开心。今天再给大家介绍一下制作过程,使用的是3D软件blender的修改版upbge。制作过程中不需要写代码,而是连接各种逻辑方块,算是可视化编程吧。有兴趣可以大家一起研究。

一、upbge介绍

blender在升级到2.8版以前是自带游戏引擎的,不过升级到2.8版后,把游戏引擎去掉了。但是upbge这个项目继续维护了游戏引擎的的功能,upbge算是blender的一个分叉。其他的建模,渲染,后期。。。等功能和blender一模一样,但是保留游戏引擎。而且和blender一样是开源免费的。
下载地址

二、游戏介绍

游戏很简单,发射架上有一个火箭,按下空格键就会受到向上的推力,就像点火发射一样。放开空格键,推力会消失,游戏引擎已经设置了重力,所以会向下掉。掉落过程中按空格键可以重新施加推力,接住下落的火箭。游戏的目的很简单,就是保持火箭飞行,直到到达火星,然后返回地球。下面这个gif动画就是游戏过程:
rocketgame.gif

图一、游戏画面 来源:本人截图。版权:CC0

三、游戏资源制作

blender本身就是一个非常强大的3D建模软件,建模过程非常简单。这里就展示一下,不详细介绍了:
1.火箭模型:
bigrocket.png

图二、火箭主体模型 来源:本人截图 版权:CC0

2.发射架模型:
Image 1.jpg
图三、发射架模型 来源:本人截图 版权:CC0

发射架的建模就是将长方体细分,然后删去面,留下边缘(edge),然后加一个皮肤包裹修改器(skin modifier)。
3、云朵模型:
bigrocketcloud.jpg
图四、云朵的模型 来源:本人截图 版权:CC0

云朵就是将几个变形球(meta ball)物体凑在一起,很简单。

三、游戏逻辑设置:

开头说了,upbge的游戏逻辑设置不需要写代码,只要连接逻辑方块就行了,upbge的游戏方块分三类:

  • 感应器
  • 控制器
  • 驱动器
    其中感应器接受玩家输入或者游戏场景中的其他信息,然后交给控制器,控制值负责逻辑判断,根据相应的条件驱动相应的驱动器,驱动器则驱动场景中的物体运动。
    这个小游戏的主要逻辑就是:按下空格键时,火箭受到向上的推力,向上飞行。所以需要一个“键盘感应器”,驱动器则是一个“运动驱动器”并设置为“伺服器模式”,这样物体的运动是通过受力产生的。连接方式如下:
    logic.jpg
    图四、游戏控制逻辑设置 来源:本人截图 版权:CC0

    游戏的主要逻辑就设置好了,是不是很简单,不用写一行代码。你也可以自己做游戏,快来下载免费的upbge吧。

参考资料:

  • 作者:mikepan [《The Complete "Game Development with Blender" Book》]

Posted using Partiko Android

Sort:  

JCAR 구독보팅입니다.
3월이 시작되었네요.
건강하고 활기를 찾는 3월 되기를 바랍니다.



This post has been voted on by the SteemSTEM curation team and voting trail. It is elligible for support from @curie and @minnowbooster.

If you appreciate the work we are doing, then consider supporting our witness @stem.witness. Additional witness support to the curie witness would be appreciated as well.

For additional information please join us on the SteemSTEM discord and to get to know the rest of the community!

Please consider using the steemstem.io app and/or including @steemstem in the list of beneficiaries of this post. This could yield a stronger support from SteemSTEM.