forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Библиотеки (http://forum.boolean.name/forumdisplay.php?f=28)
-   -   PhysX и перемещение физ тела (http://forum.boolean.name/showthread.php?t=18377)

CostUm 17.07.2013 23:27

PhysX и перемещение физ тела
 
Делаю передвижения объекта, столкнулся с проблемой - если нажимаю кнопку назад и камера опущена вниз, то объект взмывает в воздух, если смотрю вверх - скорость близится к 0. Тоже самое, только наоборот с передвижение вперёд. Вот как двигаю:


TFormVector 0, 0, speedZ#, cam, 0

pxBodyAddForce sphere_body,TFormedX(),TFormedY(),TFormedZ(),0

If KeyDown(17) speedZ#=200
If KeyDown(31) speedZ#=-200
If (Not KeyDown(17)) And (Not KeyDown(31)) Then speedZ#=0

Что делать, как бороться?

Platon 18.07.2013 07:26

Ответ: PhysX и перемещение физ тела
 
Вектор неверно получаешь.
прочитай вот это
вектор направления у камеры ( как и у другого энтити ) можно получить с помощью функции GetMatElement. Далее просто умножаешь этот вектор направления на скорость и применяешь его в AddForce.
Если конечно я правильно понял что ты хочешь получить в результате.

CostUm 18.07.2013 13:40

Re: PhysX и перемещение физ тела
 
В результате я хочу получить играбельное управление персонажем от первого лица) А с этим GetMatElement что-то не могу разобраться

Platon 18.07.2013 14:37

Ответ: Re: PhysX и перемещение физ тела
 
Цитата:

Сообщение от CostUm (Сообщение 263725)
А с этим GetMatElement что-то не могу разобраться

А конкретнее?

ЗЫ
По форуму искал насчет управления?

CostUm 18.07.2013 14:39

Re: PhysX и перемещение физ тела
 
Искал, везде есть управление, но нигде не нашёл поворота, кроме TFormVector, вот его заюзал, почти получилось

CostUm 18.07.2013 18:55

Re: PhysX и перемещение физ тела
 
Всё, проблема утреслась.

ant0N 18.07.2013 20:30

Ответ: PhysX и перемещение физ тела
 
расскажи как, кому-нибудь это будет полезно

CostUm 18.07.2013 20:31

Раз уж вопрос один и тот же, задам ещё один здесь. Делаю выстрелы кубиков, надо чтобы вылетали из переда камеры, учитывая что камеру можно повернуть, но вот не могу понять как сделать, TForm тут уже не помогает

Цитата:

Сообщение от ant0N (Сообщение 263766)
расскажи как, кому-нибудь это будет полезно

Ну я просто оставил всё как есть, кроме нахождения вектора, там поставил на пивот (TFormVector speedX#, 0, speedZ#, pivot, 0), создал пивот, к нему припарентил камеру, пивот позиционировал с движущимся объектом. Только вот при обзоре по оси Y я крутил камеру, а по оси Х пивот. Как-то так)

Platon 19.07.2013 05:19

Ответ: PhysX и перемещение физ тела
 
Тяжелый случай:)
Тебе нужен вектор направления камеры, второй раз прописываю тебе GetMatElement, все элементарно же, вот тебе вектор направления камеры:

X = GetMatElement( Камера, 2, 0 )
Y = GetMatElement( Камера, 2, 1 )
Z = GetMatElement( Камера, 2, 2 )

2 строка
0, 1, 2 элементы соответствующие X, Y, Z

Код:

  | 0 | 1 | 2
---------------
0 | X | Y | Z    вектор в бок
1 | X | Y | Z    вектор вверх
2 | X | Y | Z    вектор вперед


CostUm 19.07.2013 15:13

Re: Ответ: PhysX и перемещение физ тела
 
Цитата:

Сообщение от Platon (Сообщение 263809)
Тяжелый случай:)
Тебе нужен вектор направления камеры, второй раз прописываю тебе GetMatElement, все элементарно же, вот тебе вектор направления камеры:

X = GetMatElement( Камера, 2, 0 )
Y = GetMatElement( Камера, 2, 1 )
Z = GetMatElement( Камера, 2, 2 )

2 строка
0, 1, 2 элементы соответствующие X, Y, Z

Код:

  | 0 | 1 | 2
---------------
0 | X | Y | Z    вектор в бок
1 | X | Y | Z    вектор вверх
2 | X | Y | Z    вектор вперед


Так то оно работает, но тут не учитывается поворот камеры. т.е. я ставлю куб чутка вперёд, и при повороте камеры куб не поворачивается. ну верней поворачивается, но как-то чудно.

LLI.T.A.L.K.E.R. 29.04.2014 17:06

Ответ: PhysX и перемещение физ тела
 
Подскажите пожалуйста как трансформировать смещение центра точки поворота тела?
Можно либо формулой, либо добавлением доп.пивота.
Просто в PhysX-wrapper пока не нашёл способа. А pxAddBodytoBody не то.

Хочу физ.двери сделать.
Кажется Compound..

Решено + пример двери: http://forum.boolean.name/showpost.p...9&postcount=16


Часовой пояс GMT +4, время: 02:01.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot