噩梦射手(SurvivalShooter)教程(三)

本文介绍了Unity官方教程SurvivalShooter案例中的主角跟随鼠标转动实现。通过射线检测,设定地板层级并限制射线长度,优化点击范围。在代码中使用Camera.ScreenPointToRay和RaycastHit进行射线投射,结合Quaternion.LookRotation实现主角朝向鼠标位置旋转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里写图片描述

SurvivalShooter 是Unity的官方教程案例

主角跟随鼠标转动

利用射线的方法
这里写图片描述

floorMask是设定地板的层级,rayLength表示射线的长度
返回Unity中添加layer
这里写图片描述
添加“Floor”
这里写图片描述
将地板的Layer设置成“Floor”

这里写图片描述

这里写图片描述

在上一节的代码中新增这些代码

Ray mouseRay = Camera.main.ScreenPointToRay (Input.mousePosition);
RaycastHit floorHit;
Physics.Raycast (mouseRay,out floorHit,rayLength, floorMask);
第三个参数是射线的长度,第四个参数是一个标记。
表示只有地板区域是可点击的范围,都是为了优化加入的设计

Vector3 playerRotate = floorHit.point-transform.position;
Quaternion rotate = Quaternion.LookRotation (playerRotate);
旋转的方式有很多,这边选取四元数的方法来写。

点击运行,可以看到主角可以随鼠标旋转了

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值