Unreal Engine 4. Любые предложения о том, как я могу предотвратить полет моего актера, стоя на вершине объекта, поднимая его?

У меня есть код, который изменяет положение объекта при захвате на 100 единиц перед камерой, это позволяет игроку стоять на вершине объекта и поднимать его, заставляя его лететь туда, куда указывает камера.

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

поднятие объекта, пока актер находится на нем

Скелетная сетка не связана с функцией захвата, и диапазон захвата установлен таким образом, чтобы подвижные объекты оставались близко к скелетной сетке (например, поднятие этого камешка), если это помогает.

введите здесь описание изображения

Любые предложения о том, как решить эту проблему? Заранее спасибо!


person User9123    schedule 12.06.2018    source источник
comment
Попробуйте отключить коллизии для поднятого объекта и вашего меша, пока он взят. Затем повторно включите столкновения, когда игрок роняет объект.   -  person TheBrain    schedule 12.06.2018


Ответы (1)


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

person Tyler Yanke    schedule 12.06.2018