forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   Помогите разобраться с Physx & Xors3d (http://forum.boolean.name/showthread.php?t=14401)

Mind 11.03.2011 09:29

Помогите разобраться с Physx & Xors3d
 
В общем я хочу сделать передвижение игрока. Что можите мне посоветовать. На обычном враппере я с легкостью разобрался, а на Буллете нифига не пойму.

И еще:
1) Как можно установить упругость тела ( например на 0, а то у меня шарик отскакивает от всего что попадется)?
2)Есть ли функция возвращающая скорость тела( как в враппере)?

Randomize 11.03.2011 10:12

Ответ: Помогите разобраться с Physx & Xors3d
 
http://forum.boolean.name/showthread.php?t=12628

Mind 11.03.2011 18:28

Ответ: Помогите разобраться с Physx & Xors3d
 
Видно меня,наверное, неправильно поняли. Повторюсь:
В общем я хочу сделать передвижение игрока. Что можите мне посоветовать. На обычном враппере я с легкостью разобрался, а на Буллете нифига не пойму.

Мне нужно физическое передвижение игрока, а не обычное!


К томуже я непойму:
1) Как можно установить упругость тела ( например на 0, а то у меня шарик отскакивает от всего что попадется)?
2)Есть ли функция возвращающая скорость тела( как в враппере)?


Кстате, не у кого нет справки для Physx + Xors3d???

.Squid 11.03.2011 19:22

Ответ: Помогите разобраться с Physx & Xors3d
 
Цитата:

Сообщение от Mind (Сообщение 182337)
К томуже я непойму:
1) Как можно установить упругость тела ( например на 0, а то у меня шарик отскакивает от всего что попадется)?
2)Есть ли функция возвращающая скорость тела( как в враппере)?

У меня есть. У тебя нету. Жди релиза.

Mind 11.03.2011 20:07

Ответ: Помогите разобраться с Physx & Xors3d
 
Ясно .Squid.
А кто-нибудь может дать хоть пару примеров/команд как делать передижение(физическое) игрока в физ.мире

SBJoker 11.03.2011 20:12

Ответ: Помогите разобраться с Physx & Xors3d
 
Обычно к физическому телу игрока прикладывается сила которая его и двигает.

Mind 11.03.2011 20:14

Ответ: Помогите разобраться с Physx & Xors3d
 
Хм... Смешно!! :-D Я это и так знаю. А можно пару примеров из кода.

FireOwl 11.03.2011 20:26

Ответ: Помогите разобраться с Physx & Xors3d
 
Простейший пример:
Вычисли направление, разложи по осям вектор направления умноженный на силу с которой тело должно двигаться, и AddForce(body,fx,fy,fz).
Направление обычно хранится в переменной, которая изменяется при нажатии на клавиши-стрелки, или вращение камеры мышкой. Формулы для разложения можно найти везде - от учебников по геометрии до интернета.
AddForce, не знаю как точно называется в твоем случае, можно найти в документации.
Игрок должен обладать физическим телом, которым собственно и управляешь, а видимая его часть - модель просто привязана/обновляет координаты к физ. телу.
Вуаля!

Mind 11.03.2011 20:42

Ответ: Помогите разобраться с Physx & Xors3d
 
Спасибо конечно FireOwl,но чет нифига не фурычит.
Блин как класно было на враппере!!
Ладно буду разбираться.

А все таки не у кого справки нет по physx+xors3d??

FireOwl 11.03.2011 20:50

Ответ: Помогите разобраться с Physx & Xors3d
 
А тебе именно по Физиксу+Xors3D, а не по встроенной физике?
Если по связке Xors3D&Физикс то там все точно так же как и в простом Blitz3D.
Только не забывай иксы приписывать!

Mind 11.03.2011 20:51

Ответ: Помогите разобраться с Physx & Xors3d
 
По Физиксу! встроеному

moka 11.03.2011 21:03

Ответ: Помогите разобраться с Physx & Xors3d
 
Нету встроенного PhysX'а в Xors3D.

FireOwl 11.03.2011 21:03

Ответ: Помогите разобраться с Physx & Xors3d
 
Так, ладно. Я где то что то упустил из виду...

Справка вместе с ревизиями идет.
Вот команда:
Код:

xEntityApplyForce  ( Entity *  entity, 
          float  x, 
          float  y, 
          float  z, 
          float  pointx, 
          float  pointy, 
          float  pointz)

Вот кус из моего, 100-процентно рабочего кода со старым физ. движком:
Код:

If xKeyDown(200) Then pxBodyAddForce(wBody, MOVEFORCE*Cos(angle-90.0), 0, MOVEFORCE*Sin(angle-90.0), 0)
        If xKeyDown(208) Then pxBodyAddForce(wBody, -MOVEFORCE*Cos(angle-90.0), 0, -MOVEFORCE*Sin(angle-90.0), 0)
        If xKeyDown(203) Then pxBodyAddForce(wBody, MOVEFORCE*Cos(angle), 0, MOVEFORCE*Sin(angle), 0)
        If xKeyDown(205) Then pxBodyAddForce(wBody, MOVEFORCE*Cos(angle+180.0), 0, MOVEFORCE*Sin(angle+180.0), 0)
        If xKeyHit(57) Then pxBodyAddForce(wBody, 00, 5, 0, 1)
        If xMouseHit(2) Then pxBodyAddForce(wBody, 00, JUMPFORCE, 0, 1)

Замени команду и Run! Получается?
Последние три параметра (pointx, pointy, pointz) - координаты точки приложения силы относительно центра тела. Можно в ноль выставить просто.

Mind 11.03.2011 21:45

Ответ: Помогите разобраться с Physx & Xors3d
 
FireOwl:
1) А у тебя есть старый физ.?? (Это вообще Враппер или Буллет??)
2)Если есть враппер под хорс то кинь пожайлуста.
3) Если это враппер то можно было написать: pxBodyAddLocalForce :

Код:

If xKeyDown(200) Then pxBodyAddForce(wBody, MOVEFORCE*Cos(angle-90.0), 0, MOVEFORCE*Sin(angle-90.0), 0)
        If xKeyDown(208) Then pxBodyAddForce(wBody, -MOVEFORCE*Cos(angle-90.0), 0, -MOVEFORCE*Sin(angle-90.0), 0)
        If xKeyDown(203) Then pxBodyAddForce(wBody, MOVEFORCE*Cos(angle), 0, MOVEFORCE*Sin(angle), 0)
        If xKeyDown(205) Then pxBodyAddForce(wBody, MOVEFORCE*Cos(angle+180.0), 0, MOVEFORCE*Sin(angle+180.0), 0)
        If xKeyHit(57) Then pxBodyAddForce(wBody, 00, 5, 0, 1)
        If xMouseHit(2) Then pxBodyAddForce(wBody, 00, JUMPFORCE, 0, 1)


4)Если это Буллет то там есть команда описаная выше (pxBodyAddLocalForce)?

FireOwl 11.03.2011 21:57

Ответ: Помогите разобраться с Physx & Xors3d
 
1) Где-то валялся, не помню уже. По моему, встроенным удобней пользоваться. (Вообще я о встроенном говорю. Видимо о Буллете)
2) Враппер, один и тот же. Просто приемы соединения его с графикой немного разные. И все.
3) Да, знаю. В этом коде у меня был шарик, так что центр тела, как точка приложения меня устраивал.
4) Дык, первый кусок кода, из моего поста выше - и есть искомое. скачай ревизию, пошерсти прилагаемую справку - там много интересного еще. Если что непонятно - спрашивай, а лучше засунь в переводчик.


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

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