forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Проблема с PhysX (http://forum.boolean.name/showthread.php?t=4708)

Trilliput 09.10.2007 21:06

Проблема с PhysX
 
Решил прикрутить дельта-тайминг, возникла пробема: при использовании дельты в функции pxRenderPhysic(delta_t,0) исчезают, в моем случае, модели колес у машины. Дельта на моем компе 15-17, если подставить их в функцию то все работает.
Код:


If atime=0 atime=MilliSecs()
anew_time=MilliSecs()
delta_t=anew_time-atime
atime=anew_time
pxRenderPhysic(delta_t,0)
pxBodySetEntity(model, car_body)
pxWheelSetEntity(wheelFR,car_tireFR)
pxWheelSetEntity(wheelFL,car_tireFL)
pxWheelSetEntity(wheelBR,car_tireBR)
pxWheelSetEntity(wheelBL,car_tireBL)


tormoz 09.10.2007 22:42

Re: Проблема с PhysX
 
Угу.
Нельзя использовать для физикса произвольные значения.
Кроме пропадания ентити еще наблюдается дергание, мерцание и другие баги.
Используй опробованные значения : 30, 60.
Ребята из Агеи чего то намудрили...

Render 10.10.2007 01:33

Re: Проблема с PhysX
 
Вообщето можно. Но там нужно чётко следить за количеством ФПС, убрать все вертикальные синхронизации. И ещё что то, у меня было как то получилось. Да и в Михаила вроде тоже с плавающим дельта таймом работает. Но, я бы всё равно рекомендовал бы юзать фиксированый, а то можно нарватся на кучу нежелательных эфектов.

Trilliput 10.10.2007 08:13

Re: Проблема с PhysX
 
Блин тогда как сделать контроль фпс? Если использовать 30 или 60 то это не гарантирует 30 или 60 фпс.

jimon 10.10.2007 08:53

Re: Проблема с PhysX
 
Они же вообще советовали обновление physx в отдельный поток вынести
и там видимо вызывать по таймеру

moka 10.10.2007 11:18

Re: Проблема с PhysX
 
Сделать синхронизацию, стабилизирующую UPS, в той части и обновлять физику, будет стабильно.
Вот кодик, думаю всё понятно:
Цитата:

Const FPS=60
period=1000/FPS
time=MilliSecs()-period
Repeat
Repeat
elapsed=MilliSecs()-time
Until elapsed
ticks=elapsed/period
tween#=Float(elapsed Mod period)/Float(period)
For k=1 To ticks
time=time+period

; Тут логика

If KeyHit(1) End
UpdateWorld
Next
; Тут рендеры, кубемапы, тени и т.п.
RenderWorld
; Тут 2Д
Flip 0
Forever
Стабильно и надёжно.

Trilliput 10.10.2007 16:29

Re: Проблема с PhysX
 
попробуем.
Впрос:
If KeyHit(1) End - это всмысле нажимаем Esc и ппц программе?

moka 10.10.2007 16:38

Re: Проблема с PhysX
 
Угу ;)

ЛысыЙ_Чук-Иванчук 10.10.2007 17:37

Re: Проблема с PhysX
 
Тот код который выложил Мока просто супер!!!!! некаких там дельтатаймов, и хрени всякой!!! пашет на ура(правда я его взял из примера Ашадоу)!!! но суть такаяже!

Trilliput 10.10.2007 17:59

Re: Проблема с PhysX
 
так понимаю что писать обновление мира (те общет физ движков) надо около UpdateWorld, вся графика у RenderWorld()?

moka 10.10.2007 18:03

Re: Проблема с PhysX
 
Ну там 2 коммента за себя говорят. ;) Графа между Next и RenderWorld. А 2д графа перед Flip.
Этот синхронизатор вообще из стандартного IDE в тамплетаз лежит ;)

tormoz 11.10.2007 05:26

Re: Проблема с PhysX
 
У этого синхронизатора есть серъезные недостатки: если игра идет на "границе" заданного фпс, возникают очень неприятные рывки и задержки.

Trilliput 11.10.2007 09:20

Re: Проблема с PhysX
 
Есть еще какиенибудь варианты?

И что такое отдельный поток? И как его организовать на Blitz?

moka 11.10.2007 13:33

Re: Проблема с PhysX
 
