Как повернуть объект одним касанием пальца в Unity - PullRequest
0 голосов
/ 29 августа 2018

Я занимаюсь разработкой приложения на платформе Unity для Android Mobile. В котором я вращаю объект одним касанием пальца, с помощью этого скрипта,

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 голосов
/ 29 августа 2018

У вас должна быть какая-то Collider привязанная к 3d-модели / Объекту, с которой вы хотели бы взаимодействовать. Что вы можете сделать, это добавить BoxCollider к любому импортируемому объекту, или, если к нему прикреплено MeshFilter, вы также можете добавить MeshCollider.

0 голосов
/ 29 августа 2018

Вы должны убедиться, что показанный вами скрипт добавлен в правый объект верхнего уровня, а не во вложенный компонент этого объекта. Если у вас все еще есть проблемы, пожалуйста, покажите нам больше об объектах, к которым вы пытаетесь применить это. И какие компоненты и опции для него установлены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...