【cn-stem】用upbge自制火箭小游戏。
cn·@cheva·
0.000 HBD【cn-stem】用upbge自制火箭小游戏。
昨天发帖介绍了自制的火箭小游戏,小家伙玩得很开心。今天再给大家介绍一下制作过程,使用的是3D软件blender的修改版upbge。制作过程中不需要写代码,而是连接各种逻辑方块,算是可视化编程吧。有兴趣可以大家一起研究。 ## 一、upbge介绍 blender在升级到2.8版以前是自带游戏引擎的,不过升级到2.8版后,把游戏引擎去掉了。但是upbge这个项目继续维护了游戏引擎的的功能,upbge算是blender的一个分叉。其他的建模,渲染,后期。。。等功能和blender一模一样,但是保留游戏引擎。而且和blender一样是开源免费的。 [下载地址](https://upbge.org/) ## 二、游戏介绍 游戏很简单,发射架上有一个火箭,按下空格键就会受到向上的推力,就像点火发射一样。放开空格键,推力会消失,游戏引擎已经设置了重力,所以会向下掉。掉落过程中按空格键可以重新施加推力,接住下落的火箭。游戏的目的很简单,就是保持火箭飞行,直到到达火星,然后返回地球。下面这个gif动画就是游戏过程:  <center>图一、游戏画面 来源:本人截图。版权:CC0</center> ## 三、游戏资源制作 blender本身就是一个非常强大的3D建模软件,建模过程非常简单。这里就展示一下,不详细介绍了: 1.火箭模型:  <center>图二、火箭主体模型 来源:本人截图 版权:CC0</center> 2.发射架模型:  <center>图三、发射架模型 来源:本人截图 版权:CC0</center> 发射架的建模就是将长方体细分,然后删去面,留下边缘(edge),然后加一个皮肤包裹修改器(skin modifier)。 3、云朵模型:  <center>图四、云朵的模型 来源:本人截图 版权:CC0</center> 云朵就是将几个变形球(meta ball)物体凑在一起,很简单。 ## 三、游戏逻辑设置: 开头说了,upbge的游戏逻辑设置不需要写代码,只要连接逻辑方块就行了,upbge的游戏方块分三类: - 感应器 - 控制器 - 驱动器 其中感应器接受玩家输入或者游戏场景中的其他信息,然后交给控制器,控制值负责逻辑判断,根据相应的条件驱动相应的驱动器,驱动器则驱动场景中的物体运动。 这个小游戏的主要逻辑就是:按下空格键时,火箭受到向上的推力,向上飞行。所以需要一个“键盘感应器”,驱动器则是一个“运动驱动器”并设置为“伺服器模式”,这样物体的运动是通过受力产生的。连接方式如下:  <center>图四、游戏控制逻辑设置 来源:本人截图 版权:CC0</center> 游戏的主要逻辑就设置好了,是不是很简单,不用写一行代码。你也可以自己做游戏,快来下载免费的upbge吧。 --- 参考资料: - 作者:mikepan [《The Complete "Game Development with Blender" Book》](https://github.com/mikepan/GameEngineBook)
👍 stmdev, coredump, randomvoter, dblogvoter, pixresteemer, anonyvoter, neoxvoter, creavoter, steem-holder, pixelfan, cn-trail, team-cn, bob77, cn-marlians, jsquare, justyy, happyukgo, superbing, dailystats, jianan, vincenthan, serenazz, twinsnicole, steemitvip, witnesstools, ilovecoding, justsoso, llfestyle, morningshlne, nokeh, al2ping, kangnajiang, geass, dailyfortune, anxin, nean, woolfe19861008, yuxuan, yedda, aaronstar, fishcc, yuting, lilyan, zens, atinna, ffbank, weicomenew, cplusplus, longhash, cnlifes, cnfish, steeemmonsters, myiord1992, robinlee, rainyapril, kikima, daxiang, moobear, foodielifestyle, dongfengman, zasilla, fishaa, deepthinking, gogoabc, fanso, lilypang22, fishdd, regals, sweet-jenny8, laiyuehta, turtlegraphics, steemfuckeos, erlcet, maiydue, wongshiylng, deepcrypti8, wilhb82, leodec, splinterislands, keivinzhang, chromebook, ethanlee, joelone, virus707, doraemon, cheva, cn-pal, cn-zzang, cn-neoxag, laissez-faire, dailychina,