Сообщение от Arton
Если не ошибаюсь такое достигается созданием соединения. К. п. вид от первого лица, кликаешь на объект который будешь таскать и в том месте создаётся "временный" joint, между пивотом(который весит перед камерой) и объектом, который берёшь. Как-то так.
|
Как то так. Только не путай человека, между пивотом (пивотом который
CreatePivot(), если ты имел ввиду не его - извиняюсь) и телом не может быть создан joint. Joint создаётся только между двумя физическими (!!!) телами в данном враппере, ну или между телом и миром (опять же, физическим).
И да, велика вероятность того, что при соединении Joint'ом вся эта конструкция рухнет в какую нибудь сторону из за сместившегося центра массы (фактически они ведь станут одним телом). Хотя данную проблему можно решить временной заморозкой нужных осей главного тела (
pxBodySetFrozenPos...,
pxBodySetFrozenRot...), или перемещением центра массы "пикнутого" тела (
pxBodySetCMassLocalPosition,
pxBodySetCMassGlobalPosition).
Я реализовывал таскалку почти как в HL 2 магнитами, и это очень геморно было в плане реализации. Да, и, тело было в постоянном вращении от ударов (ну тогда я чего то не додумался использовать заморозку поворота, зря). И плюсом тело очень круто улетало если в момент "пиканья" резко убрать взгляд/мышку в сторону, из за очень сильного магнита. Мне, вообщем, не понравилось так.