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

Unity 3D中如何用轨道/自由视角相机实现指向缩放功能?

3D透视相机「指向缩放」功能实现问题(Cinemachine自由视角/轨道变换相机)

我正在开发游戏的3D透视相机「指向缩放」功能,需求是:缩放并朝向目标点时,光标保持在同一XYZ位置。但在Cinemachine的自由视角/轨道变换相机上实现这个效果遇到了困难,可能是我想复杂了。

普通相机可以通过按相机位置与光标位置的差值比例移动相机位置实现该效果,代码示例如下:

mainCamera.transform.position = Vector3.MoveTowards(mainCamera.transform.position, Scrolldirection, scrollwheelValue * step);

我想知道是否可以基于目标Y轴位置调整自由视角相机的轨道半径?举个例子:相机初始位置为(100,50,-100),鼠标光标位置为(200,0,-200),缩放至中途时新相机位置应为(150,25,-150)以保持光标位置不变。调整X和Z轴只需移动焦点即可,但通过轨道半径和高度调整Y轴25单位时,会未知地改变X和Z轴,我不想进行复杂的数学计算,是否有更简单的方法或未发现的Cinemachine接口?

缩放前后的轨道示意图

感谢各位的帮助,祝好!


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 18:12:45