C# 我想把物体指向我拉屏幕的另一侧

C# 我想把物体指向我拉屏幕的另一侧,c#,unity3d,C#,Unity3d,我想把物体指向我扫过屏幕的对面。 对象已在场景中。我只想编辑y坐标 例如 假设用户从上到下滑动Android屏幕。 然后,物体看背面, 当用户从左向右滑动Android屏幕时, 那个物体向左看 我有在Unity官方标准资产中使用操纵杆改变对象方向的技术 任何人都请回答。好吧,首先你需要检测刷卡的方向。然后,将对象的缩放或旋转分别指定给方向 要进行滑动方向计算,您可以在资产存储上寻找一些解决方案。 或者您也可以自己实施: 1) 制作一个全屏触摸区域(碰撞器)。附加一个MonoBehavior脚本,

我想把物体指向我扫过屏幕的对面。 对象已在场景中。我只想编辑y坐标

例如

假设用户从上到下滑动Android屏幕。 然后,物体看背面, 当用户从左向右滑动Android屏幕时, 那个物体向左看

我有在Unity官方标准资产中使用操纵杆改变对象方向的技术


任何人都请回答。

好吧,首先你需要检测刷卡的方向。然后,将对象的缩放或旋转分别指定给方向

要进行滑动方向计算,您可以在资产存储上寻找一些解决方案。 或者您也可以自己实施:

1) 制作一个全屏触摸区域(碰撞器)。附加一个MonoBehavior脚本,该脚本实现
IPInterDownHandler
IPInterUpHandler
接口

2) 记住PointerDown事件的触摸位置

3) 在PointerUp事件处理程序中,执行方向计算:

    var distance = pointerUpPosition - pointerDownPosition;

    if (distance.y > distance.x) // vertical
    {
       theObject.transform.localScale *= Vector3.up * (pointerUpPosition.y > pointerDownPosition.y ? -1 : 1);
    }
    else
    {
       theObject.transform.localScale *= Vector3.right * (pointerUpPosition.x > pointerDownPosition.x ? -1 : 1);
    }
此解决方案不包括边缘情况、f.i.直对角滑动。此外,它还使用缩放来确定对象的方向,并将在每次滑动时旋转对象


您也可以使用Unity的UI事件系统实现类似的实现。但是,那里的事件会有所不同。

您的意思是
外观
锁定
?您的意思是什么?确切地说;)你所说的
对象从背面看是什么意思
对象从左边看是什么意思?