Показать сообщение отдельно
Старый 22.07.2013, 19:46   #4
St_AnGer
Элита
 
Аватар для St_AnGer
 
Регистрация: 21.01.2010
Адрес: Россия, Рязанская область, г.Михайлов
Сообщений: 2,067
Написано 1,185 полезных сообщений
(для 2,828 пользователей)
Ответ: PhysX и перетаскивание предметов

Сообщение от Arton Посмотреть сообщение
Если не ошибаюсь такое достигается созданием соединения. К. п. вид от первого лица, кликаешь на объект который будешь таскать и в том месте создаётся "временный" joint, между пивотом(который весит перед камерой) и объектом, который берёшь. Как-то так.
Как то так. Только не путай человека, между пивотом (пивотом который CreatePivot(), если ты имел ввиду не его - извиняюсь) и телом не может быть создан joint. Joint создаётся только между двумя физическими (!!!) телами в данном враппере, ну или между телом и миром (опять же, физическим).

И да, велика вероятность того, что при соединении Joint'ом вся эта конструкция рухнет в какую нибудь сторону из за сместившегося центра массы (фактически они ведь станут одним телом). Хотя данную проблему можно решить временной заморозкой нужных осей главного тела (pxBodySetFrozenPos..., pxBodySetFrozenRot...), или перемещением центра массы "пикнутого" тела (pxBodySetCMassLocalPosition, pxBodySetCMassGlobalPosition).

Я реализовывал таскалку почти как в HL 2 магнитами, и это очень геморно было в плане реализации. Да, и, тело было в постоянном вращении от ударов (ну тогда я чего то не додумался использовать заморозку поворота, зря). И плюсом тело очень круто улетало если в момент "пиканья" резко убрать взгляд/мышку в сторону, из за очень сильного магнита. Мне, вообщем, не понравилось так.
__________________
Main PC:
Intel Core i5 4260U 1.44 GHz + LPDDR3 1x4096 1600 MHz + Intel HD Graphics 5000.

Asus Ёжик T101-MT:
Intel Atom N-570 1.66 Ghz + DDR2 2x1024 800 Mhz + Intel GMA 3150 128 Mb DDR2


Скачать Doom 2D: Remake v0.3.8a
(Offline)
 
Ответить с цитированием