【游戏开发】教你如何制作一个可以通过键盘移动角色

2021-04-06
3791
0

 

首先,打开godot游戏引擎——开源3d,2d游戏引擎。

 

新建一个工程

 

 

渲染器可以稍后修改,不要紧。

 

第一步导入模型,支持dae,obj和其他一些模型格式,具体支持哪些格式可以上godot官网查

 

 

双击后出现提示框

选择创建后,godot会自动新建一个场景,用来存放这个模型

 

1-hide

看,模型正常了

 

接下来,我们需要保存场景以便在主场景中使用。

 

第二步新建一个主场景,在里面添加spatial节点作为根节点,然后加入一个kinematicbody节点(动力学身体节点),然后再在这个节点里面添加一个collisionShape 选择AABB立方体碰撞箱类型就行了,或者胶囊碰撞箱也行,同时,将摄影机添加到模型节点,以便摄影机跟随模型。添加后,需要手动调整相机位置。(我用的第三人称视角)

 

 

这里有更多节点的原因是我要演示我正在做的游戏项目,注意miku节点的右边有一个cut的图标,这表示这个节点是来自其他场景的实例。点击即可进入miku的场景进行编辑。

然后右键kinebody节点,选择添加脚本。

第二步,添加键盘事件。

1.进入项目设置

 

输入在“操作”列中定义的输入事件的名称

 

然后点击添加按钮即可添加自定义输入事件。我用的WASD移动,你们可以自己设置。

 

添加输入事件后,需要定义相应的键盘或鼠标或其他句柄输入

 

定义方法简单易懂

接着就是上代码了,关键方法translate(),rotate_y()

translate(Vector3(x,y,z))这个方法是用来移动模型的,内部参数是一个Vector3类型的参数,x,y,z对应的是移动的偏移量

如translate(Vector3(0,0,10))这行代码表示向z轴正方向移动十个偏移量

rotate_y(degrees)         degrees代表旋转的角度,rotate_y()表示绕Y轴旋转

如果是A就向左旋转,如果是D就向右旋转。下图是个参考,具体数值大小可以自己写。

 

我把A和D设置成了移动是因为后来我把旋转的事情交给鼠标控制了

图中的walk变量其实是一个Vector3类型的变量

var walk=Vector3(0,0,1) ←源码

第三步,运行我们的场景,按下键盘wasd就能移动角色了。

 

模型拿的是mmd自带的模型。用blender做的动画,插件导出的dae。

 

完!!!

 

转载声明:本文来源于网络,不作任何商业用途

 

免责声明:本文内部分内容来自网络,所涉绘画作品及文字版权与著作权归原作者,若有侵权或异议请联系我们处理。
收藏

全部评论

您还没登录

暂无留言,赶紧抢占沙发
王氏教育是国内专业的CG数字艺术设计线上线下学习平台,在王氏教育,有原画、插画、漫画、影视、3D模型等培训课程,也有学习资源下载、行业社区交流。CG数字艺术学习,来王氏教育。
绘学霸iOS端二维码

IOS下载

绘学霸安卓端二维码

安卓下载

绘学霸微信小程序二维码

小程序

版权声明
本网站所有产品设计、功能及展示形式,均已受版权或产权保护,任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
热线电话
18026259035
咨询时间:9:00~21:00
在线客服
联系网站客服
客服微信:18026259035
公司地址
中国·广州
广州市海珠区晓港中马路130号之19
绘学霸客户端(权限暂无,用于CG资源与教程交流分享)
王氏教育 王氏教育