tormoz, в стандартном твиининг стоит, его нада убрать и будет ок.

tormoz 11.10.2007 16:54

Re: Проблема с PhysX
 
Не будет

jimon 11.10.2007 18:52

Re: Проблема с PhysX
 
согласен с tormozом, етот таймер далеко не идеален

Trilliput 11.10.2007 19:07

Есть предложения идеального таймера?

И что такое "вынести в отдельный поток"? может я так и делалраньше но не знаючто это так называется.

jimon 11.10.2007 20:22

Re: Проблема с PhysX
 
Trilliput
идеального таймера нету :)
вот tormoz перепробывал все и остановился на банальном блицевском таймере

в ОС программа обычно работает потоками
есть либа BlitzThreads или как то так
но я говорил про реализацию на C++
в справке было что-то расписано про синхронизацию в два потока
в одном банально идет рендер всего дела,
в другом просчитывается симуляция
даж пример валялся в SDK

хотя если чесно я хз почему не работает время симуляции
как я помню оно у мну стояло свободным (5 * DeltaTime)
и все прекрасно работало

Render
мож ты что-то напутал ?

Код:

NxReal CPhysX::UpdateTime()
{
        NxReal deltaTime;
#ifdef USE_OLD_TIMER
        static __int64 gTime,gLastTime;
        __int64 freq;
        QueryPerformanceCounter((LARGE_INTEGER *)&gTime);
        QueryPerformanceFrequency((LARGE_INTEGER *)&freq);
        deltaTime = NxReal((double)(gTime - gLastTime)/(double)freq);
        gLastTime = gTime;
#endif
#ifdef USE_NEW_TIMER
        deltaTime = (NxReal)(dev->getTimer()->getTime() - LastAnimationTime);
        LastAnimationTime = dev->getTimer()->getTime();
#endif
        return deltaTime;
       
}

void CPhysX::StartPhysics(float time,bool use)
{
        if (!CharController_pause)
                gCM->updateControllers();

        NxReal deltaTime = UpdateTime();

        if (use == 0)
        {
                gScene->simulate(deltaTime * time);
        }
        else
        {
                gScene->simulate(time);
        }

        gScene->flushStream();
}

void CPhysX::GetPhysicsResults()
{
        while (!gScene->fetchResults(NX_RIGID_BODY_FINISHED, false));
}


Trilliput 12.10.2007 19:31

Re: Проблема с PhysX
 
с дельтой все работет в плане физики, но вот модельки которые должны быть на своих местах - исчезают.

Trilliput 14.10.2007 20:39

Re: Проблема с PhysX
 
Проверьте ктонибудь код из 6-го поста. У меня он жутко тормозит даже в голом виде. Например при использовании только камеры и модели кубика заметны жуууткие тормоза, сама программа завершается при этом 10-20сек.

Render 14.10.2007 23:00

Re: Проблема с PhysX
 
Ты где применяеш РендерФизик? и какие параметры передаёш?
Код из исчезновением тел в студию.
То что прога останавливается это признак демо версии.

Trilliput 15.10.2007 22:44

Re: Проблема с PhysX
 
код с исчезновением в первом посте.

moka 16.10.2007 13:04

Re: Проблема с PhysX
 
Если тормозит код с 6 поста, то значит ты что-то делаешь неправильно. У меня он работет идеально, никаких рывков. Тэстировал и на мощных и на Очень слабых машинах (древние 700 дюроны, с 128 озу, и 32 видео), и никаких рывков и тормозов. Хз что у тебя, ты скорее всего что-то лишнее обовляешь.

Trilliput 17.10.2007 15:19

Re: Проблема с PhysX
 
В том то и дело что к коду из 6-го поста добавил только графику (Grapics3d и тд). Те код вообще ничего лишнего.

H@NON 17.10.2007 15:29

Re: Проблема с PhysX
 
выложи сюда свой весь код, исправим!

Trilliput 17.10.2007 23:29

Re: Проблема с PhysX
 
Вобщем то вот:
Код:

Graphics3D 800,600,32,2
SetBuffer BackBuffer()
ConstFPS=60
period=1000/FPS
time=MilliSecs()-period
Repeat
Repeat
elapsed=MilliSecs()-time
Untilelapsed
ticks
=elapsed/period
tween
#=Float(elapsedModperiod)/Float(period)
Fork=1Toticks
time
=time+period
; Тут логика
IfKeyHit(1) End
UpdateWorld
Next
; Тут рендеры, кубемапы, тени и т.п.
RenderWorld
; Тут 2Д
Flip0
Forever

