forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты на Blitz3D (http://forum.boolean.name/forumdisplay.php?f=14)
-   -   Про.кт "FreeSpace" (http://forum.boolean.name/showthread.php?t=5408)

Leito 26.02.2008 18:54

Re: Ответ: Про.кт "FreeSpace"
 
Цитата:

Сообщение от MoKa (Сообщение 77926)
О чём я всем и вся твержу, но все игнорят..

а что сложного.
по поиску в коде ищешь команды MoveEntity RotateEntity и аналогичные. и все:)

moka 26.02.2008 19:40

Ответ: Про.кт "FreeSpace"
 
Не понял о чём ты, о дельта тайминге???
Всё намного проще ;)

FrankH 26.02.2008 21:16

Ответ: Про.кт "FreeSpace"
 
MoKa, поделись? ;)

moka 27.02.2008 12:01

Ответ: Про.кт "FreeSpace"
 
Вот.

FrankH 27.02.2008 21:47

Ответ: Про.кт "FreeSpace"
 
Цитата:

Не понял о чём ты, о дельта тайминге???
Всё намного проще ;)
MoKa, я думал "проще добавить дельтатайминг" ..

ABTOMAT 27.02.2008 21:56

Ответ: Про.кт "FreeSpace"
 
Цитата:

Сообщение от FrankH (Сообщение 78238)
MoKa, я думал "проще добавить дельтатайминг" ..

Я про то же говорил! К сожалению, мой пост был незаслуженно стёрт, однако выражал сию мысль одним смайлом. :(

moka 28.02.2008 11:35

Ответ: Про.кт "FreeSpace"
 
С дельта таймом, тебеж придётся все процессы завязанные на времени, умножать на дельтатайм, а тут ничего этого не нужно делать!

HolyDel 28.02.2008 11:44

Ответ: Про.кт "FreeSpace"
 
MoKa, конечно нужно ;)
просто "умеожение" получается неявно через сложение.
если сдвинуть объект 10 раз за цикл на 1-еденицу вправу. то он будет сдвинут на 10 едениц. это все равно что домножить еденицу на 10.

дельтатайминг будет плавнее, дешевле.
минус - писать умножение на дельту на КАЖДУЮ операцию (значимую ессено). что, согласись, довольно лениво.

moka 28.02.2008 11:53

Ответ: Про.кт "FreeSpace"
 
Да не только в лени дело, этож ВЕСЬ код, а согласись он порой Огромен, и в нём эти сотни и почти тысячи умножений, читабельность падает неимоверно..

Taugeshtu 28.02.2008 19:12

Ответ: Про.кт "FreeSpace"
 
МоКа, очень многое зависит, как ни странно, от имени переменной дельтатайминга... Если это вполне внятное:
GAME_SPEED - то и она всегда видна будет, и окружающие ее вещи особо не запутает...
Кстати, как я понимаю, твой стабилизатор решать задачу "полуторного" запаздывания УПС от идеала не умеет... Дельтатайм же справится...
Однако вживлять его в уже готовый, большой (и жирный (с) ) проект трудновато...

ABTOMAT 28.02.2008 19:46

Ответ: Про.кт "FreeSpace"
 
Цитата:

минус - писать умножение на дельту на КАЖДУЮ операцию (значимую ессено). что, согласись, довольно лениво.
Ну, если лениться на всём, то и игру не сделаешь ;)
Если я пишу нечто, что связано с дельтой, то тут же и приписываю *dt вот и всё :)

Да, конечно, переменных в среднем проекте дох*я и если уже в готовый прокт вкручивать дельту, то тут голову сломаешь. Поэтому нужно завести себе привычку сразу же связывать всё необходимое с дельтой и никаких проблем не возникнет!

Цитата:

Да не только в лени дело, этож ВЕСЬ код, а согласись он порой Огромен, и в нём эти сотни и почти тысячи умножений, читабельность падает неимоверно.
Ну, вот. Теперь мы будем бороться не за качество конечного продукта, а за читабельность кода. Конечно, пускай у нас тяжёлая логика повторяется N раз, пока не поспеет за рендером. А, между прочим, если юзать, например, PhysX, то и физику (RenderPhysX в данном случае) нужно пихать к логике, или я не прав? Выходит, обработку физики тоже нужно повторять?! А это уже нехилые тормоза! И это при том, что в том же RenderPhysX'e и стандартном блитзевском UpdateWorld'e предусмотрена переменная tween (см. хелп), которая и есть ни что иное, как dt!
Так о чём это я? Ах да, у нас же зато будет самый читабельный код на свете!

Цитата:

Bot\speed = bot\speed + 0.001*dt ; То увеличим его скорость бега
If bot\speed > 0.3 bot\speed = 0.3 ; Но она не должна превышать 0.3
If bot\anim_status <> goes ; Если бот всё ещё не анимирован анимацией ходьбы
Animate(bot\mesh,1,.03,4,5000.0/dt) ; Исправляем это дело
bot\anim_status = goes ; И пишем что бот, мол, уже анимирован
End If
Нечитабельно? ИМХО, всё очень даже понятно.

HolyDel 28.02.2008 19:51

Ответ: Про.кт "FreeSpace"
 
ABTOMAT, ты чего?!!!
Animate(bot\mesh,1,.03,4,5000.0) - анимация должна быть задана в нормальной скорость

UpdateWorld(dt) - твиним только ее проигрывание.

а то представь ситауцию - во время тормозов (dt - большое) назначили анимацию медленную, торомза прошли, а двигается объект все равно медленно, до тех пор, пока его не придется переанимировать.

Цитата:

Нечитабельно? ИМХО, всё очень даже понятно.
нифига не понятно. комментарии все портят.

jimon 28.02.2008 19:52

Ответ: Про.кт "FreeSpace"
 
в jaqua из более чем 100 тысячи строчек кода
и всего около 100 умножений на dt ... так что я думаю ето не очень накладно
если уметь писать код :)

ps. хотя я помню лично мест 15 где умножал на dt ...

FrankH 28.02.2008 21:23

Ответ: Про.кт "FreeSpace"
 
Даже интересно стало, посчитаю, сколько у меня их будет.. :) по памяти не более 20ти..

Leito 28.02.2008 22:03

Re: Про.кт "FreeSpace"
 
мм 100 тысяч строчек кода, и каждую писал лично? оО


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

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