【游戏开发】教你如何制作一个可以通过键盘移动角色
首先,打开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。
完!!!
转载声明:本文来源于网络,不作任何商业用途
全部评论
暂无留言,赶紧抢占沙发