Перетащите объект Player с помощью Physics 2D - PullRequest
0 голосов
/ 01 ноября 2019

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

В основном в настоящее время я работаю над этим типом игрового процесса: Rise Up Game - Level40+ 7851 High Score !!!

В настоящее время я пытаюсь поразить препятствия с помощью этой настройки:

void Update()
 {  
     Vector2 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
     Rigidbody2D.position = mousePos;  
 }

Вот настройки инспектора: enter image description here

Тем не менее, удар игрока происходит рывком или не плавно. Несколько раз препятствия устраняются внутри объекта игрока.

Итак, как сделать это правильно?

1 Ответ

1 голос
/ 02 ноября 2019

Как я уже говорил в своем комментарии, вам нужно установить жесткое тело на Kinematic, потому что оно движется, и вы изменяете его положение в коде, а не через физическое моделирование.

PointEffector применяет постоянное усилие вместо силы контакта, и его необходимо удалить.

Если вы получаете «туннелирование», вам нужно установить непрерывное обнаружение столкновений. Если вы испытываете сильное подпрыгивание или другое глючное поведение, попробуйте изменить массу и свойства физического материала.

inspector screenshot result

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