如何在Unity中使用单指触摸手势旋转对象

时间:2018-08-29 07:31:52

标签: android unity3d

我正在为Android Mobile平台在Unity上开发一个应用程序。在此脚本的帮助下,我用单指触摸手势旋转对象,

using UnityEngine;

public class MouseDragRotate : MonoBehaviour {
    float rotationSpeed = 0.02f;

    void OnMouseDrag()
    {
         float XaxisRotation = Input.GetAxis("Mouse X")*rotationSpeed;
         float YaxisRotation = Input.GetAxis("Mouse Y")*rotationSpeed;
         // select the axis by which you want to rotate the GameObject
         transform.RotateAround (Vector3.down, XaxisRotation);
         transform.RotateAround (Vector3.right, YaxisRotation);
    }
}

但是问题在于,该脚本仅适用于所有Unity资产,例如立方体,球体,胶囊等。但是不能使用第三方3d对象,

所以简单的问题是,为什么此脚本不能在第三方3d对象上工作?

2 个答案:

答案 0 :(得分:1)

您应确保将显示的脚本添加到右侧顶级对象中,而不是添加到该对象的嵌套组件中。 如果仍然有问题,请向我们显示更多有关您尝试将此对象应用到的对象的信息。以及为其设置了哪些组件和选项。

答案 1 :(得分:1)

您必须在要与之交互的3d模型/对象上附加某种Collider。您可以做的是向任何导入的对象中添加一个BoxCollider,或者如果附加了MeshFilter,您还可以添加一个MeshCollider