unity第三人称鼠标控制视角_技术宅基地——3D角色控制器的简易制作

f93f56f86146e488998e5e9fea3f0897.gif 662c1d1a579c03f1ea570770120fcfc9.png

3D角色控制器的简易制作

6fa66a15818ae9aa45aff696742c43a2.gif

倘若你是一名游戏爱好者,那么第一人称的游戏相必你都或多或少的接触过,或玩过,或见过,或听过,近期人气相当火爆的赛博朋克2077同样也是一款第一人称视角的游戏。

那么,你是否好奇,如何通过鼠标控制人物视角,又如何通过‘w’,‘a’,‘s’,‘d’等键位去操控游戏角色的移动呢,接下来就让我们来实现这些功能。

首先要声明的是我们使用的软件是unity,使用的编程语言是c#,编程所需软件为Visual Studio,在这里不会详细说明具体的软件安装。

让我们打开unity!

e4357d788860b741ba042a6da406b424.png

点击右上角新建,模板选择3D,命名和位置自行选择,点击创建。此时显示界面(部分窗口位置有做调整)

355f6bac7424986896a0f8080fccae85.png

建立角色外形

在hierarchy窗口单击右键,3DObject->capsule,单击,可以看到Scene视图中出现一个椭圆体,这就是我们的简易角色控制器的外形(也可以导入自己建的3d模型)。

04d16790140b083a3c43a3bcb94a0e06.png

将摄像头与角色绑定

在hierarchy窗口我们可以看到里面一个叫main camera的对象,将它拖拽到我们的角色也就是capsule上作为它的子项。

0140a8e41c2c3b9e588b5526a722e288.png

同时在Scene视图中将摄像头拖拽到我们的角色capsule的头部也就是上端的位置,具体操作如下:

1.在hierarchy窗口单击capsule,同时点击查看inspector窗口,找到transform,记住position的三个数值

499437127e8992d7eb7d4a5d7677b872.png

2.单击camera,此时inspector窗口会改变,显示camera的具体参数,同样找到transform,将position的三个数值改为capsule同样的三个数值,此时摄像头与capsule的中心点会相互重合。

35737e14f1892fb387956095dff53f9c.png

3.在hierarchy窗口上方找到移动的图标(第二个图标)

b36aa6c7a49a096663e9ab76968c6975.png

再回到Scene视图中camera身上会出现坐标轴,向上拉,将其移至capsule的上端位置,即摄像头作为角色的眼部存在。

那么,角色的主体我们便已经完成了,接下来就是通过脚本来实现角色的功能。

角色的视角

在Asset窗口单击右键,create->Folder,单击,创建一个空的文件夹命名为script,打开文件夹,再次单击右键create->c# script,单击,创建一个c#文件,命名为charactereyes。

3b4b5f6b40a5dda3ededad9ca01441cd.png

输入代码(思考代码的作用,试着写出更高效整洁的代码)

76f23061bb448d655004a0bd5081d330.png

保存,回到unity

在hierarchy窗口单击camera,然后将刚才写好的charactereyes文件拖到inspector中

d538c5d56786db6727bc87ce607cf32e.png

可以看到inspector中charactereyes一栏下有很多自定义选项,一一填写,

d9f21bfed02db5f4e4ce19f3b1abf3fe.png

(特别声明,character transform一栏的填写是将hierarchy窗口中的capsule拖拽到其右侧边框中去)

此时,视角的操控便已完成,大家可以点击Scene视图上方的播放键试试模拟运行。

角色的移动

首先,同样在Asset窗口中创建一个c# script文件命名为charactercontroller,单击点开,输入代码。

92476c3c4024330107e99dff126c04b5.png

(同样尝试理解代码,写出更高效简洁的代码)

保存,回到unity

在hierarchy窗口单击capsule,然后将刚才写好的charactercontroller文件拖到inspector中。

c9742eb44d9b8fc18ddecbe00e94bdd2.png

填写相应参数

(可自行尝试不同数值,上面也是)

0ba23faa2e0d84f9b6116d3a24aaebf4.png

可以看到,在这里我们定义了快跑速度,行走速度,重力和跳跃高度。

然后在inspector最下方找到add component并单击左键查找character controller并点击将其添加。

d2a5dc595fa9c352eb80fe46236b7847.png

这样,角色的移动就完成了!

让我们来检验效果叭!

896b39f9086eb76f652921ec2810e2ce.png

首先在hierarchy中添加3D create->plane,在Scene视图中将其移动到capsule的下方,然后点击播放键开始模拟运行,一个能完成前后移动跳跃加速跑的第一人称简易角色控制器就完成啦!!

你做出来了吗?

END

图文 | 庄涵

编辑 | 徐丽格

初审 | 严旭

终审 | 武璐璐 叶勇利 蓝泽坚

61bb76316952b55238d47f2d0956c645.png

新媒体信息技术中心

触控信息

传播文化

公众号:物院信息中心

cc795b71737f66da9971f0ff49c7a48d.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值