24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
НЕ ЖДАЛИ СУКИ?!!!! ПАУУУУ ПАУУУУУ! https://twitter.com/neoaxis/status/1104752688124833793
>>565239 Бамп вопросу. И добавлю, что в части ввода данных я с этим вопросом разобрался. Вместо if (key == W) { vec2 move.y = 1 } if (key == W) { vec2 move.y = 1 } if (key == W) { vec2 move.y = 1 } if (key == W) { vec2 move.y = 1 }
>>565252 Непонятно, какого хуя сообщение отправилось. Вместо: if (key == W) { vec2 move.y = 1 } if (key == A) { vec2 move.x = -1 } if (key == S) { vec2 move.y = -1 } if (key == D) { vec2 move.x = 1 } я напишу: vec2 move.x = int(key = D) - int(key = A) vec2 move.y = int(key = S) - int(key = W) Но, как быть с конечными автоматами? Как их реализовать без ифов? Потому что хоть анимации, хоть ИИ, в любом случае придётся использовать КА. Сотни статей перечитал - нихуя не понимаю. Обесните на пальцах.
>>565239 >Просто хочу разобраться. Подписываешься на события через редактор ебучий, который визуальный типа. Повышается реюзабельность твоего вонючего кода + твой ссаный дизайнер "эдвард-руки-пенисы" сможет подписывать нужные объекты на нужные события. В крайнем случае можно через редактор задавать ссылки на нужные кнопки. Но искать кнопки по именам в коде - это уже клиника.
>>565268 >эдвард-руки-пенисы Олдфаг в треде! Вот и свиделись. >искать кнопки по именам в коде - это уже клиника Эм, ты о чём? Выше в постах исключительно в псевдокоде примеры. Никакого поиска по именам. Только события, естественно.
>>565254 > vec2 move.x = int(key = D) - int(key = A) > vec2 move.y = int(key = S) - int(key = W) Это просто пиздец. ЫЫЫ ИКАНОМЛЮ ДВЕ СТРОЧКИ ЫЫЫЫЫЫЫ ТЕПЕРЬ КОД ЧИТАЕМЕЕ В НЁМ ПРОЩЕ РАЗОБРАТЬСЯ))))
>>565265 Как минимум второй чел тебя не оскорблял. Напомню его собщение: > Те же if за синтаксическим сахарцом. Ты верун?
А ты же в ответ оскорбил его, проигнорировав его консультацию и ложно обвинив в оскорблениях, которых тут нет. Двойные стандарты?
Ну и я уж вообще молчу про то что ты мало того что на сосаче ноешь что тебя оскорбляют, так еще и пиздишь что-то на справедливую аппеляцию к невежеству.
>>565301 Всё функциональное внутри имеет то, что пытаются заменить, if там есть, и всё остальное. Код компактнее вроде, да? Но работает медленнее, потому что там внутри целая куча, которую нужно обрабатывать, чтобы получить красивую оболочку, под названием функциональное программирование.
>>565404 Берешь спрайт/модельку, двигаешь влево-вправо с постоянной скоростью, смотришь, плавно ли двигается. Если у тебя нормальный движок, то всё будет плавно, если у тебя годот - время от времени будут проскакивать рывки.
>>565411 Нормальный игровой цикл написать непросто, особенно если он многопоточный. У Хуана просто не получилось, теперь валит всё на кривые драйвера у nvidia.
>>565408 > Если у тебя нормальный движок, то всё будет плавно, если у тебя годот - время от времени будут проскакивать рывки. Деревенщина, можно график фреймиайма выводить.
>>564971 (OP) Это какой-то assetbash либрарибаш от мира движков. Линукса нет, андроида нет, айфонов нет, VR нет, зато bgfx, ASSIMP и 64 битная точность бай дефолт. Ну охуеть.
>>565426 Нету, эту проблему ты сам сейчас выдумал. То о чем ты говоришь может повлечь за собой лишь тиринг(проблема для движков настолько фундаментальная, что контрится всинком, а если не хочешь жрать инпут лаг то фрисинком, жсинком и фастсинком - целый зоопарк на любой вкус), потому что то что ты назвал "временем" определяется полностью частотой обновления картинки на мониторе, остальному железу на это насрать.
Теперь немного теории: Статтер - это сильно выбивающееся в худшую сторону время кадра(тут мы рассматривпем не время кадра на мониторе, а на процессоре в совокупности с видеокартой которая рендерит то что нужно по его указаниям, можешь называть это не кадрлм а одним полным игровым циклом, как тебе угодно) на некотором промежутке времени, которое портит игровой экспириенс. Например идут кадры по 15-16мс и всё заебись, а тут на нахуй 40 мс жри говно, потом опять пошло некоторое количество времени(в районе полсекунды скажем) и на нахуй опять 40 мс кадр. В итоге счетчик фпс показывает в районе 60, а на практике играть в это говнище жутко неприятно. И проблема эта вызвана не каким-то "рациональным временем" и "дискретным количеством кадров", а тем, что движок именно на этом кадре решил вычистить память, обновить какой-нибудь кэш, что-то очень нужное просчитать и это как мы видим заняло много времени.
>>565432 А он и не говорил что интерфейс редактора=движок. Например можно сказать "на лошадях с таким извозчиком далеко не уедешь" - структура предложения точно такая же, причем если мы уберем первуб часть то получим "с таким извозчиком далеко не уедешь" и смысл остается такой же. Также и тут "с таким интерфейсом игры не делаются" - смысл не поменялся и это действительно так. Я думаю он это имел в виду.
А вообще это у тебя просто шило в жопе и ты уже во втором треде подряд до этого доебался.
>>565433 Ну так я примерно о том же и говорю. В одном случае 15мс хватило на кадр. Во втором хватило. А в третьем попало на границу кадра, и вот уже один кадр пропустили и только в следующем нарисуем.
>>565435 Ну если монитор 60гц = каждые 16.6мс обновляется картинка, то описанная тобой ситуации никогда не возникнет если каждый раз время кадра будет меньше 16.6мс.
Вот если время кадра бывает больше 16.6мс, например иногда проскакивают 17мс - тогда такое может быть. А если иногда проскакивают 34 мс кадры - это уже потеря двух из трех обновлений на мониторе, это уже пиздец статтер.
>>565428 >зато bgfx, ASSIMP Вообще-то так и должно быть в нормальном движке, нужно использовать специализированные библиотеки для различных подсистем, а не городить свои кривые велосипеды под каждый чих, как сделал Хуан.
>>565445 Нет, движок должен быть ближе к железу, поменьше прослоек, был случай когда чувак выкинул bgfx и получил прирост производительности в два раза.
>>565443 С простым спрайтом у тебя будет тратится 0.01мс(эквиваленьно 100000 фпс) на кадр. Даже если ты там заметишь разброс аж до 0.1мс - то это будет из-за каких-то фоновых задач. А если ты заметишь статтеринг с одним спрайтом - то это кривой разгон процессора(или стоковый но на деградировавшем от многократного перегрева цпу, наверное) или памяти, опять же какие-то фоновые задачи(например именно в этот момент ебущие мертвый жесткий диск), проблемы с видеокартой/драйверами, может быть проблемы с другим оборудованием.
Вот если уже спрайтов будет много - тогда есть смысл проверить на статтеринг и ечли он есть то подумать что же у тебя такого раз в несколько кадров может сильно повышать нагрузку на процессор.
>>565483 >Показывай где там в юнити что статтерит - для этого нужно видео. Хуя пососи, чума, запусти да посмотри. У нас тут не суд, тебе пидару ничего доказывать не собираюсь. Я запустил и видно, что в годоте, что в юнити заикания ебаные.
>>565488 Это безпруфные кукареканья. В hw тебя бы за такое из треда вышвирнули, там челы не ленятся записывать видео с полным мониторингом нагрузки и фреймтайма.
>>565490 >безпруфные Я же тебе сказал, что не собираюсь ничего доказывать, долбоеб. Ты отрицаешь то что в статье написано? Юнитипидары уже писали, что у них тоже есть статтеры, так что соси.
>>565505 Ты, чмо, всё это делается через редактор Юнити. На события подписываешься через редактор. Создавать окна и наследовать в коде не нужно, создаёшь всё в редакторе. Не нужно загружать вручную окна, можешь префаб создать и перенести на сцену. Пиздец тебе, короче. Заебал ты меня.
>>569453 То что линуксоиды с завидной периодичностью дают на рот виндоузятникам это я слышал, но чтоб они после этого и рот им струей мочи промывали, это что-то новенькое.
>>565408 >Если у тебя нормальный движок, то всё будет плавно Неуловимая проблема тайминга кадров https://habr.com/ru/post/419043/ Читани эту статью, это общая проблема касается всех движков а не только одного.
https://twitter.com/neoaxis/status/1104752688124833793