You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity 3D:带偏移沿Y轴旋转物体朝向相机的实现问题

抓取物体旋转功能问题

抓取物体旋转效果

我正尝试在游戏中添加抓取物体的功能,希望被抓取的物体沿Y轴旋转以朝向玩家,同时保留旋转偏移量——例如拿起侧放的锤子时,它能保持侧放姿态,仅随相机移动而旋转。

以下是用于旋转物体的代码:

public void mouseRotate(Vector3 pos) {
    
    //计算物体与玩家之间的新角度
    float newAngle = Mathf.Rad2Deg * Mathf.Atan2(transform.position.x - pos.x, transform.position.z - pos.z);
    //对比上一帧的角度
    float change = lastAngle - newAngle;
    
    //若路径无遮挡,则尝试旋转物体朝向玩家
    Vector3 newRotation = transform.rotation.eulerAngles;
    newRotation.y -= change * 2.5f;
    rb.MoveRotation(Quaternion.Euler(newRotation));

    lastAngle = newAngle;

}

首次测试时旋转幅度不足,将change乘以2.5后仅存在微小但可察觉的误差,我不确定此调整生效的原因,曾猜测与物体和相机的距离有关,但该推测不成立。

内容的提问来源于stack exchange,提问作者parakeet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 20:55:01