Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D

Ответ
 
Опции темы
Старый 16.04.2010, 14:16   #1
Ganociy
Разработчик
 
Аватар для Ganociy
 
Регистрация: 02.06.2009
Адрес: Город Герой Ленинград
Сообщений: 392
Написано 33 полезных сообщений
(для 74 пользователей)
Замедление времени...

Смотрел тут... Ниже тема похожая, но конкретно как всегда никто не сказал . Так вот всё таки как этого добиться средствами Блитза .
Можно конечно все переменные отвечающие за анимацию , за скорости передвижения и т. д. в определённый момент понизить(можно FPS сократить, но это если хочешь достичь эффекта тормознутости ) , но согласитесь глупо.
И тут же опять вопрос : опять же ,как СРЕДСТВАМИ БЛИТЗА сделать так , стобы на переднем плане отчётливо виднелся игрок(или оружие) , а остальное размыто виднелось.

PS Если кодом можете это представить , то буду очень благодарен...
__________________
Самый первый и самый великий программист - это Бог.
(Offline)
 
Ответить с цитированием
Старый 16.04.2010, 14:57   #2
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Замедление времени...

Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 200 сообщение(ий)):
У вас нет прав, чтобы видеть скрытый текст, содержащийся здесь.

Копипастер детектед.
__________________
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо SBJoker за это полезное сообщение:
Dream (23.05.2010), EvilChaotic (16.04.2010), Mr_F_ (23.10.2010), Program23 (22.10.2010)
Старый 23.05.2010, 18:36   #3
Amatsu
Дэвелопер
 
Аватар для Amatsu
 
Регистрация: 24.07.2008
Сообщений: 1,544
Написано 1,095 полезных сообщений
(для 2,706 пользователей)
Ответ: Замедление времени...

Сообщение от Ganociy Посмотреть сообщение
Можно конечно все переменные отвечающие за анимацию , за скорости передвижения и т. д. в определённый момент понизить(можно FPS сократить, но это если хочешь достичь эффекта тормознутости ) , но согласитесь глупо.
Не соглашусь. Сделал этим методом, все прекрасно работает. Другого выхода не вижу. К тому же в этом случае ты можешь сам контролировать, какие процессы замедлять, а какие оставлять неизменными или даже ускорять. А средствами блитца можно только 1) замедлить анимацию моделей 2) снизить количество обрабатываемых циклов в секунду, но это, как было верно замечено, тупо снизит количество фпс, что будет заметро невооруженным глазом.

И кстати, читал ты невнимательно другие темы по этому вопросу - понижать ВСЕ переменные в нужный момент тебе и не нужно, тебе надо всем переменным отвечающим за скорость добавить переменную множитель, которая в обычном режиме равна 1, что значит все процессы протекают с нужной скоростью. Стоит тебе присвоить этой переменной значение 0.5 как все нужные процессы в игре замедлятся в 2 раза.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Arton (23.05.2010)
Старый 23.05.2010, 20:35   #4
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Замедление времени...

Делаеца просто. В начале цЫкла:
oldFps=millisecs()
//конец цикла
deltaFps=millisecs()-OldFps
if DeltaFps=0 then DeltaFps=1
FPS=1000/deltafps

GAME_SPEED_K#=float 60/Fps
//Вот теперь мы имеем коэффициент тормознутости системы
//На него умножаем все счетчики и перемещения обэктов
//а если нужно замедлить игру...
GAME_SPEED_K#=GAME_SPEED_K#*Speed_K#
Speed_K#=Speed_K#-.05

Voila, C'est tres simple
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
baton4ik (24.05.2010)
Старый 22.10.2010, 17:24   #5
Colossus
Разработчик
 
Аватар для Colossus
 
Регистрация: 12.10.2008
Адрес: Самара
Сообщений: 437
Написано 55 полезных сообщений
(для 92 пользователей)
Ответ: Замедление времени...

хорошо, а как быть с физикой? число рендера pxRenderPhysic(Speed*DeltaTime) чтоли? где Speed = 30 а DT = 1 получится что время обновления физики замедлится только?))
__________________
Пекарня: Intel Core i3 - 3240(3.40Ghz), ram 8 gb, video Gigabyte Nvidia GeForce GTX 650 1gb

