为了账号安全,请及时绑定邮箱和手机立即绑定

相机在 X 轴上移动但不在 Y 轴上移动

相机在 X 轴上移动但不在 Y 轴上移动

C#
冉冉说 2021-10-09 10:57:09
我有一个脚本,所以它Main Camera会在x轴上移动。这工作得很好。然后我有一个不同的场景,我希望相机跟随鼠标在轴x和y轴上移动。所以我制作了一个新脚本,我的代码看起来像这样transform.position = newvector3.Movetowards(        Input.GetAxisRaw("mouse X") * speed * Time.DeltaTime,         0f,          Input.GetAxisRaw("mouse Y")  * speed* Time.DeltaTime);它在x轴上移动得很好,但根本不在y轴上移动。有谁知道为什么?
查看完整描述

3 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

你试过这个吗?


transform.position = newvector3.Movetowards(

    Input.GetAxisRaw("mouse X") * speed * Time.DeltaTime,  

    Input.GetAxisRaw("mouse Y")  * speed* Time.DeltaTime,

    0f

);


查看完整回答
反对 回复 2021-10-09
?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

您可能不确定这是否可行,但请尝试一下


public float speed;

    private void Update()

    {


        Vector3 someVector3;



        someVector3.x = Input.GetAxisRaw("mouse x") * speed * Time.deltaTime;

        someVector3.y = Input.GetAxisRaw("mouse y") * speed * Time.deltaTime;

        someVector3.z = 0;


        transform.position += someVector3;

    }

}


查看完整回答
反对 回复 2021-10-09
?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

如果您不知道哪个是目标点,我认为 MoveTowards 不是改变位置的最佳方式。您应该简单地为您的坐标添加一个增量:


transform.position += new Vector3(

        Input.GetAxisRaw("mouse X") * speed * Time.DeltaTime, 

        0f,  

        Input.GetAxisRaw("mouse Y")  * speed* Time.DeltaTime

);

如果位置不能增加,请纠正我。这应该在 X 和 Z 轴上移动您的对象。


查看完整回答
反对 回复 2021-10-09
  • 3 回答
  • 0 关注
  • 176 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信