![]() |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Вложений: 1
Для управления физ телами, как обычными существуют команды pxKinematicSet(body%), pxKinematicClear(body%), pxKinematicMove(body%, x#, y#, z#), pxKinematicSetPosition(body%, x#, y#, z#), pxKinematicSetRotation(body%, pitch#, yaw#, roll#). Они все есть в документации.
P.S. Мало того, когда вы двигаете тела в кинематическом режиме, то при выходе из него они сохраняют скорость, крутящий момент и тд. (можно использовать для плавного перехода от анимации к рэгдолу - см. прикреплённый файл). |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Подскажите, пожалуйста, команды PhysX для реализации падения цилиндрического тела (бочка) в воду и плаванья этого тела на поверхности воды. И еще для куба и сферы. С параметрами и описанием хотя бы в пару строк.
Спасибо. |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
1. Закон всемирного притяжения
2. Закон Архимеда Никогда не пользовался физиксом, но уверен что функции FloatThatBigBarrelInWater(WhatFuckingBarrelIs:TObj ect) нету |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Цитата:
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Всем привет :) Вчера решил заняться PhysX'oм, до этого пытался воплотить свои идеи с помощью newton'a. Но проблема с лицензионным ключиком от генерации мира, обрубило мне все возможности дальнейшего исследования. И вот с какой проблемой я столкнулся, все сочленения в PhysX'e, какие то хлипкие, вместо веревки получается разболтанная резинка, фиксированные соединения колбасит, будто соединение пружинное. Ораничения работают ограниченно. При небольшом количестве соединяемых тел, все более-менее, но если их больше пары десятков, начинаются чудеса, не устраняемые даже самыми жесткими ограничениями. Как устранить сии безобразия? Помогите пожалуйста..
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Raven конкретней задачу поставь. или сделай маленький пример
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Хорошо, пример:
segmQ = 100 Dim segment (segmQ) Dim segment_px (segmQ) Dim joint (segmQ) For i=1 To segmQ segment(i) = CreateCylinder (7) segment_px (i) = pxBodyCreateCylinder (1,.5,8,.01) ScaleEntity segment(i), 1,.5,1 pxBodySetPosition segment_px(i),-50+i,30,0 pxBodySetRotation (segment_px(i),0,0,90) Next For i=1 To segmQ-1 joint (i) = pxJointCreateSpherical (segment_px(i),segment_px(i+1),pxBodyGetPositionX( segment_px(i)),pxBodyGetPositionY(segment_px(i)),p xBodyGetPositionZ(segment_px(i)),1,0,0) pxJointSphericalSetLimitAngle(joint(i),.0001,.0001 ,.0001) Next joint (0) = pxJointCreateFixed(0,segment_px(1)) joint (segmQ) = pxJointCreateFixed(0,segment_px(segmQ)) Например, я хочу изменить натяжение, не меняя количества сегментов, увеличение расстояния между сегментами не помогает, ограничения углов не меняет ситуацию заметным образом, даже изменение массы сегментов ничего не меняет, что странно... И что самое интересное, даже если заменить сферический джоинт на фиксированный, картина не меняется. То есть все время получается некая сопля, а если я хочу струну или вообще, упругий прут? |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
У кого-нибудь там не затерялся случайно ключик от PhysX Wrapper
Цитата:
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
есть, ща скину....
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
}{@KeR, проверь личку
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
А можно ли сделать регдол если обьект анимируется бипедом?
и еще... я сделал визуальные пули, но мне нужно так же сделать чтобы физ тело получало необходимую физическую силу направленную от вектора попадания пули но с условием только если пуля долетела до обьекта, как этого добиться? |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Colossus, я где то спрашивал про проверку попадания пули инструментарием физикса. Диалог привел к тому что это очень затратно. Проще обычным лайнпиком проверять на расстояние которое пройдет пуля за апдейт. А силу приложить к точке части тела используя вектор попадания. Не помню какая команда, проще в этом плане булит.
|
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
В Буллете тоже кажется есть linepick.
И Bullet вроде определён как более быстрый движок. Хотя это мне наверное так показалось.. Ну это ещё и не доказано. |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
Вложений: 2
братцы по двигу вот у меня проблема
делаю таскалку как в игре half life , portal и тут эпик в виде того что мой обьект проваливается под землю если его туда направить а если его двигать к поинту то он начинает бесится дойдя до него з,ы, джоинты не предлогать !! вот кусоу кода для этой таскалки pick=CameraPick(camera,MouseX(),MouseY()) CameraPick(camera,MouseX(),MouseY()) pxRaySetPosition ray,EntityX(camera,1),EntityY(camera,1), EntityZ(camera,1) pxRaySetDir(ray, PickedX#() - EntityX(camera,1), PickedY#() - EntityY(camera,1), PickedZ#() - EntityZ(camera,1)) cpos_x = pxRayGetPickX(ray,1) cpos_y = pxRayGetPickY(ray,1) cpos_z = pxRayGetPickZ(ray,1) If MouseHit(2) =True enable=1-enable picked_body = pxRayGetBody(ray, 1) EndIf If enable = 1 If Not picked_body= player_body If picked_body > 0 pxBodySetPosition (picked_body, EntityX(target,True), EntityY(target,True), EntityZ(target,True)) или ;pxMoveBodyToPoint(picked_body, 500 , EntityX(target,True), EntityY(target,True), EntityZ(target,True)) EndIf EndIf EndIf |
Ответ: Обсужение учебника по PhysX Wrapper для Blitz3D
использовать магниты для таскалки? Вполне логично что именно так она и работает. Когда то давно баловался этим, всё получалось. Конкретно алгоритм не помню, но в двух словах объяснить могу:
0) создаём магнит вместе с мешью таскалки и задаём ему маску по которой он будет работать, выключаем магнит; 1) тыкаем в любой нужный объект(боди) лучом (pxRay который); 2) задаём ему магнитную маску как у магнита; 3) включаем магнит (тело полетело, всё круто); 4) натыкаемся на проблему - примагничиваемое тело пролетает сквозь нас со сверхзвуковой скоростью 5) точное решение проблемы п.4 не помню, но помоему (даже точно, а не помоему) во враппере есть команды-ограничители действия магнита и радиус на котором он не даёт пролететь предмету мимо себя; 6) если нужно отпустить - задаём предмету магнитную маску отличную от рабочей маски магнита и предмет сам падает. Как то так. Поигравшись с магнитами всё должно получиться. В примерах от враппера есть несколько примеров для магнитов, там всё и узнаешь конкретно на практике. Рад бы помочь кодом, но под рукой нет ни блица, ни враппера, ни моих старых наработок на эту тему. |
Часовой пояс GMT +4, время: 11:29. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot