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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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 = new vector 3(Mathf.Clamp(transform.position.x,MIN_X,MAX_X),0,0);

当然,将MIN_X和MAX_X替换为您希望相机能够旋转到的最小和最大位置的数量。这是我的头脑,所以代码可能不是100%准确。如果遇到问题,可以在Unity文档中找到Mathf.Clamp。

以上是关于在Unity 2d中使用鼠标进行有限的头部转动的主要内容,如果未能解决你的问题,请参考以下文章

Unity 如何实现游戏Avatar角色头部跟随视角转动

Unity - 2D 瞄准鼠标,同时限制最小/最大旋转并考虑父级旋转

Unity2D中使用鼠标拖动物体移动

Unity 2D旋转不顺畅

unity 2d角色根据鼠标转向

如何在Unity中实现射线判断鼠标所点击的2D游戏对象?