Лэптоп : Intel Core i3 - 2365(1.40Ghz), ram 4gb, video Int Intel HD3000(512mb)

Мой набор: 3ds Max 9 + Xors3d(Blitz3d) + Photoshop
(Offline)
 
Ответить с цитированием
Старый 23.10.2010, 20:11   #6
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Замедление времени...

я скоко не парился с враппером физыкса, так и не смог его нормально замедлять) да в общем вообще держать скорость физики стабильной.
(Offline)
 
Ответить с цитированием
Старый 23.10.2010, 20:34   #7
Colossus
Разработчик
 
Аватар для Colossus
 
Регистрация: 12.10.2008
Адрес: Самара
Сообщений: 437
Написано 55 полезных сообщений
(для 92 пользователей)
Ответ: Замедление времени...

ну я в общем попробовал сделать у себя так:

xGraphics3D 1024,768,32,False,False
xSetBuffer xBackBuffer()

pxCreateWorld (1,"вротмненоги")
pxSetGravity 0,-9.8,0

пишем переменную для нашего замедлителя (DeltaTime#) 
и снизу сразу же пишем переменную скорости обновления физки( мне лично так удобнее)

Global DeltaTime# = 1
Global PhysXSpeed# = 30


While Not xKeyHit(KEY_ESCAPE)
сдесь как раз пропписываем нашу фишку, деля скорость физики на замедлитель
pxRenderPhysic(PhysXSpeed#/DeltaTime#,0)

не забываем воткнуть обновление функции))
xUpdateDeltaTime()
xUpdateWorld
xRenderWorld

xFlip
Wend
End

Пишем функцию обновления нашего "замедлителя"

Function xUpdateDeltaTime()
	If xKeyDown(42) Then
		DeltaTime# = DeltaTime# - 0.05
	Else
		DeltaTime# = DeltaTime# + 0.03
	End If
	
	If DeltaTime# >=1 Then DeltaTime# = 1
	If DeltaTime# <=0.1 Then DeltaTime# = 0.1

End Function 

тоесть получается что если мы нажимаем кнопку (пусть это будет 42 - левый Shift) то у нас переменная DeltaTime# от еденицы сводится к ее десятой части - 0.1 и у нас получается что все плавно замедляется))
__________________
Пекарня: Intel Core i3 - 3240(3.40Ghz), ram 8 gb, video Gigabyte Nvidia GeForce GTX 650 1gb

Лэптоп : Intel Core i3 - 2365(1.40Ghz), ram 4gb, video Int Intel HD3000(512mb)

Мой набор: 3ds Max 9 + Xors3d(Blitz3d) + Photoshop
(Offline)
 
Ответить с цитированием
Старый 24.10.2010, 10:27   #8
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Замедление времени...

Насколько я помню, pxRenderPhysics(x) будет стремиться к ускорению рендера физики, при X->0, => нам нужно из Y (Где У - коэффициент замедления времени) выразить функцию, стремящуюся к бесконечности, при X -> 0, а функция эта такова:
X=60/Y
Доказательство.
Пусть Y=1, тогда Х=60/1 = 60, т.е. нормальный рендер физики
Положим Y=0.5, тогда X=60/0.5 = 120, т.е. в два раза замедленный рендер физики .
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Colossus (24.10.2010)
Старый 24.10.2010, 14:26   #9
Colossus
Разработчик
 
Аватар для Colossus
 
Регистрация: 12.10.2008
Адрес: Самара
Сообщений: 437
Написано 55 полезных сообщений
(для 92 пользователей)
Ответ: Замедление времени...

Гениально, Ватсон! похоже ты только что обьяснил как работает мой код)))
__________________
Пекарня: Intel Core i3 - 3240(3.40Ghz), ram 8 gb, video Gigabyte Nvidia GeForce GTX 650 1gb

Лэптоп : Intel Core i3 - 2365(1.40Ghz), ram 4gb, video Int Intel HD3000(512mb)

Мой набор: 3ds Max 9 + Xors3d(Blitz3d) + Photoshop
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Reizel (28.12.2010)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com