Камера Unity отскакивает со сферической анимацией при попытке применить гравитацию с помощью Rigidbody

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

Я хочу, чтобы сила тяжести на моей сфере и камере не отскакивала от мяча.

Вот пара сценариев, которые я пробовал, и их результаты:

1) Когда я прикрепляю твердое тело к Сфере (дочернему элементу пустого Объекта) с применением корневого движения true или false, мой персонаж не испытывает гравитации. Мяч отскакивает, но камера следует за ним, не отскакивая от него. Это также следует, если я нажимаю кнопку пробела (чтобы прыгать). Вся проблема в том, что мне нужна сила тяжести, чтобы упасть обратно, когда я прыгаю. Прямо сейчас я просто иду наверх.

2) Когда я прикрепляю твердое тело к пустому объекту (родительскому), я получаю гравитацию, но теперь моя камера отскакивает вместе с мячом, и если мяч кувыркается и вращается, камера вращается вместе с ним. .

Есть ли способ получить лучшее из обоих миров?

То есть: Болл испытывает гравитацию, а камера - нет. Камера просто следует за мячом от первого или третьего лица, не подпрыгивая.

Огромное спасибо


person Joey Vagedes    schedule 08.12.2016    source источник
comment
Я бы, вероятно, посоветовал вам использовать сценарий, чтобы камера следовала за мячом, а не иерархию преобразований.   -  person Serlite    schedule 08.12.2016


Ответы (1)


Что касается меня, я хотел бы создать переменную Vector3D для записи смещения между мячом и камерой. И вы просто каждый раз добавляете смещение к своей камере, чтобы она могла преследовать мяч, не отскакивая от него. Например:

Vector3D offset  = cameraPos - ballPos;
//...
CameraPos = ballPos + offset;

Если вы не хотите, чтобы камера двигалась под действием силы тяжести шара, вы можете заблокировать изменение оси Y.

person RavlueReference    schedule 08.12.2016