Work & Beer Balance
رفتن به کانال در Telegram
Авторский канал @Akiyamka Поддержать автора можно здесь: buymeacoffee.com/cherrytea
نمایش بیشتر1 523
مشترکین
-324 ساعت
-67 روز
+530 روز
آرشیو پست ها
1 523
Самые внимательные могли заметить что курсоры изменились.
Дело в том что я как выяснилось я пошел по ложному следу - не смотря на то что в файлах игры были спрайты для всех курсоров, они... не использовались нигде.
Вероято в какой-то момент они передумали и решили поступить нетривиально - засунуть 3д курсор в игру в виде полнцоенной модели с текустурами.
Так вообще никто не делает, ну хотябы потому что для этого приходится рендерить отдельную сцену поверх остальной игры чтобы камера, освещение и тп не влияли на курсор.
С другой стороны спустя 25 лет это полностью решило проблему низкого разрешения - ведь модель отлично скейлится!
Я так же нашел модели для всех меню в игре и прочих элементов интерфейса - так что даже на 4к разрешении все это должно выглядеть отлично.
P.S. эффекты сложно восстанавливать отчасти еще и потому что многое из этого тоже создавалось процедурно. Веротянее всего причина в том что игру надо было впихнуть на CD диски. Их и так было 4 в комплекте, и это при том что 3 их них были тупо с музыкой
1 523
Вчера весь вечер и до поздней ночи делал боевую систему.
Хотя казалось бы что сложного:
- Есть много-осевые "турели" с степенями свободы которые могут быть настаканы друг на друга. В них живет стадия наводки, начальная траетория и место вылета снаряда. Т.е. откуда будет лететь
- Есть снаряды которые бывают разных типов (навесные ядра, наводящиеся ракеты, лазеры и тп). Отвечают за траекторию полета, колизии и тп. т.е. как будет лететь
- Есть боеголовки. Несут в себе тип урона, количество урона, пробивную силу, радиус и тп. Отвечают за то что будет когда прилетит
Основная сложность кроется именно в FX части - у юнита есть вспышки по время выпуска пули, backfire, гильзы - у снаряда аэродинамический след, дуга траектория которой должна быть выпрямлена вдоль стволов, у боеголовки свет дым шрапнель и декали кратора в месте попадания (последнее я вчера доделать не успел).
Было сложно не логику описать а добиться "того самого" внешнего вида
1 523
TUI для управления правами файлов.
Если вам тоже такое нравится -
cargo install rvx
или
brew install vncsmnl/tap/rwx1 523
в итоге все таки все курсоры делаю в blender. Во первых не красиво было завыыватся в опенсорсном движке на проприетарный платный редактор, во вторых CLI версии у него нет, в третих я так и не понял как там сделать поверхность которая сама не видна но тени на нее кастуются
1 523
Править каждый кадр 34 курсоров у меня желания нет, но и куцые курсоры выглядт паршиво (рис 1)
Можно было бы отрисовать их в blender но я решил вместо этого постестить "3D Figma" - spline.design
Отрисовал там первй курсор и закинул в игру - вроде норм
До и после прикрепил, и хотя телега как обычно все зашакалит думаю разница все равно будет видна
1 523
а еще у них треть текстур а формате TGA (формат поддерживает альфа канал) вместо альфа канала использует розовую заливку (как dune 2000), тогда как альфа канал там часто черный (т.е. 100% прозрачность) что тоже нормальыне движки сводит сума
1 523
Вот пример зачем я еще плачу за fable.
У некоторых моделей в некоторых анимациях оказались вывернутые во внутрь нормали.
GPT в xhight режиме сначала гайзлайтил меня что все нормально. Потом газлайтил что все пофиксил (нет). Потом отдельный gpt уже ревьюфил фикс первого и тоже ничего не добился (так я проверил теорию про то что качество модели может фликерить и одини тот же промпт может то выстрелить то нет)
Итого GPT в hight-x не смог решить проблему даже в паре с двух попыток суммарно за 60+ минут.
Fable xhight разобрался за 22 минуты (скушав правда ~20% недельного лимита на фейбл)
1. Исходные данные (AT_Conyard_HC.XBF, из него собирается состояние Build): у clonetread01/clonetread02 трансформ и все 576 кадров анимации имеют det < 0 (диапазон [-0.032, -0.012]) — это зеркальные копии («clone» — клон MCV на стройплощадке). Конвертер корректно выносит отражение в узел MirroredContent — с этим всё в порядке. 2. Ключевой факт: у обоих тредов все 13 нормалей вершин направлены внутрь геометрии в локальном пространстве (проверено численно против направления «центроид → треугольник»), и winding треугольников согласован с этими внутренними нормалями. То есть меш авторски пред-скомпенсирован под вечное зеркало: в мире исходной игры отражение выворачивало геометрию обратно «наружу». 3. Почему оригинал это скрывал: оригинальный движок (и CorrinoEngine — в его Engine нет ни одного GL.Enable(CullFace), нормали идут из файла как есть) рендерит без backface culling. Вывернутый меш под зеркалом выглядел цельным, а неправильное освещение (нормали и в мире остаются внутренними — отражение не меняет «внутрь/наружу») в 2001-м никто не заметил. 4. Почему Godot ломает: Godot 4 автоматически переворачивает cull mode для инстансов с отрицательным детерминантом глобального трансформа (renderer_geometry_instance.cpp:69: mirror = determinant < 0; переворот в rasterizer_scene_gles3.cpp — проверено в исходниках 4.7-stable). Для правильно авторенных зеркальных мешей это чинит картинку, а для пред-скомпенсированных (треды) — выворачивает её. Подтверждено рендер-диагностикой: FRONT_FACING-шейдер показывает у треда наружные грани «front» (в отличие от эталонного cloneBox02), т.е. winding в мире у него противоположен всем остальным мешам. 5. Доказательство фиксом: реверс порядка вершин треугольников + инверсия нормалей у двух мешей тредов в рантайме полностью чинит рендер — треды становятся цельными, с правильными боковинами гусениц и корректным освещением (скриншоты «до/после» снимал через хостовый Godot 4.7).
1 523
Вот еще один пример того как быть когда сложно обьяснить модели что с текущей реализаций не так и как надо сделать.
В игре есть механика мехов (😅) - во первых такие юниты не вижутся перпендикулярно земле на склонах, а во вторых их движение нелинейно - они не едут, а шагают.
В конфигах обнаружилось что у всех бнитов с флагом isMech - есть не одна а две скорости передвижения.
Очевидно между ними мех переключается тем самым создавая нелинейное движение, но больше там ничего нет.
Наивная релаизация 50 / 50 дала очень плохой результат скользяших по льду анимаций, так что я описал модели какой мне нужен UI c какими ручками чтобы "нащупать" те самые параметры.
Забыл только попросить о кнопке "скопировать параметры", так что придется ручками их переписать
1 523
Вот так выглядит моя "серверная полка"
Сам сервер с пассивным охлаждением, но как вы могли догадаться по костылю сверху Майнкрафт с 300 модами в сочетании с 32 градусной жарой слишком жесткое сочетание даже когда весь корпус это сплошной радиатор (весит эта малютка килограмма два)
Однако 5$ контроллер и немного микропитона и пайки дают программно управляемый куллер которой включается когда серверу нужно остыть (очень редко)
1 523
я задолбался это делать даже с помощью агентов. Результат не идеальный но не хуже чем было в оригинале
1 523
Вы наверняка знаете что в играх весь мир обновляется за т.н. "игровой тик"
А то что в нашей с вами реальности тоже есть такой тик обновления вы знали?
Планковское время
1 523
Это только у меня каждый день сбрасывается недельный лимит Codex? Вот уже второй раз подряд - выездаю его на ~70% за день а на утро он снова сброшен
1 523
вот зря на собеседованиях гугла не просят показать как выровнять див по центру страницы
1 523
Расчет траекторий оказался вершиной айзберга!
Как быстро выяснилось - надо еще расчет столкновений как-то круто описать. Сейчас у меня юниты как бильярдные шары разлетаются а хочется чтоб как трафик в индии
1 523
codex отменили 5h лимиты, остался только недельный. А при этом они спалили мои 3 не заюзаных сброса (
1 523
+1
вот вы ругаетесь на нейрослоп. А вот вам человеками написанный релиз игры где 3 иконки одного и того-же юнита с разными опечатками )
"Да я же вроде доабвлял ее!!!"
