3D动作手游的辅助瞄准算法(三)

https://blog.csdn.net/u011403161/article/details/111143602

书接上回,现在我们得到了一个基本正确的锁定优先级算法:

float T = distance * Mathf.Sin(angle * Mathf.Deg2Rad);

但是还有两个因素没有考虑:镜头视角和角色移动趋势

先说镜头

实际操作角色的时候,镜头朝向和角色朝向可能是不同的,甚至相反的

而直觉上应该优先锁定镜头中的目标,而不是角色视角中的目标

所以把玩家朝向,改成了镜头的朝向

//Vector3 f = Player.transform.forward;
Vector3 f = Camera.Main.transform.forward;

再说输入

当目标在前方,但是摇杆往左或右拉的时候,

直觉上应该在输入的方向上找新的锁定的目标,即

f = Quaternion.Euler(0,InputAngle,0) * f;

下期贴上完整代码

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值