Блин мистика, сейчас запускаю и все ок. Проц разгружен, памяти не жрет, завершается быстро.:dontknow: Даже не представляю что мог недокопипастить. В прошлый раз при добовлении новых элементов становилось только хуже, простой код с упраляемой камерой и кубиком жрал ресурсов как дум3.
Извеняюсь за бред...

moka 18.10.2007 02:16

Re: Проблема с PhysX
 
Trilliput, наверное не углядел в панеле, 3д макс, автокад, винамп, висул С++, фотошоп, фильмец-другой... :)
Работает говорю же Отлично!

ЛысыЙ_Чук-Иванчук 18.10.2007 09:49

Re: Проблема с PhysX
 
Ну вообще кагда мне МоКа дал этот код, у меня тоже рывки были, ну я его забросил, но нашел прототип в андреевском примере(бамп вроде) тот идельно просто работает, и даже при 10фпс играбельность остоётся.;)
Щяс чуть попозже выдерну из своего проекта, и закину сюды!=)

moka 18.10.2007 11:22

Re: Проблема с PhysX
 
Я же ещё раз повторяют, Там нужно убрать tween за RenderWorld'ом.

ЛысыЙ_Чук-Иванчук 18.10.2007 19:53

Re: Проблема с PhysX
 
в том то и дело, что твеен нужен, и уберать его не обязательно, но в этом случае да.
Блин обесчал и забыл, лана только завтра;)

arman3dg 09.11.2007 23:49

Re: Проблема с PhysX
 
привет всем, я вот скачал (newgame.zip) но при запуске мне видаёт -- ERROR PhysX -- и чтота вроде cpp. эти программы записовал PhysX(driver).exe PhysX(Pro).exe, что у меня ни хвотает???

[email protected]

dimanche13 09.11.2007 23:52

Re: Проблема с PhysX
 
Тебе не хватает знания русского языка, это однозначно!

arman3dg 10.11.2007 18:16

Re: Проблема с PhysX
 
Цитата:

Сообщение от dimanche13
Тебе не хватает знания русского языка, это однозначно!

---------------------------------------------------------------------
dimanche13, интересна как бы ты написал бы на Армянском, или заговорил бы, тогда посмотрим, кто смеяться будет, я задал вопрос не хочешь отвечать, так помолчи, твоя лишняя болтовня ни относится к делу…
а может ты толька и можешь унижать себе таким ответам…

dimanche13 10.11.2007 19:26

Re: Проблема с PhysX
 
Если ты на русскоязычном ресурсе, то будь добр объясняться на русском языке. по теме: шерсти форум.

Render 10.11.2007 20:47

Re: Проблема с PhysX
 
newgame.zip - что это собствено такое?
Откуда взял?

arman3dg 10.11.2007 23:30

Re: Проблема с PhysX
 
Цитата:

Сообщение от Render
newgame.zip - что это собствено такое?
Откуда взял?

--------------------------------------------------------------------------
В этом zip- папке находится игра landrover, там вроде машина должна ездить, но когда запускаю игру, чтоб просмотреть, то выкидывает ошибку, и не запускается игра.

Render 11.11.2007 00:15

Re: Проблема с PhysX
 
Это похоже игра кривая :)
А у тебя дрова для ФИзикса вообще то стоят? Дай глянуть архив, а то хз что там лежит вообще.

arman3dg 11.11.2007 18:13

Re: Проблема с PhysX
 
Цитата:

Сообщение от Render
Это похоже игра кривая :)
А у тебя дрова для ФИзикса вообще то стоят? Дай глянуть архив, а то хз что там лежит вообще.

---------------------------------------------------------------------
даваи твои mail, я тебе на mail пришлю, а что значит (дрова)?

jimon 11.11.2007 19:17

Re: Проблема с PhysX
 
arman3dg
вот что значит : http://www.ageia.com/drivers/drivers.html

arman3dg 11.11.2007 22:59

Re: Проблема с PhysX
 
Цитата:

Сообщение от jimon
arman3dg
вот что значит : http://www.ageia.com/drivers/drivers.html

