Прикосновение пальца и перетаскивание Повернуть 3D-шар - Unity 3D - PullRequest
0 голосов
/ 21 сентября 2018

Мой 3-й шар непрерывно двигался в прямом направлении, поэтому я хочу дать X-вращение для этого плюса. Игрок перетаскивал мяч горизонтально на экране, поэтому для этого горизонтального движения я хочу дать Z-вращение.

Чтобы достичь моего желания, в результате я создал объекты игры с родителями и детьми с мячом, где родительский объект игры содержит только коллайдер и твердое тело, и это будет выполнять фактическое физическое движение.С другой стороны, дочерний игровой объект содержит только рендеринг сетки, он будет вращаться по желанию.

Следующее изображение дает вам больше представления о моей структуре:

Ball Parent: enter image description here Дочерний мяч: enter image description here

Для придания вращению шаровой сетке, как у родительского физического шара, я написал этот код:

public class BallMeshRolling : MonoBehaviour
{
     private Vector3 ballLastPosition;


void Start ()
{
    ballLastPosition = transform.parent.position;
}

void Update ()
{

    //implementation-1
    //float speed = Vector3.Distance (transform.parent.position, ballLastPosition) * 30f;
    //transform.RotateAround (transform.position, Vector3.right, speed);

    //implementation-2
    //Vector3 differenceInPosition = (transform.parent.position - ballLastPosition).normalized;
    //transform.Rotate (differenceInPosition * 10f);

    //implementation-3
    Vector3 differenceInPosition = (transform.parent.position - ballLastPosition).normalized * 50f; 
    Quaternion rotation = Quaternion.LookRotation(differenceInPosition);
    transform.rotation = rotation;

    ballLastPosition = transform.parent.position;
}
}

Но ни один из вышеперечисленных способов не работает должным образом, поэтому я ожидаю, что с вашей стороны появятся и другие лучшие предложения.

РЕДАКТИРОВАТЬ: В целом я пытаюсь добиться чего-то вродеэто: Догнать - Ketchapp - Рекорд 1274

1 Ответ

0 голосов
/ 22 сентября 2018

Существует серия учебных пособий от Unity по вращению и перемещению 3D-шара, которые помогут вам разобраться в основах вашей проблемы.Хотелось бы, чтобы это помогло.

Обучающий ролл-урок в Unity Tutorials

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