Войти
ПрограммированиеФорумФизика

PhysX - единицы измерения?

#0
22:42, 18 апр. 2007

Прошу прощения за такой тупой вопрос, но в SDK я ответа не нашел...
В каких единицах меряются параметры различных методов? (при условии, что SCALE = 1)
Логично - что в СИ... Длина - метр, масса - килограмм, сила - ньютон, время - секунда и т.д...

Я сделал кубик, плотность - 1000 (вода), обьем - 1 (метр^3)... На каждом кадре прикладываю
силу 9000 Н по вертикали вверх... И кубик _взлетает_! Хотя не должен... Вес кубика - ~9800 Н...
Что я делаю не так? (с)


#1
0:30, 19 апр. 2007

в уе там все измеряется

#2
0:58, 19 апр. 2007

По идее СИ. Я как то сам кубики тягал силой и считал по формулам, дак вроде совпадало.
Вот недавно наткнулся что значение силы зависиот от шага времени. Это очень сильно портило всю картину. Вообщем если шаг времени увеличить в 2 раза, то гравитация в 2 раза станет меньше. Тут видимо что то в этом духе.

#3
9:40, 19 апр. 2007

Render
Оо, спасибо! Помогло! Поставил  _scene->setTiming( 1.0f / 75.0f / 4.0f, 4, NX_TIMESTEP_FIXED );
Сразу все стало на свои места: 9800Н - кубик не взлетает, а 9801Н - отрывается от пола (:

#4
13:29, 19 апр. 2007

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

такое возможно ?

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

#5
14:50, 19 апр. 2007

SLOM
насколько я понял chak имел ввиду что он задал размер кубика = 1 х 1 х 1, то есть обьем получается 1.
Сделать плавание предметов стандартными средствами PhysX насколько я знаю нельзя(вариант с использованием флюидов не подойдет ни для одного реалтайм приложения).
Можно сделать фейк.

chak
Надеюсь не забыл что если у тебя шаг 1 / 300 секунды, то при например 60 ФПС физиксу придется
шагать 3-4 раза.

#6
20:39, 19 апр. 2007

SLOM
Только что придумал... Один из возможных алгоритмов моделирования кораблика:
1. посчитать обьем полостей корабля
2. задаться шагом (например, 2 м)
3. по полостям корабля равномерно рассеять точки с шагом из п2
4. в каждой точке прикладывать силу по вертикали вверх равной весу вытесненной воды "сецкией", если "точка.у < уровень_воды - 0.5 * шаг"

Получаем быстрый метод, дающий вполне приемлемый результат (:

#7
20:40, 19 апр. 2007

gexogen
> Надеюсь не забыл что если у тебя шаг 1 / 300 секунды, то при например 60 ФПС физиксу придется шагать 3-4 раза.
С временными шагами еще не разобрался (: Пока что "притянул за уши" - работает - и хорошо (:

ПрограммированиеФорумФизика

Тема в архиве.