PhysX_7.09.13_SystemSoftware.exe скачал и записал. (PhysX_samples ) = ни один пример ни включается, может ешё что та надо для папки ( userlibs ) DLL – может ни хватает? Но при запуске любова примера из (samples) видаёт вот эта -- pxCreateWorld(1, "key") – и не включается…

H@NON 11.11.2007 23:15

Re: Проблема с PhysX
 
Вместо key - нужно вписать уникальный регистрационный код, который получается у автора враппера, те Rendera.

arman3dg 11.11.2007 23:45

Re: Проблема с PhysX
 
Цитата:

Сообщение от H@NON
Вместо key - нужно вписать уникальный регистрационный код, который получается у автора враппера, те Rendera.

Огромное вам спасибо, там победа ездит крута:))) Если вам понадобится помаши в 3Ds MAX-е, то нет проблем…

arman3dg 12.11.2007 00:04

Re: Проблема с PhysX
 
Цитата:

Сообщение от H@NON
Вместо key - нужно вписать уникальный регистрационный код, который получается у автора враппера, те Rendera.

а у вас этат key нету? скинули бы на почту, плиииз

Render 12.11.2007 02:02

Re: Проблема с PhysX
 
Дык примеры уже работают?
Напиши мне в личку и получиш ключ.

Терминатор01 12.11.2007 03:25

Re: Проблема с PhysX
 
Я так понимаю речь шла о демо-игре landrover использующую
физику PhysX. Я её скачивал отсюда
Blitz Basic PhysX Jeep Physics
http://usabadyn.by.ru/uses/bb.html
Всё нормально работает, вроде красиво, но непонятно почему
тормозит страшно.
-
Странно. Но у меня враппер никакой ключ не требует.
Иногда только выскакивает рамка, что демо.

arman3dg 12.11.2007 18:02

Цитата:

Сообщение от Render
Дык примеры уже работают?
Напиши мне в личку и получиш ключ.

(Напиши мне в личку и получиш ключ) что значит -личку-? в пирвие слышу такое слова:)

Цитата:

Сообщение от Терминатор01
Я так понимаю речь шла о демо-игре landrover использующую
физику PhysX. Я её скачивал отсюда
Blitz Basic PhysX Jeep Physics
http://usabadyn.by.ru/uses/bb.html
Всё нормально работает, вроде красиво, но непонятно почему
тормозит страшно.
-
Странно. Но у меня враппер никакой ключ не требует.
Иногда только выскакивает рамка, что демо.

Скачал landrover, эта та же, которое я имею, но серавно не включается, выдает вот эта --pxCreateWorld(1)--:dontknow:

moka 12.11.2007 18:43

Re: Проблема с PhysX
 
arman3dg, "личка" - это личное сообщение. Смотри под аватаркой в самом низу, 2 таких сноска, 2 кнопочка, там будет при наводке "Послать быстрое сообщение". Вот это и есть личка ;)

arman3dg 12.11.2007 19:03

Re: Проблема с PhysX
 
Цитата:

Сообщение от MoKa
arman3dg, "личка" - это личное сообщение. Смотри под аватаркой в самом низу, 2 таких сноска, 2 кнопочка, там будет при наводке "Послать быстрое сообщение". Вот это и есть личка ;)

Видна вы мастера по програмированию, а я тока учусь:))) месецав 5 гдета.

Bagration 12.11.2007 22:42

Re: Проблема с PhysX
 
arman3dg, давай выходи в асю, поговорим просто, ведь вместе учить легче. Ася - ICQ 341180815

arman3dg 14.11.2007 21:17

Re: Проблема с PhysX
 
Цитата:

Сообщение от Render
Дык примеры уже работают?
Напиши мне в личку и получиш ключ.

Render привет ты вроде как ключ абешал???? :dontknow: пришли мен arman-3dmail.ru плииииз

Render 15.11.2007 00:52

Re: Проблема с PhysX
 
Хм, я вроде выслал мейл. Проверь ещё раз.

arman3dg 15.11.2007 19:45

Re: Проблема с PhysX
 
Цитата:

Сообщение от Render
Хм, я вроде выслал мейл. Проверь ещё раз.

Может я случаина стёр :dontknow: вышли ешё раз ок... ;)


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

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