Как я могу реализовать физику направленного отскока в Unity? - PullRequest
0 голосов
/ 06 апреля 2019

Prefacing with: Я перепробовал все комбинации материалов, масс, гравитации и т. Д., За исключением правильной!

У меня в настоящее время есть доска с Box Collider.Эта доска находится на шарнирном соединении, что по сути делает ее похожей на качели.

Я хочу представить себе, что доска была батутом.Так что, если вы попали в точку слева, вы попадаете и отскакиваете вправо.

На доске есть материал:

Friction: 0
Bounciness: .5

Я пытался добавить Angular Dragна доску, но не уверен, что на самом деле там делать.

В настоящее время у меня есть игрок с твердым телом со следующими настройками:

Mass: .8
Linear Drag: .05
Angular Drag: .05
Gravity: 2
Collision detection: Discrete
Freeze Rotation: Only Z is checked.

Этот игрок имеет материал 0 трения,и .5 бодрость.По большей части, отлично отскакивает.

Я пробовал этот код, чтобы попытаться достичь эффекта, ничего не получалось:

ContactPoint2D contact = col.contacts[0];
baby.AddForceAtPosition(new Vector3(0, 20, 0), contact.normal);

Идея будет заключаться в том, где он находится,добавьте 20 в направлении Y.

Иногда игрок приземляется на платформу и отскакивает вправо или влево чуть-чуть, а в направлении Y в основном 0, снова приземляясь на платформу.Есть ли способ избежать такого поведения?

Любые советы по правильному направлению были бы очень полезными!

...