在Unity 2d中使用鼠标进行有限的头部转动



我正在使用Unity 2d,我这样做是为了让相机在x轴上用鼠标转动没有问题。但我希望相机只转动一小部分。鼠标需要有完全的移动自由度,但相机需要在某个点停止。

我试着制作一个空的游戏对象,并将其设置为如果相机位置等于游戏对象的位置,相机会稍微向后移动,但如果相机剪裁,会导致很多问题。我也试过改变速度,但当然没用。有人知道我如何做到这一点而不需要剪辑相机吗?很抱歉缺少代码,因为我的电脑没有兴趣访问。目前我的代码基本上是:

transform.position = newvector3.Movetowards(
Input.GetAxisRaw("mouse X") * speed * Time.DeltaTime, 
0f,  
Input.GetAxisRaw("mouse Y")  * 0 * Time.DeltaTime
);

这可能有点不准确,但这是的基本原理

要在使用有限的相机移动时防止剪切,请尝试类似的操作

transform.position=新矢量3(Mathf.Clamp(transform.pposition.x,MIN_x,MAX_x(,0,0(;

当然,用你希望相机能够旋转到的最小和最大位置的数字来代替MIN_X和MAX_X。这是我的想法,所以代码可能不是100%准确的。如果你遇到麻烦,你可以在Unity文档中找到Mathf。Clamp。

最新更新