3D角色控制器的简易制作
倘若你是一名游戏爱好者,那么第一人称的游戏相必你都或多或少的接触过,或玩过,或见过,或听过,近期人气相当火爆的赛博朋克2077同样也是一款第一人称视角的游戏。
那么,你是否好奇,如何通过鼠标控制人物视角,又如何通过‘w’,‘a’,‘s’,‘d’等键位去操控游戏角色的移动呢,接下来就让我们来实现这些功能。
首先要声明的是我们使用的软件是unity,使用的编程语言是c#,编程所需软件为Visual Studio,在这里不会详细说明具体的软件安装。
让我们打开unity!
点击右上角新建,模板选择3D,命名和位置自行选择,点击创建。此时显示界面(部分窗口位置有做调整)
建立角色外形
在hierarchy窗口单击右键,3DObject->capsule,单击,可以看到Scene视图中出现一个椭圆体,这就是我们的简易角色控制器的外形(也可以导入自己建的3d模型)。
将摄像头与角色绑定
在hierarchy窗口我们可以看到里面一个叫main camera的对象,将它拖拽到我们的角色也就是capsule上作为它的子项。
同时在Scene视图中将摄像头拖拽到我们的角色capsule的头部也就是上端的位置,具体操作如下:
1.在hierarchy窗口单击capsule,同时点击查看inspector窗口,找到transform,记住position的三个数值
2.单击camera,此时inspector窗口会改变,显示camera的具体参数,同样找到transform,将position的三个数值改为capsule同样的三个数值,此时摄像头与capsule的中心点会相互重合。
3.在hierarchy窗口上方找到移动的图标(第二个图标)
再回到Scene视图中camera身上会出现坐标轴,向上拉,将其移至capsule的上端位置,即摄像头作为角色的眼部存在。
那么,角色的主体我们便已经完成了,接下来就是通过脚本来实现角色的功能。
角色的视角
在Asset窗口单击右键,create->Folder,单击,创建一个空的文件夹命名为script,打开文件夹,再次单击右键create->c# script,单击,创建一个c#文件,命名为charactereyes。
输入代码(思考代码的作用,试着写出更高效整洁的代码)
保存,回到unity
在hierarchy窗口单击camera,然后将刚才写好的charactereyes文件拖到inspector中
可以看到inspector中charactereyes一栏下有很多自定义选项,一一填写,
(特别声明,character transform一栏的填写是将hierarchy窗口中的capsule拖拽到其右侧边框中去)
此时,视角的操控便已完成,大家可以点击Scene视图上方的播放键试试模拟运行。
角色的移动
首先,同样在Asset窗口中创建一个c# script文件命名为charactercontroller,单击点开,输入代码。
(同样尝试理解代码,写出更高效简洁的代码)
保存,回到unity
在hierarchy窗口单击capsule,然后将刚才写好的charactercontroller文件拖到inspector中。
填写相应参数
(可自行尝试不同数值,上面也是)
可以看到,在这里我们定义了快跑速度,行走速度,重力和跳跃高度。
然后在inspector最下方找到add component并单击左键查找character controller并点击将其添加。
这样,角色的移动就完成了!
让我们来检验效果叭!
首先在hierarchy中添加3D create->plane,在Scene视图中将其移动到capsule的下方,然后点击播放键开始模拟运行,一个能完成前后移动跳跃加速跑的第一人称简易角色控制器就完成啦!!
你做出来了吗?
END
图文 | 庄涵
编辑 | 徐丽格
初审 | 严旭
终审 | 武璐璐 叶勇利 蓝泽坚
新媒体信息技术中心
触控信息
传播文化
公众号:物院信息中心