|
09.10.2007, 21:06
|
#1
|
Знающий
Регистрация: 27.07.2006
Сообщений: 250
Написано 6 полезных сообщений (для 7 пользователей)
|
Проблема с 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)
|
(Offline)
|
|
09.10.2007, 22:42
|
#2
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Re: Проблема с PhysX
Угу.
Нельзя использовать для физикса произвольные значения.
Кроме пропадания ентити еще наблюдается дергание, мерцание и другие баги.
Используй опробованные значения : 30, 60.
Ребята из Агеи чего то намудрили...
__________________
|
(Offline)
|
|
10.10.2007, 01:33
|
#3
|
Знающий
Регистрация: 12.07.2006
Сообщений: 283
Написано 16 полезных сообщений (для 32 пользователей)
|
Re: Проблема с PhysX
Вообщето можно. Но там нужно чётко следить за количеством ФПС, убрать все вертикальные синхронизации. И ещё что то, у меня было как то получилось. Да и в Михаила вроде тоже с плавающим дельта таймом работает. Но, я бы всё равно рекомендовал бы юзать фиксированый, а то можно нарватся на кучу нежелательных эфектов.
|
(Offline)
|
|
10.10.2007, 08:13
|
#4
|
Знающий
Регистрация: 27.07.2006
Сообщений: 250
Написано 6 полезных сообщений (для 7 пользователей)
|
Re: Проблема с PhysX
Блин тогда как сделать контроль фпс? Если использовать 30 или 60 то это не гарантирует 30 или 60 фпс.
|
(Offline)
|
|
10.10.2007, 08:53
|
#5
|
|
Re: Проблема с PhysX
Они же вообще советовали обновление physx в отдельный поток вынести
и там видимо вызывать по таймеру
|
|
|
10.10.2007, 11:18
|
#6
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
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
|
Стабильно и надёжно.
|
(Offline)
|
|
10.10.2007, 16:29
|
#7
|
Знающий
Регистрация: 27.07.2006
Сообщений: 250
Написано 6 полезных сообщений (для 7 пользователей)
|
Re: Проблема с PhysX
попробуем.
Впрос:
If KeyHit(1) End - это всмысле нажимаем Esc и ппц программе?
|
(Offline)
|
|
10.10.2007, 16:38
|
#8
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: Проблема с PhysX
Угу
|
(Offline)
|
|
10.10.2007, 17:37
|
#9
|
Дэвелопер
Регистрация: 19.03.2006
Сообщений: 1,241
Написано 10 полезных сообщений (для 17 пользователей)
|
Re: Проблема с PhysX
Тот код который выложил Мока просто супер!!!!! некаких там дельтатаймов, и хрени всякой!!! пашет на ура(правда я его взял из примера Ашадоу)!!! но суть такаяже!
|
(Offline)
|
|
10.10.2007, 17:59
|
#10
|
Знающий
Регистрация: 27.07.2006
Сообщений: 250
Написано 6 полезных сообщений (для 7 пользователей)
|
Re: Проблема с PhysX
так понимаю что писать обновление мира (те общет физ движков) надо около UpdateWorld, вся графика у RenderWorld()?
|
(Offline)
|
|
10.10.2007, 18:03
|
#11
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: Проблема с PhysX
Ну там 2 коммента за себя говорят. Графа между Next и RenderWorld. А 2д графа перед Flip.
Этот синхронизатор вообще из стандартного IDE в тамплетаз лежит
|
(Offline)
|
|
11.10.2007, 05:26
|
#12
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Re: Проблема с PhysX
У этого синхронизатора есть серъезные недостатки: если игра идет на "границе" заданного фпс, возникают очень неприятные рывки и задержки.
__________________
|
(Offline)
|
|
11.10.2007, 09:20
|
#13
|
Знающий
Регистрация: 27.07.2006
Сообщений: 250
Написано 6 полезных сообщений (для 7 пользователей)
|
Re: Проблема с PhysX
Есть еще какиенибудь варианты?
И что такое отдельный поток? И как его организовать на Blitz?
|
(Offline)
|
|
11.10.2007, 13:33
|
#14
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Re: Проблема с PhysX
tormoz, в стандартном твиининг стоит, его нада убрать и будет ок.
|
(Offline)
|
|
11.10.2007, 16:54
|
#15
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Re: Проблема с PhysX
Не будет
__________________
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:26.
|