毕设项目(一)人物角色移动与转向

本文介绍了Unity中的人物角色移动与剑旋转的实现方法。通过射线检测实现剑随鼠标指向旋转,更新中每帧调用。人物移动根据用户输入计算移动方向和速度,转向则通过计算角度差和叉乘判断左右转,结合旋转速度完成平滑转向。

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

毕业设计人物如下(资源来自游戏《玄乌》):

人物的剑始终指向鼠标所在位置,人物朝向则根据移动方向判定。

 

第一部分:剑旋转的实现

void MouseRotate()
    {
        Ray ray = camera.ScreenPointToRay(Input.mousePosition);
        RaycastHit hitInfo;
        if (Physics.Raycast(ray, out hitInfo, 100, LayerMask.GetMask("Land")))
        {
            mousepoint = hitInfo.point;
            mousepoint.y = sword.position.y;
            StaticProperties.mousepoint = this.mousepoint;//更新全局变量
            sword.LookAt(mousepoint);
        }
    }

摄像机向鼠标方向发出一个射线,然后进行射线检测从而获取到鼠标点对应的三维场景中的点。

这个方法需要在Update中每帧调用

 

第二部分:人物移动的实现

1.移动

        //移动
        motion = Vector3.zero;
        if (Input.GetKey(KeyCode.A))
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我只知道我要大开杀戒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值