как заставить игровой объект соответствовать другим формам игрового объекта - PullRequest
0 голосов
/ 15 октября 2018

Я пытаюсь сделать игру в Unity и хочу, чтобы игровой объект упал и соответствовал форме земли под ним.

при запуске игры:

How the game starts

что делает:

enter image description here

что я хотел бы сделать

enter image description here

Я довольно приличный, так что даже намек в правильном направлении будет полезен.спасибо.

1 Ответ

0 голосов
/ 15 октября 2018

Один из способов сделать это - дублировать наземный объект и заменить падающий объект на измененную версию этого дубликата.Как вы можете сделать это, выполнив следующие действия при входе в столкновение между падающим объектом и данным наземным объектом:

  1. Убедитесь, что этот падающий объект еще не столкнулся с этим наземным объектом, например:fallingObject.lastCopiedGroundObject GameObject.
  2. Найти y из groundObject Collider.bounds.size
  3. Добавить y к groundObject.transform.position к новому Vector3 newPos
  4. Используйте GameObject newFalling = Object.Instantiate(groundObject, newPos, groundObject.rotation, fallingObject.parent).
  5. Скопируйте rotationalVelocity и velocity с жесткого тела падающего объекта на жесткий корпус newFalling, если необходимо.
  6. Добавьте, удалите,при необходимости измените компоненты на newFalling (например, заменив текстуры), чтобы он продолжал вести себя правильно и отображался при замене падающего объекта.
  7. Уничтожьте старый падающий объект с помощью fallingObject.Destroy()
  8. Установите lastCopiedGroundObject из newFalling, чтобы newFalling больше не выполнял это взаимодействие с тем же groundObject, пока не будет сделана другая копия.

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

Одно из соображений состоит в том, чтобы вместо этого использовать List<GameObject> alreadyCopiedGroundObjects и добавить недавно столкнувшийся наземный объект в список в старом падающем объекте, чтобы, если падающий объект касался нескольких земель, онменяйте его форму только один раз, чтобы при определенных условиях он не колебался между формами.

...