forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Physx реалезиция стрельбы (http://forum.boolean.name/showthread.php?t=9016)

Spy4433 28.08.2009 00:57

Physx реалезиция стрельбы
 
вопросов много... задам один
шутер от первого лица
есть физ модель плеера(капсуль)
как лучше рализовать стрельбу?
CDDSkelet как я понял нужно и патрон и объект в который он попадает создавать...(исходя из примера)
с помощью raypick у меня возникла проблема... так и не понял как решить ее :)

получилось что он все время указывает на физ тело игрока.
думаю что можно как то решить это с помощью material но незнаю как

помогите кто чем может :-D

ABTOMAT 28.08.2009 01:14

Ответ: Physx реалезиция стрельбы
 
pxBodySetFlagRayCast(int body, int stat)


Parameters:
body - physical body
stat - state. Stat = 0 – disable, 1 – enable, by default Stat = 1.

Description:
Enable/disable test of the rays.

Spy4433 28.08.2009 02:19

благодарю :) , нашел ее в тока что скаченом хелпе :) в разделе Body parametrs
пока не проверил :) под рукой нету blitz ... т.е если я задам
pxBodySetFlagRayCast(body,0) то это тело не будет пикатся никаким ray.. ?

ABTOMAT 28.08.2009 03:09

Ответ: Physx реалезиция стрельбы
 
Да, это так

Spy4433 28.08.2009 15:34

Ответ: Physx реалезиция стрельбы
 
появился еще один вопрос связаный с pick

Код:

pxRaySetPosition(sh_ray,pxBodyGetPositionX(body_player),pxBodyGetPositionY(body_player),pxBodyGetPositionZ(body_player))
xTFormVector 0,0,1,cam, 0
DX# = xTFormedX()
DY# = xTFormedY()
DZ# = xTFormedZ()
pxRaySetDir(sh_ray,DX,DY,DZ)
Body = pxRayGetBody(sh_ray,0)

PosX# = pxRayGetPickX(sh_ray, 0)
PosY# = pxRayGetPickY(sh_ray, 0)
PosZ# = pxRayGetPickZ(sh_ray, 0)

хорошо бы выложить скрины тока я чет не понял как :)
вообще проблема в том что в зависимости от растояния пик не меняется т.е получается что я пикаю центром экрана но при приближении центр экрана выше того места где происходить пик на 3d
координаты dx,dy,dz не изменяются... есть догадки что из-за перевода 2d в 3d

CRASHER 28.08.2009 17:38

Ответ: Physx реалезиция стрельбы
 
Да брось ты этот рей, проверяй летящюю пулю обычным linepick.
Проверяешь то расстояние от пули, на которое она пролетает за один цикл, в пикнутую точку пикунутому телу прикладываешь форс и все)


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

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