Главная Юзердоски Каталог Трекер NSFW Настройки

Gamedev

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 538 139 146
Godot #35 Аноним # OP 29/03/23 Срд 21:28:36 873235 1
1680114515679.png 1298Кб, 1024x723
1024x723
Добро пожаловать в тред любви, взаимопомощи и var root_motion : Transform = anim_tree.get_root_motion_transform()

Краткий гайд по вкату в движок:
1. Читать документацию.
2. Качать примеры.
3. ПРОФИТ!

Ссылки
• Руководство по стилю: https://docs.godotengine.org/ru/stable/tutorials/scripting/gdscript/gdscript_styleguide.html
• Документация: https://docs.godotengine.org/ru/latest/ https://docs.godotengine.org/en/stable/
• Скачать движок: https://godotengine.org/download/ или http://store.steampowered.com/app/404790/Godot_Engine/
• Новости движка: https://godotengine.org/news/
• FAQ: https://docs.godotengine.org/ru/latest/about/faq.html
• Примеры качаются прямо в движке через свой магазин в отдельной вкладке AssetLib. Там есть всё - от платформера до чата.
• Играть в игродела онлайн без регистрации: https://editor.godotengine.org/releases/latest/ с дивана нельзя.
• Игры, созданные глобальными кириллами: https://steamdb.info/tech/Engine/Godot/ https://steamcommunity.com/app/404790/discussions/0/412448792354265655/
• Изумительный Годот: https://github.com/Calinou/awesome-godot https://github.com/godotengine/awesome-godot - подборка дополнений, модулей и минишоукейc.
• Аддон для диалоговой системы: https://godotengine.org/asset-library/asset/833
• Прекомпилер шейдеров: https://godotengine.org/asset-library/asset/977 С версии 3.5 больше не нужен.
• Библиотека готовых шейдеров: https://godotshaders.com
• Майндмаппинг проектов не отходя от кассы: https://godotengine.org/asset-library/asset/879
• SmartShape для рисования 2D-террейнов без задней мысли: https://godotengine.org/asset-library/asset/715
• HeightmapTerrain для рисования 3D-террейнов без задней мысли: https://godotengine.org/asset-library/asset/231
• Конвертор кваковских карт для ностальгирующих дидов: https://godotengine.org/asset-library/asset/446
• Конвертер блендеровских моделей в формат сцен: https://docs.godotengine.org/en/stable/getting_started/workflow/assets/escn_exporter/index.html
• Конвертер блендеровских файлов прямо в движок: https://github.com/V-Sekai/godot-blender Надо только в настройках проекта путь к blender.exe указать. Потом просто закидываешь .blend в папку и импортируется.
• Godot Game Tools - GGT https://viniguerrero.itch.io/godot-game-tools
• Туториал по шейдерам: https://github.com/Volkovina/GLES-2.0-2D-Fragment-Shader-Tutorial-Series-in-Godot-Beginner-to-Advanced ГЛЕС2, да, но ты сначала БАЗУ выучи, ёпт!

Для любителей пощекотать конпеляцию
• Реализация ECS для Годота: https://github.com/GodotECS/godex
• Воксельные террейны от Зилана: https://github.com/Zylann/godot_voxel
• Поддержка различных языков: https://github.com/Vivraan/godot-lang-support

Годнота от анона
• Для приверженцев опенсорца существует возможность распространять проекты в незапакованном формате. Просто скачай темплейт с оф.сайта и положи экзешник/эльфешник в папку с проектом, этого достаточно. Имя файлу можно задать любое. Дополнительно можешь вшить свою иконку в экзешник. После этого, запустившийся файл темплейта обнаружит рядом с собой файл project.godot и начнет грузить проект из него и из файлов, лежащих в распакованном виде в той же директории. Для запущенного таким образом проекта папка res:// становится доступна для записи (если это не ограничено правами доступа в системе). Тут нужно отметить, что проект не запустится без папки .import и файлов в нём. Если попытаться запустить без неё, Godot попросит запустить редактор, чтобы импортировать ресурсы заново. Т.е., к сожалению, невозможно просто отредактировать текстуру в пейнте и увидеть изменения в игре - в любом случае потребуется запускать редактор, чтобы он импортировал текстуру заново, потому что импорт - это конвертация во внутренний формат (etc/etc2/s3tc/bptc), а оригинальный файл (.png, .jpg и т.д.) игрой не читается (load("res://icon.png") грузит версию из папки импорта, а не ту, что мы ожидаем).
• В версии 3.2 появилась возможность прикреплять pck к бинарнику. Не появилась, а вернулась - 2.х умел. Бриллиант для любителей однофайлового продукта!
• Редактор персонажей на основе makehuman: https://github.com/Lexpartizan/Go_MakeHuman_dot

Предыдущий: >>867751 (OP)

Архивный: >>852131 (OP)
Аноним # OP 29/03/23 Срд 21:33:31 873237 2
Смотрим видосы вместе с ОПом.
https://youtu.be/EmQBLxxPV3E
Переводим предпочитаемой нейросетью. У кого своя мясная на инглиш заточена, а у кого электронная из интернетов.
Аноним 30/03/23 Чтв 20:25:32 873349 3
>>873237
>Переводим предпочитаемой нейросетью
>мясная на инглиш заточена
Похоже, ты только один язык знаешь, поэтому поясню лично для тебя: когда человек изучает второй язык, ему больше не нужно переводить с этого второго языка на свой родной. Твоё восприятие перестраивается и ты начинаешь понимать текст и речь на другом языке точно так же, как на родном, без перевода с языка на язык. Если ещё и говорить на втором языке научишься, то точно так же просто говоришь на втором языке, а не переводишь с родного на чужой. Второй язык врастает в тебя настолько, что ты можешь размышлять на этом втором языке, ведя внутренний диалог на нём без перевода на родной. В это тяжело поверить, когда ты ни одного языка кроме родного не знаешь, но на практике для такого уровня освоения не нужно даже обладать богатым набором слов; я по-прежнему вынужден иногда обращаться к словарю с некоторыми незнакомыми словами и путаюсь при построении предложений, но в пределах знакомых слов всё ощущается почти так же естественно, как родной русский. Переводчики, кстати, так и переводят - сначала они понимают суть сказанного на одном языке, как если бы это была родная для них речь, а потом выражают это своими словами на другом языке, опять же как если бы это был родной язык. Поэтому автоматические переводчики дико фейлились до прихода алгоритмов, способных отделить суть текста от конкретных слов и языковых правил, а затем описать эту суть словами и правилами другого языка - ранние переводчики переводили текст дословно без понимания сути и поэтому результат был очень далёк от желаемого, суть текста легко терялась.

Алсо, сегодня как нельзя проще изучить новый язык благодаря этим нейросетевым чатботам, т.к. они знают язык лучше онлайн-переводчиков и могут выполнять роль учителя языка. Пусть у них большая проблема с памятью и ограниченным контекстом, но изображать общение с носителем языка у них получается вполне достойно, так что как минимум тренировать текстовое общение на чужом для тебя языке с ними можно. Главное не воспринимать слишком буквально, они часто бред выдумывают, даже если формально всё правильно написано.

Прости за оффтоп, но ты триггернул меня.

получал "3" за присутствие на английском в школе, полностью забив на него, изучил язык по играм и руководствам к различным техническим штукам
Аноним 30/03/23 Чтв 20:34:49 873350 4
image.png 899Кб, 506x900
506x900
>>873349
Игра твоя где, америкос?
Аноним 30/03/23 Чтв 23:29:27 873388 5
>>873349
>Твоё восприятие перестраивается и ты начинаешь понимать текст и речь на другом языке точно так же, как на родном
Сильно зависит от контента, видос ОПа я понимаю спокойно, но вот например в сериалах/фильмах все говорят как уебаны дегроды и нихуя не понятно вообще.
Аноним 31/03/23 Птн 00:21:24 873391 6
>>873349
Ты что такой душный? Очевидно же, ОП выразился так, потому что прикольная аналогия, типа нейронка цифровая, нейронка мясная, йоу. Просто фигура речи же. Ты б ещё приебался к тому, что мясная нейронка вообще-то не состоит из мышечной ткани, а значит не может называться мясной.
Аноним 31/03/23 Птн 00:26:04 873393 7
>>873349
Тебе в /psy или где тут психологическую помощь оказывают.
Аноним 31/03/23 Птн 19:49:58 873487 8
Аноним 31/03/23 Птн 20:29:43 873500 9
>>873498
написал движкосрач, оскорбление.
Аноним 31/03/23 Птн 20:38:54 873503 10
Аноним 31/03/23 Птн 20:39:37 873504 11
Аноним 31/03/23 Птн 20:57:47 873507 12
>>873506
возвращайся в загон, и называй себя там как хочешь. Здесь твой тупой форс не пройдет.
Аноним 31/03/23 Птн 21:07:05 873509 13
Аноним 31/03/23 Птн 21:11:46 873511 14
1562165247321.png 675Кб, 1280x720
1280x720
О, пора обновиться.
Аноним 31/03/23 Птн 21:30:18 873515 15
>>873509
Не, вот этот хуй душный. Да ещё гундосый. Дропнул просмотр.

>>873504
Карочи, по пунктам. Фичи пилятся. Всё будет уже в этом году. Начинаем пилить прототипы игор. К релизу ваших игор подтянется 4.5. Если ты ждал момента, когда начать, этот момент - СЕЙЧАС.
Аноним 01/04/23 Суб 21:49:54 873665 16
dimasik.gif 391Кб, 285x307
285x307
godot.gif 331Кб, 342x365
342x365
image.png 43Кб, 402x436
402x436
Редактор полигонов сейчас конечно не очень, каждый фейс вручную прокликивать надо. Для сравнения фейс Димасика в бленделе анимировал, в годоте бы задолбался такой меш воссоздать.
Аноним 02/04/23 Вск 00:48:17 873688 17
>>873665
Они взяли курс на нативную интеграцию с блендером и другими опенсорцами в открытую экосистему. Такшта забей на встроенный %редакторнейм%, просто укажи путь к блендеру в настройках большого редактора и юзай бленд-файлы как сцены. Речь о четвёрке.
Аноним 02/04/23 Вск 00:52:12 873690 18
Аноним 02/04/23 Вск 01:02:00 873693 19
Аноним 02/04/23 Вск 02:50:40 873700 20
1664352317723.webm 621Кб, 1280x720, 00:00:03
1280x720
>>873503
Чекнул игры с видоса, вообще ноль прироста по графикам, какая же залупа этот GDC.
Аноним 02/04/23 Вск 05:48:54 873703 21
>>873700
>ноль прироста по графикам,
В смысле в по графикам стима, пользователи не прибавились, вот что я имел в виду.
Аноним 02/04/23 Вск 08:23:52 873709 22
>>873700
>>873703
Не идеализируй пиар. Если игра говно, никакой пиар её не продаст.
Аноним 02/04/23 Вск 09:34:28 873713 23
image.png 5Кб, 262x114
262x114
>>873700
>ноль прироста
У годота чот патреон тоже не растет, когда-то кажется под двадцатку был
Аноним 02/04/23 Вск 12:44:04 873719 24
>>873709
Практика говорит об обратном. Бывают полностью нулевые игры, которые собирают миллионы, потому что в них вбухана куча рекалмы. Бывают норм игры, которые собирают десяток отзывов.
Аноним 02/04/23 Вск 13:29:16 873721 25
>>873719
> Бывают полностью нулевые игры, которые собирают миллионы
Пруф.
Аноним 02/04/23 Вск 14:00:27 873722 26
>>873721
В гугл плей зайди и там увидишь какого нибудь бегущего гиганта.
Аноним 02/04/23 Вск 14:04:18 873723 27
>>873722
Ты в этого бегущего гиганта пробовал играть сам или чисто по пикчам ощущаешь, что игра нулёвая?
Аноним 02/04/23 Вск 14:07:06 873724 28
>>873723
Да это вообще не игра. Как и прочие подобные. Там еще была игра где ты просто нажимаешь 1 кнопку и тебе показывают как будто ты выиграл баксы.
Аноним 02/04/23 Вск 17:49:11 873749 29
Ждем 4.1
Аноним 02/04/23 Вск 18:13:57 873751 30
Ждём 7.77
Аноним 02/04/23 Вск 18:39:46 873753 31
>>873751
Не,надо ждать 4.5
Тогда все отполируют и гайдов будет уже много
Аноним 02/04/23 Вск 20:50:12 873765 32
>>873753
Нахуя тебе гайды именно по 4-ке? Что с тобой не так? Я могу открыть гайд со знаменитого сайта про гейм-паттерны и прямо оттуда хуярить код в годот, на лету переводя из сиобразного псевдокода в гдскрипт. Почему ты так не можешь? Почему тебе требуется, чтобы тебе всё разжёвывали по 300 раз?
Аноним 02/04/23 Вск 22:00:40 873774 33
>>873765
чё за знаменитый сайт?
Аноним 03/04/23 Пнд 07:29:43 873792 34
Аноним 03/04/23 Пнд 08:33:39 873794 35
Аноним 03/04/23 Пнд 18:31:23 873871 36
https://youtu.be/dMYv6InQgno
Пиздец. пытаюсь вкуривать вот этот туториал, но ощущение, что просто повторяю, как макака. Есть что-то более упрощенное? Этот кажется слишком перегруженным для небольшого проекта
Аноним 03/04/23 Пнд 19:30:04 873878 37
Аноним 04/04/23 Втр 05:33:45 873982 38
Годаны, как найти это место?
>emit_signal: Error calling method from signal 'my_signal': 'Node(foo.gd)::bar': Method not found..
Через поиск по файлам пытаюсь найти - нету. Я тот сигнал уже отовсюду выпилил, а он всё равно вызывается как-то где-то. Как найти, где именно? Раздражает ошибка.
Аноним 04/04/23 Втр 06:19:13 873983 39
>>873982
Ну как обычно, стоило спросить, ответ нашёлся.
Открыл подозреваемую сцену, и там мне ошибка жёлтым показывает, какая именно нода её вызывает. Оказывается, то был не мой сигнал, а встроенный с таким же именем.
Аноним 04/04/23 Втр 15:00:14 874051 40
>>873983
Встроенный с названием my_signal?
Аноним 04/04/23 Втр 16:09:49 874072 41
>>874051
Именно так, Шерлок! В скрипте foo и с коллбэком bar.
Аноним 04/04/23 Втр 19:13:40 874106 42
Ну чо там, когда стабильная версия четвёрки?

Мне развитие строгой типизации очень нравится, хотя и 3.5 достаточно
Аноним 04/04/23 Втр 19:53:41 874113 43
Аноним 04/04/23 Втр 23:26:35 874142 44
1600625137644.png 703Кб, 1920x1080
1920x1080
HungryProton пилит геометри ноды для годота.
Аноним 05/04/23 Срд 01:04:16 874148 45
image.png 378Кб, 720x600
720x600
>>874142
>геометри ноды для годота
Они уже есть в блендере
Аноним 05/04/23 Срд 01:13:25 874149 46
>>874148
Да ты прям как математик посчитавший овец в анекдоте.
Я в блендере и сам сейчас с ними работаю, только результат то экспортируется одним куском.
А тут можно:
- если будет рантайм поддержка, процедурно генерировать на лету.
- можно прикрутить оптимизацию мультимешем. Например если у тебя домики расставляются, или подоконники на них, ит.д.
Аноним 05/04/23 Срд 12:56:13 874199 47
Аноним 05/04/23 Срд 22:20:14 874397 48
>>874158
Мне нужна, я сам собирался делать, а сейчас увидел что он делает и ему помогают. То есть уже минимум 3 людям нужна. Чини свою логику, в общем.
Аноним 07/04/23 Птн 02:10:19 874600 49
Аноним 07/04/23 Птн 03:04:28 874602 50
2022-09-09a.gif 2832Кб, 1188x795
1188x795
Аноним 07/04/23 Птн 13:21:21 874643 51
1680862877048.png 1609Кб, 1920x1039
1920x1039
>>874600
Хорошо, конечно. А там будут:
1. Геологическое моделирование
1.1. Ветряная эррозия
1.2. Жидкостные эррозии
1.2.1. Водные
1.2.2. Лавовые
1.3. Слои породы
1.4. Заполнение чанка водой с формированием озёр и рек, стекающих к уровню океана.
1.4.1. "Пляжная" эррозия - формирование пляжей на основе карты воды, созданной в 1.4.
2. Булевы операции.
3. Эквалайзеры.
4. Корорайзеры.
5. Формирование карт-масок с выходными данными на каждом этапе.
5.1. Сплатмапы заполнения поверхностей.
Если будет всё это бесплатно-опенсорсно, это будет просто охуенчик. И тогда останется один вопрос:
6. А там будет процедурная состыковка сгенерированного террейна между чанками (тайлами)? Бесплатно?
Аноним 07/04/23 Птн 13:24:08 874644 52
>>874643
Не знаю пока, возможно и будет. Но вообще на многое из этого я видел алгоритмы и код, так что даже если есть только хейтмап, это все реализуемо.
Аноним 07/04/23 Птн 13:59:12 874650 53
>>874644
> это все реализуемо
Бесспорно. Вопрос в сроках.
Аноним 07/04/23 Птн 14:06:55 874651 54
>>873235 (OP)
Хочу вкатить после юньки, на сколько разница большая в интерфейсах и скриптах?
На 2д платформер по времени +- сколько уйдёт чтоб разобраться в архитектуре и тому как что лучше делать?
Доки, примеры, так же всё в гугле пишется и без гемора находится?
Аноним 07/04/23 Птн 14:32:10 874657 55
>>874651
> на сколько разница большая в интерфейсах и скриптах?
В зависимости от твоего расположения на кривой гауссового распределения функции Даннинга-Крюгера, разница может быть как кардинальной так и незначительной.
Если попроще, то в обоих движках есть майнлуп с коллбэками, векторы есть, линейная алгебра реализована, в этом совпадает. Но по организации объектной системы, в юнити используется композитный подход (есть только один объект и куча компонентов к нему), а в годо используется наследуемый подход (есть много объектов, наследующихся от главного объекта, выполняющих свои задачи). Однако композитный подход не запрещен.
> На 2д платформер по времени +- сколько уйдёт чтоб разобраться в архитектуре и тому как что лучше делать?
Рабочий день.
> Доки, примеры, так же всё в гугле пишется и без гемора находится?
Всё есть. Всё как в шапке написано.
Аноним 07/04/23 Птн 18:36:25 874708 56
>>874650
год-полтора, если сравнивать сколько шла разработка аналогичных в 3-ке.
Аноним 07/04/23 Птн 23:20:29 874770 57
>>874600
ебать видос пропердывается. вроде у автора 60 фпс, а запись лагает пизда, че за хуйня, че за инвалид там это реализовывает, походу после него еще тонную фиксанов нужно будет делать
Аноним 07/04/23 Птн 23:53:40 874772 58
>>874770
Очевидно, Годо человек осилил, а вот видео-кодировщик не осилил.
Аноним 08/04/23 Суб 00:00:23 874773 59
>>873235 (OP)
>Прекомпилер шейдеров: https://godotengine.org/asset-library/asset/977 С версии 3.5 больше не нужен.
А вот и не угадали. Я сейчас пилю экспорт в веб (то что в 4-ке называется Compability render), а там же старый добрый OpenGL, и что ты думаешь, пришлось стряхивать пыль с аддона. Благо что годот сам сконвертировал .tscn и .gd и все само заработало (я для этого создаю новый проект в 3-ке, кидаю в него то что хочу сконвертировать и открываю 4-кой)
Аноним 08/04/23 Суб 00:01:49 874774 60
Аноним 08/04/23 Суб 00:21:47 874777 61
Аноним 08/04/23 Суб 00:24:53 874778 62
Алсо не уверен что именно его аддон будет опенсорсным - для 3 он распространяет кастомный билд годота, но сорцы модуля и шаблон экспорта - платные. Посмотрим, как поступит с этим.
Аноним 08/04/23 Суб 09:03:48 874792 63
>>874773
> создаю новый проект в 3-ке, кидаю в него то что хочу сконвертировать и открываю 4-кой
А вот это достойно пойти в шапку! Схоронил!
Аноним 08/04/23 Суб 15:24:23 874869 64
>>874792
На самом деле можно это делать из командной строки но как то лень обычно
https://docs.godotengine.org/en/stable/tutorials/migrating/upgrading_to_godot_4.html#using-the-command-line
Алсо это не серебряная пуля, оно не все конвертирует, чем меньше и проще проект, тем выше шансы. По ссылке так же написано как фиксить некоторые вещи которые сами не сконвертились.
Аноним 08/04/23 Суб 15:27:40 874870 65
Подскажите есть ли на годоте какие нибудь ai помощники?
Аноним 08/04/23 Суб 15:33:09 874872 66
>>873235 (OP)
Не подскажите, как можно подключить шейдер через код, а не через редактор?
Аноним 08/04/23 Суб 16:11:35 874885 67
>>874872
у объекта есть материал, material_override, set_surface_material или что нить подобное, ему присваиваешь загруженный шейдер.
Примерно так
var shader_material = ShaderMaterial.new()
shader_material.shader = load("...shader")
mesh_instance.material_override = shader_material
либо
var surface_index := 0
mesh_instance.mesh.surface_set_material(surface_index, shader_material)
Аноним 08/04/23 Суб 16:13:43 874887 68
>>874885
Большое спасибо!
Аноним 08/04/23 Суб 16:16:48 874888 69
>>874870
Есть, не пробовал, есть некоторые сомнения насчет них. Видел что есть подключение к openAI, но там платные запросы к API, и во вторых, chatgpt 3 учился на старых материалах, он вряд ли напишет под годот 4, а что умеет гуглить chatgpt 4 я хз.
Вашему вниманию предлагается Аноним # OP 08/04/23 Суб 18:32:35 874896 70
Годаны!
В шапке стало слишком много ссылок. Что делать будем? Я тут погуглил, есть сервисы хранения ссылок. С одним из таких сервисов шапка будет выглядеть как-то так:

Добро пожаловать в тред любви, взаимопомощи и ...!

Шапка: https://hipolink.me/godothread

Предыдущий:

Архивный:

Норм? Ништяк? Да? Не?
Аноним 08/04/23 Суб 18:44:27 874897 71
Аноним 10/04/23 Пнд 01:59:08 875088 72
>>873235 (OP)
Можно как-нибудь отключить управление мышью в itemlist?
Аноним 10/04/23 Пнд 08:12:44 875094 73
Аноним 10/04/23 Пнд 14:35:05 875133 74
Аноним 10/04/23 Пнд 17:23:30 875148 75
анонасы, а я смогу на данном движке сделать большой не рандомизированный 2D мир (вид сверху) без пролагов?
может кто видел уже готовый ассет? пока думаю делать разделение мира на квадраты, где ближайшие к игроку будут подгружаться
Аноним 10/04/23 Пнд 18:03:09 875150 76
>>875148
>анонасы, а я смогу на данном движке сделать большой не рандомизированный 2D мир
Ты не сможешь
Аноним 10/04/23 Пнд 19:17:37 875156 77
>>875148
Ты на реализацию чарков потратишь много времени, готовых решений нет, есть отдельные куски демок и видео от васянов зарубежных, где это реализовано. Если готов потратить месяцок на чанки, то милости прошу, пробуй.
Аноним 10/04/23 Пнд 19:18:32 875157 78
>>875156
>чарков
чанков*
быстрофикс
Аноним 10/04/23 Пнд 19:29:34 875158 79
>>875156
>Ты на реализацию чарков потратишь много времени
В 2д? Минут 15 на прикручивание массива к zone loader?
Аноним 10/04/23 Пнд 19:37:43 875160 80
>>875158
Пока ходил наливать чай, уже придумал решение на 10 минут для новичка. Называем сцены Chunk1c1, по периметру расставляем Area которые загружают сцены ChunkXcY, где X к примеру текущий + 2. Текущий получать в скрипте распарсив имя сцены.
Можно сделать 1 сцену-префаб и рисовать потом все на основе этой.
Аноним 10/04/23 Пнд 20:09:02 875162 81
>>874896
Ля какая красота!
Не сижу на годоте, просто захаживаю почитать тред, а тут такое!
Расскажи сложно и бесплатно замутить такую страничку? С радостью бы сделал такие шапки для пары тредов. И почему раньше до этого никто не додумался?
Аноним 10/04/23 Пнд 20:15:51 875163 82
>>875162
>Не сижу на годоте
Никогда не поздно вкатиться.
Аноним 10/04/23 Пнд 20:23:21 875165 83
52136527.png 203Кб, 920x1372
920x1372
>>875162
>Не сижу на годоте
Дык присаживайся
Аноним 10/04/23 Пнд 20:34:18 875170 84
>>875162
> Расскажи сложно и бесплатно замутить такую страничку?
Просто перейди там по основному адресу. Всё бесплатно, без смс, но с регистрацией, без этого никуда. Иначе как ты будешь изменения изменять на своей странице.
Аноним 10/04/23 Пнд 22:00:43 875178 85
image.png 1233Кб, 1500x993
1500x993
Нормально ли синхронизировать проекты между компьютерами с помощью обычного бэкапа на внешний жесткий диск? Просто у меня после такой "синхронизации" почему-то годот не увидел добавленные папки и сцены, пришлось заново импортировать проект. Но воспроизвести этот "баг" мне не удалось, во второй раз годот все увидел.
Аноним 10/04/23 Пнд 22:27:12 875181 86
>>875178
Просто будь внимательнее.
> Нормально ли
Вполне. Главное - удобство.
Аноним 10/04/23 Пнд 23:20:53 875190 87
>>875178
а не проще все в облаке держать?
гугл дает 15 гб
яндекс 10 гб
+ для мелочевки дропбокс юзаю, там 2 гб всего
На все хватает пока что
Аноним 10/04/23 Пнд 23:33:34 875192 88
>>875190
А вдруг у него гтаскайрим на 300 гигов одних только рабочих файлов? А? А???
Аноним 11/04/23 Втр 00:17:09 875197 89
>>875192
с такими играми он спокойно купит подписку на облако
Аноним 11/04/23 Втр 08:12:38 875208 90
>>875190
Да я раньше, когда на юнити сидел, на Гугл проекты бэкапил. Потом гугл изменил программу синхронизации, что то там перенастраивать надо было. И я подумал, надо на своих дисках все держать, потому что сторонний сервис может внезапно прикрыть лавочку. Наверно вернусь к гугл диску.
Но меня все равно буспокоит, что это за баг у меня вылез. И не могу ли я похерить проект, тупо копируя все новые файлы с одного компа на другой? Может там какие-то служебные файлы копировать не надо.
Аноним 11/04/23 Втр 09:30:45 875218 91
>>875208
Надо смотреть в сторону Syncthing + rclone или подобных вариантов. Т.е. опен сорсная прога делает бэкапы в любые доступные облака, причем с возможностью шифрования, чтобы твои ценные ассеты не утащили.
Аноним 12/04/23 Срд 14:42:05 875378 92
Аноним 12/04/23 Срд 15:35:38 875384 93
>>875378
у него все видосы интересные.
Аноним 12/04/23 Срд 20:01:24 875425 94
>>875384
Видно, что чувак шарит.
Аноним 13/04/23 Чтв 21:43:27 875550 95
image.png 625Кб, 1206x769
1206x769
image.png 1335Кб, 2531x941
2531x941
Подскажите с вьюпорт текстурами - Делаю по гайду (https://www.youtube.com/watch?v=Xq0wgrCmnyw) с поправками на гд4.
Импортнул из блендера модель, хочу к материалу прицепить текстуру. Добавил SubViewport, в него канвас лейер с лейблом и цветным прямоугольником. Цепляю этот вьюпорт к вьюпорттекстуре нужного материала - он встает непонятно как и криво, а у челика из видео сразу как надо и заебись.
Что я не так делаб?
Аноним 13/04/23 Чтв 22:01:25 875554 96
>>875550
А UV развертка у твоего квада на модельке какая?
Аноним 13/04/23 Чтв 22:30:30 875560 97
image.png 167Кб, 582x496
582x496
>>875554
Просто квадратик в развертке был.
Кароч еще раз анврап сделал в блендере и заработало всё ок. Хз что это было
Аноним 14/04/23 Птн 17:16:19 875628 98
1659822072370.png 277Кб, 957x678
957x678
>>875378
Требует напильника, т.к. ноги могут не заметить пол, и паук продолжает ползать по сфере, и наоборот, может пройти по полу сквозь сферу. Пока не знаю как исправить
Аноним 14/04/23 Птн 19:59:14 875646 99
image.png 114Кб, 941x858
941x858
Возможно ли отрисовать на плоскости такую же сетку, как рисует годот в редакторе. Простейший вариант с шейдером дает некрасивые результаты, линия становится прерывистой.
Аноним 14/04/23 Птн 20:22:42 875647 100
Аноним 14/04/23 Птн 20:33:17 875648 101
>>875647
Да, там на плоскости рисуется перспектива. Но попробую посмотреть разобраться, может что-то там есть полезные техники.
Аноним 14/04/23 Птн 20:57:40 875652 102
image 14Кб, 520x592
520x592
>>875646
Можешь попробовать рисовать при помощи MultiMeshInstance, я такую делаю при помощи него

Суть - создаёшь прямоугольник или даже параллелепипед, находишь его центр, находишь центр меду двумя крайними точками поверхности, затем туда перемещаешь его при помощи
multimesh.set_instance_transform_2d( _index, _transfo )
Затем растягиваешь на расстояние, равное половине расстояния между точками
Потом закрашиваешь
Непонятно как поддерживает сглаживание, у меня не получилось его врубить

Второй вариант есть Line2d, просто создаешь отдельные линии между двух точек и всё, поддерживает сглаживание
Аноним 14/04/23 Птн 20:59:07 875653 103
>>875648
Так а просто текстура сетки не подходит? Тебе надо что то хитрое?
Аноним 14/04/23 Птн 21:25:18 875659 104
image.png 602Кб, 869x583
869x583
>>875652
>>875653
Я писал шейдер, который на любой поверхности рисует сетку. Поэтому текстура не подойдет, отрисовка меша и линий тоже.
Аноним 14/04/23 Птн 21:39:33 875661 105
image.png 60Кб, 686x385
686x385
Какой правильный подход к показу меню (с выезжанием) по нажатию на кнопку?

По нажатию на кнопку у меня меняется флаг.
А анимация происходит за счет постоянной проверки в _process(delta) значения и изменение флага.
Это же тупо. Есть другой подход?
Аноним 14/04/23 Птн 21:46:57 875662 106
>>875661
>за счет постоянной проверки
В любом языке программирования и движке всегда плохо то что засунуто в ежекадровую обработку.
Идеал это вызываемая функция с событием. Всегда и везде надо стараться уменьшить количество кода который обрабатывается каждый кадр.
Аноним 14/04/23 Птн 22:50:36 875667 107
>>875661
Да много вариантов
Например нарисовать нужное движение в AnimationPlayer
Или добавлять ноду с таким кодом только когда надо двигать.
Или, например, можно отключать process через set-process(false) и включать только когда надо
Но в конце концов если сделал как у тебя то ничего страшного - компьютер наверняка вывезет десятки тысяч таких кнопок.
Если желаешь советов по мелочи
Можно написать settings-show = not settings-show в одну строчку
Не стоит делать $"..", ведь можно один раз в ready() запомнить переменную par = get-parent()
Вообще вроде как считается не очень управлять родителем
Забавный факт - если ты переставишь родителя и ребенка, то все вообще обойдется просто position, т.к. ребенок и будет относительно родителя.
Аноним 15/04/23 Суб 00:03:00 875679 108
Анимация.gif 369Кб, 372x699
372x699
>>875667
>set-process(false)
Воспользовался этим.
>Можно написать settings-show = not settings-show в одну строчку
Впихнул туда set_process(enable)
Аноним 15/04/23 Суб 00:35:02 875681 109
Кто-нибудь пилил/т уже на 4 мобилки или браузерки? Поделитесь опытом/мыслями.
Аноним 15/04/23 Суб 01:19:25 875685 110
Годаны, а вам не попадалось синтезатора под Годот? Ну, то есть, в теории можно написать самому при помощи AudioStreamGenerator, но лично я такое по скиллам не осилю. Да, есть gdsfxr, но им генерировать музыку проблематично. А вот хотя бы простенькую пищалку, чтобы умела играть треугольник и квадрат, в идеале бы ещё с огибающими, было бы прекрасно. Но чёт не нашёл ничего.
Аноним 15/04/23 Суб 09:57:46 875698 111
1626330617803.png 138Кб, 1204x711
1204x711
Аноним 15/04/23 Суб 12:15:44 875705 112
>>875698
>автор честно признался что там гумнокод
Ну да так-то. Код-то, в общем-то, норм, но весь на гдскрипте. А на гдскрипте я и сам могу. Так-то вопрос возник, потому что в доках пишут:
>AudioStreamGenerator
>Note: Due to performance constraints, this class is best used from C# or from a compiled language via GDNative. If you still want to use this class from GDScript, consider using a lower mix_rate such as 11,025 Hz or 22,050 Hz.
Аноним 15/04/23 Суб 12:54:09 875710 113
>>875705
Из поста было непонятно что ты на гдскрипте и сам можешь и тебе нужно на чем то другом. Ну тут думаю тоже не проблема - принцип остается тем же, гдскрипт играет из буффера, а твой код формирует буффер - но тут можно поискать и на c# либы, и на с++, думаю там опций десяток будет - тебе же нужно просто заполнить массив, передав параметры ноты, это движконезависимая часть.
Аноним 15/04/23 Суб 19:18:37 875772 114
Что мы делаем с хайтмапами? Правильно, мы пишем шейдер с дисплейсом, который из хайтмапа создаёт террейн. Террейн без пещер.

Но что если вместо того чтобы писать шейдер, мы с вами возьмем Gridmap и пользуясь данными heightmap заполним его кубами? А что если мы заполним его не кубами, а заранее заготовленными модельками булыжников? Кто-нибудь так делал?
Аноним 15/04/23 Суб 20:06:37 875782 115
>>875772
Фишка готовых аддонов с террейном - готовые лоды, возможно клипмапы, а мультимеш и гридмап вроде бы не умеют в лоды и в окклюжен и там надо самому делать? Я правда давно с этим разбирался, пару лет назад. Кажется тогда надо было несколько мультимешей на разные лоды, и при этом обновлять данные когда персонаж подходит ближе.
Аноним 15/04/23 Суб 20:11:39 875784 116
>>875681
Я на 4ке большой 3д проект пилю, но для браузера там тени пока не дописали. Ну и весить то билд побольше стал. Так что я хз даже, вроде как и можно делать навороченные 2д игры и даже простые 3д гиперкажуалки, но их с таким же успехом можно и на 3.6 делать.
Аноним 15/04/23 Суб 20:32:26 875787 117
1679878932361.png 112Кб, 780x210
780x210
Кстати насчет автолодов 4-ки. Сегодня импортировал модельки и получил вот таких бетменов, если есть одежда то еще хуже. В общем решается так - клик на .glb и реимпорт с убранной галкой на Generate LODs. Подозреваю что генератор не умеет работать с костями, а возможно и блендшейпами, так что с персонажами пока только в фулл разрешении. Для домиков типа кубик вроде проблем не наблюдал
Аноним 15/04/23 Суб 20:35:59 875792 118
>>875782
> мультимеш и гридмап вроде бы не умеют в лоды и в окклюжен и там надо самому делать?
Вроде бы как раз умеют. Искаропки.
Аноним 15/04/23 Суб 20:37:19 875794 119
>>875784
> гиперкажуалки
Осуждаю.
Аноним 15/04/23 Суб 20:37:57 875796 120
>>875787
Автогенерация ЛОДов это всегда боль, везде.
Аноним 15/04/23 Суб 20:42:46 875798 121
>>875787
Я не опытен в этом, но у 3дмакса есть модификатор Multires, интересно как ты делаешь это, кроме автоматического варианта через годо
Аноним 15/04/23 Суб 20:48:53 875799 122
>>875798
Сейчас никак не делаю, просто закинул модель и чуть необосрался. Раньше делал в 3 годоте как учили - несколько мешей вручную и переключал их скриптом по on area entered. Возможно тут так же придется, только переключать в 4ке лоды можно не вручную, а просто сделав одному объекту visibility range min-max до 5 метров, другому объекту от 4 метров до 10 и так далее.
Аноним 15/04/23 Суб 20:52:27 875800 123
>>875799
> лоды можно не вручную, а просто сделав одному объекту visibility range min-max до 5 метров, другому объекту от 4 метров до 10 и так далее

О, годно

Я вот хотел бы сделать игру типа Lands Of Lore 2 с воксельными объектами вокруг при помощи grid mesh или как там его, вообще авторы годо очень хорошо придумали tilemap и gridmesh, ну и я был очень доволен MultiMeshInstance, по сравнению с подобным в OPenGL просто супер легко
Аноним 15/04/23 Суб 20:55:05 875801 124
>>875794
Ну а что не кажуальное ты можешь придумать в 3д но без теней? Я то пилю с рассчетом что все таки хотя бы базовые тени допилят. Сейчас там просто иногда заливает все черными треугольниками.
Аноним 15/04/23 Суб 20:57:17 875802 125
>>875800
Гридмеш поначалу вызывает радостные эмоции, но потом понимаешь что если ты хочешь сделать улицу под 30 градусов то легко не будет. Можно конечно попробовать гридмап на город или городской район и ставить под нужным углом. Еще я как то скидывал набор городских тайлов где уже заложены некие кривые улочки
Аноним 15/04/23 Суб 20:59:10 875803 126
>>875792
Сделаешь тестовый проект? Я тоже могу, но сейчас пишу с картофелины, поэтому это может занять день.
Аноним 15/04/23 Суб 20:59:31 875804 127
>>875802
В LOL 2 карта как в первом вульфене прямоугольная
Аноним 15/04/23 Суб 21:04:07 875805 128
>>875800
>воксельные объекты
Потести, не уверен что потянет если ты хочешь использовать их как мелкие воксели.
Аноним 15/04/23 Суб 21:26:52 875806 129
>>873235 (OP)
Всем ку годотеры, подскажите, хочу сделать на годоте подобие игр на ренпи и куспе раньше которые были, но немного по приятнее визуально и не с такой лапшой кодом как там.
Сам геймплей игры прост до безобразия, есть пара фонов, десяток спрайтов персонажей, диалог как в новеллах с кнопками ответов, и разные интерфейсы окон, ничего в реалтайме не будет делаться, только ожидая нажатия от игрока.
Надеюсь понятно объяснил, такое сложно будет сделать и возможно?
Аноним 15/04/23 Суб 21:30:19 875807 130
>>875806
Есть новелмейкер или типа того, это отдельная прога
А если годо, то ищи плагины чтобы не тратить время на создание всего этого и сразу делать твою задумку
Аноним 15/04/23 Суб 21:55:26 875810 131
>>875807
У меня своя задумка, и стандартные новелкомейкеры не подойдут точно.
И плагины зачем? Всё сам хочу написать чтобы понимать как, что, куда идёт, она то на вид примитивная будет, но там много окон и взаимодействий, плагинами такое не реализовать.
Аноним 15/04/23 Суб 21:59:15 875812 132
>>873235 (OP)
Годаны, кто реализовывал свечение отдельных объектов в проектах? Про glow в world environment в курсе, но что-то получается сомнительно. Вот есть отдельная сцена с врагом (ареа, спрайт и колижн шейп), добавляю так свечение, в итоге вся основная сцена игры, когда появляется враг, начинает светиться, как новогодняя ёлка, и фон, и гг, и предметы.
Аноним 15/04/23 Суб 22:02:52 875813 133
>>875812
2д? Так там вроде источники света есть. шейдеры опять же.
С другой стороны ты пишешь про ворлдэнвайр, он вроде только для 3д же. В 3д сложнее , в каком то прошлом треде обсуждали. Легко только со сферой.
Аноним 15/04/23 Суб 22:03:24 875814 134
>>875810
Да самому легко все, просто больше времени займет.
Аноним 15/04/23 Суб 23:14:17 875818 135
Аноним 15/04/23 Суб 23:29:09 875819 136
1603790491964.png 23Кб, 270x120
270x120
>>875818
А рут моушн уже посмотрел? Стоит делать?
Аноним 15/04/23 Суб 23:32:08 875820 137
>>875819
Смотря, какой гейплей у тебя задуман. Рутмовшон подходит для игор с минимумом вертикальности. Если у тебя много паркура, лазанья по стенам то рутмовшон не справится.
Аноним 15/04/23 Суб 23:47:24 875822 138
>>875820
Все я вспомнил что это, это Animation-driven движения, да у меня планируется больше поркура, надо подумоть.
Аноним 16/04/23 Вск 10:52:19 875842 139
Короче решил я значит значит сделать очень простой платформер (не спрашивайте зачем)
И взял этот ваш годот...В целом всё понятно, однако я неудачник и пришел к моменту выхода новой версии поэтому в интернете нихуя нет.

Собтвенно вопрос: Есть characterbody2d , беру и делаю scale.x = -1 и весь персонаж разворачивается. У меня всё работает. Однако в интернете есть полно обсуждений, что вешать негтитвное значение в scale для физических нод нельзя. Иначе всё идёт в жопу.
Но всё это датированно 2018-2022 годом.
Собственно сейчас в новом godot4 это пофикшенно, и физ ножам можно задавать отрицательный масштаб или я просто что то не так делаю?
Аноним 16/04/23 Вск 11:34:15 875847 140
>>875842
Если у тебя персонаж - симметричная капсула или квадрат, тебе вообще не надо ее флипать. Тебе надо флипать только визуальный спрайт.
Аноним 16/04/23 Вск 11:34:21 875848 141
1681634060514.png 79Кб, 668x533
668x533
1681634060533.png 71Кб, 1144x642
1144x642
1681634060534.png 10Кб, 319x166
319x166
>>875818
> Сделаю позже.
Идея прикольная, но почему-то 10 ФПС на объёме до 50,50,50 блоков. Если задавать объёмы больше - фепесы падают в нулину, блять. Без коллизий, без навмешей. Гридмап, блять. Оптимизированный октантами. Блять.
Аноним 16/04/23 Вск 11:44:39 875851 142
>>875848
А можешь еще потестить лоды и оклюжн куллинг на гридмапе? У меня лапки, на нетбуке не работает вулкан, а в опенжоле не показывает.
Тут написано как потыкать в редакторе, но не факт что там точно измеряет
https://docs.godotengine.org/en/stable/tutorials/3d/mesh_lod.html#comparing-mesh-lod-visuals-and-performance
https://docs.godotengine.org/en/stable/tutorials/3d/occlusion_culling.html#previewing-occlusion-culling

Или попробовать по честному вкл-выкл окклюжн где-то в настройках проекта Rendering > Occlusion Culling > Use Occlusion Culling , а лоды галочкой в импорте модельки, как я кидал выше скрин.
Аноним 16/04/23 Вск 11:46:33 875853 143
>>875848
И еще вопрос как вообще настроить лоды для элементов гридмапа. В свойствах самого гридмапа? В мешлибе?
Аноним 16/04/23 Вск 11:49:58 875854 144
>>875848
Еще такая мысль - не знаю как у них сделана сортировка по объектам/материалам. Можешь попробовать еще сделать несколько гридмапов, но каждый в мешлибе содержит только один вид камня. Чтобы отрисовка точно шла одним батчем. Или вообще сравнить с мультимешем.
Аноним 16/04/23 Вск 13:00:01 875870 145
>>875848
> но почему-то 10 ФПС

50 в кубе это 125 000, не факт что там используется instance render, хотя хрен его знает

Касаемо лод, тот тут менять в зависимости от расстояния
Аноним 16/04/23 Вск 15:01:24 875887 146
>>875812
Очевидно же в свойствах материала есть emission, его и крути, с glow и вовсе становится балдеж
Аноним 16/04/23 Вск 15:22:55 875892 147
1583443074179.png 207Кб, 1170x894
1170x894
1534304794476.png 152Кб, 1123x431
1123x431
1662871658165.png 88Кб, 527x497
527x497
>>875887
Emission сам по себе не производит свет, он просто делает участок текстуры видимым в темноте, даже если объект в тени. А глоу на всю сцену может быть нежелательным.
Нашел свой старый пост на тему с возможной эмуляцией >>850059 → >>850237 →
Аноним 16/04/23 Вск 15:29:31 875894 148
1681648169101.png 83Кб, 729x538
729x538
1681648169106.png 27Кб, 1151x217
1151x217
1681648169118.png 751Кб, 1632x889
1632x889
>>875851
> вкл-выкл окклюжн где-то в настройках проекта Rendering > Occlusion Culling > Use Occlusion Culling
Включил. Немного фепсов прибавилось, но всё равно не продакшен-левел. Не впечатлило. Вот скрины с куллингом и одним кубом, в объёме 100/100/50 соответственно.
Аноним 16/04/23 Вск 15:54:25 875896 149
>>875892
Если ты хочешь рядом все освещать, то явно с помощью узлов динамического света. емиссион жеж и при запечке учитывается, так что хуй знает че тебе еще надо. Да, можешь заюзать шейдер с прозрачным градиентом. На твоих пиках так же юзается емиссион, ток еще юзается дублированная геометрия, вдоль нормалей сдвиг и полупрозрачность
Аноним 16/04/23 Вск 16:02:50 875899 150
>>875896
хз с чего ты решил что там эмиссия, в шейдере ее нет, а зеленый засвет на белой стене это действительно источник света. А дублированная геометрия слишком заметна в местах где она накладывается. По хорошему там надо что то с вьюпортами мутить, эмулировать стенсил буфер, но это долго и лень.
Аноним 16/04/23 Вск 16:05:38 875900 151
А, еще вспомнил в 4-ке добавили объемный туман, может быть с его помощью можно имитировать свечение. Только придумать как в шейдер передавать форму объекта (если это анимированный человек например)
Аноним 16/04/23 Вск 16:07:04 875902 152
image.png 15Кб, 270x120
270x120
>>875899
в 4 есть буфер глубины
в 3 есть костыли, с вьюпортом и камерой
Не до конца просто понимаю че ты хочешь сделать.
Когда у тебя будет сцена построена со светом, без емиссона у тя будет все блекло, пока это незаметно пока ты там чета ковыряешь вне законченной композиции с выставленным светом
Аноним 16/04/23 Вск 16:09:54 875903 153
1681650591600.png 184Кб, 1336x1034
1336x1034
1681650591615.png 159Кб, 1329x1029
1329x1029
1681650591623.png 309Кб, 1336x1035
1336x1035
>>875894
Скайкрафт мечты! Мой майнрим!
Аноним 16/04/23 Вск 16:10:21 875905 154
image.png 17Кб, 270x120
270x120
>>875899
>>875900
алсо дай реф картинку\видос того чо ты хочешь сделать
Аноним 16/04/23 Вск 16:13:30 875906 155
image.png 15Кб, 270x120
270x120
>>875903
Кстати анон, а не дохуя ли ты генеришь? Не производительней будет дохуя более мелких гридмапов 10х10х10, а не один 50х50х50?
Аноним 16/04/23 Вск 16:16:42 875907 156
>>875906
Дело в том, что я не силён в математике. Если ты мне покажешь как сделать так, чтобы несколько гридов бесшовно принимали значения из одного шума, тогда сделою.
Сейчас у меня была главная идея в том, чтобы был один грид, один шум, одна карта. А грид чтобы сам куллился автоматически. Он же там как-то хитро на октанты разбит, которые якобы куллятся и лодятся автоматически?
Аноним 16/04/23 Вск 16:20:49 875909 157
>>875905
Ты отвечаешь анону, который отвечал другому анону.
Что хочет тот анон не знаю, а мои эксперименты начались с того, как сделать световой меч АКА лайтсейбр, в виде цилиндра, и чтобы на сцене можно было иметь два с разным радиусом свечения (что через глоу ворлдэнвайр вроде невозможно)
Аноним 16/04/23 Вск 16:22:09 875910 158
image.png 16Кб, 270x120
270x120
>>875907
>Если ты мне покажешь как сделать так, чтобы несколько гридов бесшовно принимали значения из одного шума, тогда сделою.
В смысле, ты этот шум по частям и генерь на каждый гридмап. Все тоже самое как у тебя, только ты берешь шум не с 0 до н-макс размера твоей текстуры шума, а н-заданое.
Например текстурка 256, а ты делишь все на 10, ну дык и дели 256 и получай значение каждого шага.

Так и так тебе нид разбивать все на сегменты, дабы их всегда можно было убрать из памяти\либо не рендерить и не напрягать комп.
Аноним 16/04/23 Вск 16:23:27 875911 159
image.png 17Кб, 270x120
270x120
>>875909
говорю анон, покажи мне картинку того чо ты хочешь, рефы нужны. Описания хуйня, световые мечи как раз через емиссион и глоу делаются
Аноним 16/04/23 Вск 16:24:27 875912 160
>>875907
>якобы куллятся и лодятся автоматически?
Мы так до конца в этом и не убедились. Тесты надо.
>октанты
По идее они и не помогут в случае 100 процентного заполнения объема, а только дадут оверхед. Ведь нарисовать надо все кубы, но при этом на каждый куб будут рассчеты. Октанты помогают в прореженной сетке, например если у тебя сеть дорог или хотя бы просто только поверхность террейна.
> как сделать так, чтобы несколько гридов бесшовно принимали значения из одного шума
Создать нойс в родительской ноде один раз и брать оттуда. А циклы проводить не от -25 до 25, а по частям.
Аноним 16/04/23 Вск 16:24:35 875913 161
>>875910
ЯННП. Какая текстура? Я взаимодействую с шумом через встроенный интерфейс. Код выше посмотри. Я получаю значение шума не на текстуре, а прямо в пространстве, через .get_noise_3d(i,j,k)
Аноним 16/04/23 Вск 16:25:47 875915 162
>>875912
> Тесты надо.
А вот собсна тест выше и был. Никакой оптимизации. ФПС на 10. Придётся всё таки юзать аддоны. А хотелось самостоятельно.
Аноним 16/04/23 Вск 16:28:56 875916 163
>>875913
В общем-то я уже сам нашёл ответ, как объединить несколько "чанков" гридмапов под одним шумом. Надо добавлять координаты самого гридмапа к координатам в сетках. .get_noise_3d(pos.x + i,pos.y + j, pos.z + k)
Аноним 16/04/23 Вск 16:29:12 875917 164
>>875915
Надо еще попробовать тупо мультмешинстанс, с расстановкой кубиков самому.
Аноним 16/04/23 Вск 16:30:00 875918 165
>>875917
Сложна, сложна, нипанятна! Ниасиливаю. Раз 10 пытался разобраться. Безрезультатно.
Аноним 16/04/23 Вск 16:30:13 875919 166
image.png 17Кб, 270x120
270x120
>>875913
и че? чем отличается от текстурки 2д ток в 3д? те же координаты, и их значения. бери и отрисовывай от 1,1,1 до 10,10,10 и т.д со смещением, то бишь координаты меняются со смешением и так раз за разом генерится
Аноним 16/04/23 Вск 16:33:16 875920 167
image.png 17Кб, 270x120
270x120
>>875917
я юзал мультимеши для мульонов пуль + синхронизация с физик сервером, пара косарей пуль на изи генерится, постоянно можно пересчитывать, то бишь супер быстро работает на перечитывание. Базарю, анону рили стоит пробнуть мультимеши, а физику юзать напрямую через физик сервер
Аноним 16/04/23 Вск 16:33:19 875921 168
>>875919
И кстати, я хочу отдельно заметить, что циклы в ready которые на скринах, выполняются очень быстро. Тормозит не вышеприведенный код, тормозит именно отрисовка готового статичного гридмапа.
Аноним 16/04/23 Вск 16:34:24 875922 169
>>875920
Да, пожалуй надо всё таки освоить мультимеши.
Аноним 16/04/23 Вск 16:34:51 875923 170
>>875915
Кстати а тени там включены?
Аноним 16/04/23 Вск 16:35:04 875924 171
>>875920
Просто обидно, этот гридмап выглядит таким удобным, а по факту неюзабелен.
Аноним 16/04/23 Вск 16:35:25 875925 172
>>875923
Кстати да. Но как же без теней-то?
Аноним 16/04/23 Вск 16:35:30 875926 173
image.png 17Кб, 270x120
270x120
>>875921
юзай мультимеши брат
>>875920
гридмапа какая-то хуета помоему не? у тебя дравкалов пиздец много. при мультимешах у тебя такой хуйни не будет. они еще и быстро перерисовываются.
если надо. могу найти код старый, мейби чета спиздишь оттуда для себя
Аноним 16/04/23 Вск 16:35:48 875927 174
>>875918
Не сложнее чем твой код, сейчас показать не могу, но к вечеру может быть.
Аноним 16/04/23 Вск 16:37:43 875928 175
>>875924
Было предложение его выпилить из 4-ки, но народ начал возмущаться. А по факту так и есть, он только совсем новичкам подходит которые собирают свою первую гташку по кварталам. Ну еще его можно юзать как массив для всякого астар, но можно и без этого обойтись.
Аноним 16/04/23 Вск 16:41:16 875930 176
>>875925
Без теней +10 ФПС, но повторюсь, как же без теней-то в 2к23.
>>875926
> юзай мультимеши брат
Придётся разбираться.
>>875927
Окей. Ну я пока сам начну. Если что, потом сравним.
>>875928
Похоже на то.
Аноним 16/04/23 Вск 16:52:17 875932 177
image.png 216Кб, 1366x768
1366x768
image.png 17Кб, 270x120
270x120
>>875922
>>875924
>>875918
https://pastebin.com/VgLu5GJH
создание в мультимеше, с физикой на физик сервере

Держите аноны, можете попичкать код, генерить любую н-хуйню, при желании в апи можете посмотреть другие виды капсул для колизии
Вызов функция вот, 1 значение вроде бы пакет сцены, на скрине показано что из себя представляет, оттуда берутся мешь все настройки для физик сервера
2 это координаты где будет спавнится
3 это исключения колизии, вроде нид указывать просто ссылку на просто объект аля rigidbody kinematic body и все, они будут исключатся и не будут сталкиват
4 это эффекты всякие при спавне, но я их не реализовал тогда
func projectile(packed_scene : PackedScene, spawn_transform : Transform, collision_exceptions := [], _effects := [])

сорян, мейби говнокод, но я это делал года 3 назад, я не шибко какой-то йобо кодер

аноны, пощупайте, если хотите
Аноним 16/04/23 Вск 16:56:30 875934 178
image.png 14Кб, 270x120
270x120
>>875932
Алсо дополню. Я это юзал именно для спавна гильз дабы на сцене было их тысячи с коллизией и т.д, без пропуков. Вы же можете это оптимизировать для себя подругому, без нужды допустим чтобы они выплевывались с н-скоростью, а были сразу статик, короче там массу настроек можно сделать
Аноним 16/04/23 Вск 17:51:42 875941 179
1548834720358.png 349Кб, 1366x736
1366x736
1625297275554.png 353Кб, 1366x736
1366x736
1597127964238.png 316Кб, 1366x736
1366x736
1610061678201.png 7Кб, 223x236
223x236
>>875911
На примере 3-ки.
Если менять Power в emission, меняется цвет свечения, но радиус остается тем же.
Если менять Intensity или Strength в Glow WorldEnvironment, то меняется интенсивность всего свечения - обоих мечей, фары мотоцикла, солнца, неба, аллаха.
Изобразил в 2д как я себе представляю желаемое. Также желательно например чтобы можно было анимировать радиус только одного из них.
Вулкан потестить сейчас возможности не имею, а в опенгл 4-ки Glow пока не сделан.
Аноним 16/04/23 Вск 17:53:08 875943 180
>>875941
Добавлю, что в случае лайтсейбров, ламп дневного света, можно попробовать придумать что то вроде 3д спрайта в котором рисуется 2д текстура, все же овал не очень сложная форма, но с персонажами такое уже не прокатит.
Аноним 16/04/23 Вск 18:01:17 875945 181
image.png 19Кб, 270x120
270x120
>>875941
А видимо все. больше вариантов не будет из стандартных. то бишь тебе придется развлекаться только со стандартным глоу, можно конечно в случае с персонажем в шейдере дублировать сетку и выдавить её по нормалям, накинуть емиссиона на это эффект, плюс с глоу поиграться дабы меньше переходов было видно. Я вот не помню, погляди в настройках, мейби там есть возможность увеличить качество глоу, а то оно у тебя рили рубленное.

Свечение лучше чем в этих видосах ты не сделаешь
https://www.youtube.com/watch?v=P-6NmnwbavY&ab_channel=GameDevChris
https://www.youtube.com/watch?v=-7jo5uUxwXE&t=5s&ab_channel=3rdMonkey
Аноним 16/04/23 Вск 21:28:18 875973 182
1681669698615.jpg 50Кб, 700x456
700x456
>>875932
Анончик, ты просто охуенен!
Аноним 16/04/23 Вск 21:53:52 875975 183
>>875932
> пощупайте, если хотите
Пощупал. Код зависит от синглтонов. Такшта либо тащи их, либо заведи полезную привычку описывать зависимости в комментах, чтобы сразу видеть самому от чего зависит код, либо не используй синглтоны (понимаю, сложно отказаться от удобства).
Аноним 16/04/23 Вск 21:57:05 875977 184
>>875975
> либо не используй синглтоны
Не закончил мысль. Щас в туториалах на ютубе и как следствие в ассетах на ассетлибе, пошла мода вместо прописывания автолоада, прописывать export(NodePath) var в скриптах. Это явно показывает, что скрипту следует подсунуть правильную ноду для работы, и уже об этом не забудешь, и зависимость у кода будет явная.
Аноним 16/04/23 Вск 22:06:51 875978 185
image.png 17Кб, 270x120
270x120
>>875975
> Код зависит от синглтонов
А, там физик delta из Global.time, дабы в простое Physics process не работал, или я даже хуй знает чем был мотивирован когда делал это, лол.
тащемта сорян анончик
>>875932
Аноним 16/04/23 Вск 22:09:49 875980 186
image.png 19Кб, 270x120
270x120
>>875977
Сорян, я хуй знает зачем ваще этот синглотон захуярил туды, лол, он там не нужен, можете просто delta из physics_process вывести в в глобал переменную скрипта
>>875932
Аноним 17/04/23 Пнд 12:40:09 876027 187
>>875894
Вот еще вспомнил недавно обсуждали воксель модуль Зилана, может тебя заинтересовать >>871412 →
Аноним 17/04/23 Пнд 17:57:58 876059 188
>>876027
> может тебя заинтересовать
Надо же! Настоящий модуль воксельного террейна! Впервые вижу! Спасибо за помощь!

Очевидно же, что я пытался обойтись а) без вокселей, б) без сторонних модулей
Аноним 17/04/23 Пнд 19:04:58 876072 189
>>876059
Насчет б) насколько я понимаю стратегию развития, такие расширения будут только внешними. Но в этом случае модуль уже там скомпилирован в кастомный билд движка.
а) просто подумал, что раз ты делаешь типа воксели, то почему бы не попробовать воксели и сравнить производительность.
Аноним 17/04/23 Пнд 19:05:39 876073 190
Аноним 17/04/23 Пнд 20:13:02 876084 191
>>876072
> скомпилирован в кастомный билд движка
Пора бы уже мне научиться билдить самому движок с любыми модулями, какие захочу.
Аноним 17/04/23 Пнд 20:30:47 876086 192
>>873235 (OP)
А можно как-нибудь в версии 3.5 копировать коллизию тайлов? А то как-то запарно каждый раз заново её ставить
Аноним 17/04/23 Пнд 21:06:57 876095 193
>>876086
Не помню насчет нормального способа, но точно применял такие
1) генерировал скриптом на питоне файл с коллизиями, грубо говоря tscn же текстовый файл где можно по мелочи даже руками скопипастить
2) генерировал какие-то коллизии tool-скриптом, там конечно надо покурить api че кому назначать, но это реально, типа найти нужный тайл, взять его коллизию, назначить другому тайлу.
Может быть есть что-то даже готовое в ассетах, давно 2д не чекал.
Аноним 17/04/23 Пнд 21:31:39 876098 194
>>876095
Звучит так, будто руками расставить все коллизии легче
Аноним 17/04/23 Пнд 21:50:49 876108 195
>>876098
Иногда да, я просто не люблю обезъянью работу, и если что то можно автоматизировать, я лучше час потрачу на тул скрипт, чтобы потом в любой момент копировать что-то, особенно если это надо повторить больше 16 раз. Редко конечно могу включить что то чилловое посмотреть в фоне и под это дело кликать. Но ска цена ошибки часто высока, приходится переделывать, возвращаться к пропущенным. Цикл в скрипте проще, если ошибся. просто правлю и еще раз прогоняю.
Аноним 18/04/23 Втр 17:35:29 876208 196
>>873237
И еще на тему root motion. Есть сейчас акутальный плагин для blender+mixamo+godot? Раньше я знаю был Godot game tools, но он подглючивал, и вообще слабо поддерживается для актуальных версий блендера и годота, там куча ишью, и свежего форка не нашел чего то.
Аноним 18/04/23 Втр 17:40:32 876209 197
Аноним 19/04/23 Срд 11:53:27 876309 198
screen-20230419[...].mp4 15514Кб, 1080x2340, 00:00:15
1080x2340
А как можно сделать такую анимацию аима? Пока сидел на юнити реализовывал такое через проигрывание анимации в зависимости от положения прицела, но это на каждые ~10 градусов рисовать отдельный спрайт, с учётом того, что планируется несколько видов оружия и персонажей объем работы получается не маленький. Как это упростить можно? Была мысль сделать обычный аим как во всех гайдах для топ-даун шутера с преследованием положения мыши, а руки просто привязать к плечам и оружию, чтобы они болтались как сосиски, но не знаю как такое сделать в годот.
Аноним 19/04/23 Срд 12:07:20 876310 199
Аноним 19/04/23 Срд 13:13:52 876315 200
>>876309
Делаешь руки отдельно от тела, анимируешь либо скелетной анимацией, либо просто кодом поворачиваешь спрайт рук, который висит чайлдом во всём теле
Аноним 19/04/23 Срд 13:42:46 876317 201
image.png 13Кб, 270x120
270x120
>>876309
Тонна челов которые реализовывали подобный поворот оружия. Основная мысль в том, что у спрайта есть pivot и благодаря этому оружие вертится не от центра спрайта.
Аноним 19/04/23 Срд 13:43:31 876318 202
1536599711496.png 31Кб, 738x373
738x373
>>876309
>на каждые ~10 градусов рисовать отдельный спрайт
Зато это красиво. Вообще сейчас есть способы ускорить этот процесс, рендерить в 3д, а еще нейронки.
>руки просто привязать к плечам и оружию, чтобы они болтались как сосиски, но не знаю как такое сделать в годот.
так ноды же вращаются относительно родительской.
Ты можешь вращать ее через rotation, а можешь сделать что то вроде $Gun.look_at( get_local_mouse_position() ) - на самом деле чуть сложнее, поскольку надо бы брать позицию мыши из камеры, уже с учетом масштаба и сдвига. Это вообще за 5 минут делается.
Или как анон выше сказал скелетную анимацию https://docs.godotengine.org/en/stable/tutorials/animation/2d_skeletons.html Но это уже позаебистее.
Аноним 19/04/23 Срд 14:28:23 876324 203
>>876318
>Зато это красиво.
Вообще можно совмещать риксели и смену спрайтов. Но в большинстве игр вообще не парятся с этим.
Аноним 19/04/23 Срд 15:23:28 876326 204
>>876317
>>876318
>Ты можешь вращать ее через rotation, а можешь сделать что то вроде $Gun.look_at( get_local_mouse_position() ) - на самом деле чуть сложнее, поскольку надо бы брать позицию мыши из камеры, уже с учетом масштаба и сдвига
У меня сейчас так и сделано. Я не понимаю как сделать так, чтобы один конец рук был всегда привязан к рукоятке оружия, а другие концы рук всегда был привязан к плечам. Было бы проще, если бы руки были одной длины и просто сделать их родительским объектом для оружья, но они у меня разной длины т.к. спрайт в ракурсе 3/4
Аноним 19/04/23 Срд 15:24:57 876327 205
>>876209
Работает. Чуть чуть все таки пришлось доработать напильником.
Воркфлоу стал побыстрее чем раньше.
1. Подготовить модель, с ригом. Можно с несколькими мешами (одежда, отдельная голова...). Тут же я масштабирую до нужного роста (около 1 метр 80 см) и применяю все трансформы, чтобы потом не возиться. Также переименовываю кости, если у них какие то дурацкие названия. Можно написать простой скрипт, если надо убрать префиксы типа ModelName_Hips
2. Экспортировать в FBX. Чтобы в миксамо видеть текстуры, в блендере надо при экспорте выбрать Copy и нажать рядом иконку коробки (упаковать)
3. Скачать с миксамо нужные анимации. Там есть целые паки, можно и их. В отдельных анимациях, галочку In Place ставить не надо, раз мы хотим Root Motion
4. Закидываем желаемые анимации в папку, туда же кидаем TPose.fbx, переименовываем анимации как нам надо, добавляем -loop если хотим зацикливание (это можно потом при импорте в годоте поменять). Idle я не делаю зацикливание, так как хочу запускать рандомные, а для этого знать когда закончилась анимация.
5. Запускаем скрипт, он создает .glb названный по имени папки. Закидываем в Годот, настраиваем дерево анимаций, любуемся RootMotionView нодой.
6. Почему то часто glb импортирует материалы как прозрачные. Не понял как запретить. Исправляю так - в Годоте дабл клик на glb, открываются опции импорта. Там нажимаю action - export materials. Выбираю .res вместо .tres, иначе создаются какие то неадекватные материалы по 80Мб и сцена грузится полчаса. Все, теперь можно редактировать прозрачность в материалах отдельно.
Работы все равно дальше много, но скрипт позволяет пропустить все ручное прокликивание каждой анимации в блендере.

В чем заключался напильник для скрипта. Почему то все скрипты для миксамо подразумевают, что модель увеличится в 100 раз, поэтому анимацию уменьшают обратно в 100 раз. Но в моем случае с миксамо все скачалось один к одному как я заливал. Поэтому наоборот рут моушн топтался почти на месте. Решение - закомментировать в скрипте строчку которая делает скейл 0.01

Из непонятных технических моментов. Блендер при экспорте glb пишет что запекает анимации, потому что что то там не совпадает в кол-ве кейфреймов. Не знаю плохо ли что он запекает или пофигу. Еще предупреждает, что есть вершины, на которые влияет больше 4 костей (вроде так). Тоже не особо представляю стоит ли париться.
Аноним 19/04/23 Срд 15:31:18 876328 206
>>876326
>У меня сейчас так и сделано
, но пока без анимации. Ноги и корпус стоят, ходят, бегают, а оружие просто в воздухе вращается
Аноним 19/04/23 Срд 22:04:51 876346 207
>>876326
По идее тебе надо что-то вроде 2-chain inverse kinematic
Если я правильно понял твою проблему, что тебе надо чтобы одна рука в локте сгибалась.
Аноним 21/04/23 Птн 18:25:15 876462 208
1595415156074.png 148Кб, 1045x725
1045x725
Накатил плагин гита, чтобы не альттабаться, а сразу коммитить с комментарием.
Показывает историю, диффы, измененные файлы. Есть какая то поддержка веток, онлайн реп.
Есть подводный - в истории не стоит кликать на строчку, где было изменение больших бинарей - редактор зависнет надолго считая диффы... Надо будет им ишью завести чтобы был таймаут.
Аноним 22/04/23 Суб 07:43:49 876533 209
Хочу иметь систему квестов рпг-вида.

Пример - поговорил с одним NPC, он дал квест, после этого в другой локации появился другой NPC с которым надо тоже поговорить.

Первая мысль была примерно такая - иметь реестр квестов, диалогов и NPC.

В реестре NPC записи о том в какой он локации, в каком месте и какой у него сейчас диалог.

В реестре диалогов иметь записи о том какой квест активируется после этого диалога, куда перемещается NPC и какой у него будет следующий диалог

При загрузке локации проверять эти реестры и расставлять NPC согласно записям.

Довольно сложно получается. Есть какие-то способы сделать проще, может я что-то не вижу?
Аноним # OP 22/04/23 Суб 14:10:22 876566 210
>>876533
> Есть какие-то способы сделать проще, может я что-то не вижу?
Этапы квестов. Классика эрпогэ, существующая с хуй знает каких лет. Вкратце суть токова.
1. Реестр у тебя один, и называется он - база данных.
2. И в твоей базе данных лежат все квесты всех локаций.
3. И у каждого квеста есть поле "ЭТАП" целого типа, которое по умолчанию = 0
4. И у тебя есть сейвфайл, который организован (любым удобным тебе способом) как модификация основной базы данных. Загрузка сейва - это выполнение модифицирующего скрипта в БД.
5. И в процессе выполнения квеста у него увеличивается значение поля ЭТАП, то есть, меняется по сути этап квеста.
6. И увеличиваться он может не только на 1, а сразу на любое нужное тебе целое число, тем самым пропуская этапы. Так ты реализуешь ветвление событий.
7. А в диалогах у НПЦ у тебя будут закодированы условия появления ветвей диалога в зависимости от существующего этапа квеста. Если этап > 4 но < 7 то показать вот ту ветку.
8. И при загрузке локаций ты сможешь чекать этапы квестов и выполнять нужные действия, расставлять фурнитуру и НПЦ. Вплоть до того, что в менеджере загрузки локаций, ты сможешь чекать этапы связанных квестов и выбирать, какую из версий локации грузить в данный момент. День, ночь, война, пожар, руины, прошлое, будущее, иное измерение, и всё что пожелаешь.

> Довольно сложно получается.
А кто-то обещал, что будет легко? Эрпогэ - вершина геймдева. А Геймдев - вершина айти. Самая простая игра сложнее самого навороченного КРУДа. Самая простая эрпогэ сложнее самых навороченных кликеров.
Мне удивительно видеть, как люди без опыта в айти лезут в геймдев.
Аноним 22/04/23 Суб 20:19:55 876595 211
>>876533
Я пока глубоко систему квестов не продумывал. Но имхо это иерархический конечный автомат. Обычно вырожденный, потому что квесты обычно простые - 1. выйди за забор 2. убей 5 волков. Рестарты и повторяемые для простоты не рассматриваем. Иерархический - потому что сами квесты объединены в цепочки. После выполнения квеста 1 можно брать квест 2. Да, там могут быть графы посложнее. Например если взял квест за красных, за синих уже не можешь.
Может быть, можно обойтись событиями. Например, когда ты завершил квест, посылается событие, и оно спавнит следующего непися. Сами неписи, в таком случае, мне кажется, являются тупыми объектами наподобие кнопок. Да у них есть примитивные состояния, типа позиции на карте, которые могут быть связаны с системой сохранения. Но сами они не отслеживают состояние квеста. Пример - в какой нибудь ММО непись стоит в одном месте, но в разговоре с каждым игроком он говорит с ним лично на основе состояния игрока. Один еще только берет квест, другой уже сдает. (Опять же пропустим сложные случаи, когда непись перемещается между фазами квеста или игрок присоединился посередине рейда - это все можно продумать).
В общем, имхо, ничего особо сложного, инкапсуляция, каждый делает свою маленькую часть работы и все.
Аноним 22/04/23 Суб 20:23:20 876596 212
>>876533
То есть вот это я бы изменил:
>В реестре NPC записи о том в какой он локации, в каком месте
Ок
>и какой у него сейчас диалог.
Это перенес бы в состояние квеста у игрока.
Аноним 23/04/23 Вск 04:10:33 876642 213
>>876595
Вообще мне нравится идея с графом состояний. Похоже на вот эту >>876566 систему с этапами

Есть начальный узел - это начало игры, и несколько конченых, по одному на каждый квест.

Между ними - множество узлов событий, они по умолчанию неактивны.

И есть несколько указателей, каждый указатель движется от начала к концам по узлам событий.

Узлы по умолчанию неактивны, разблокируются по событиям. Допустим ты нашел нужный предмет, инвентарь сообщает что предмет найден и следующий узел открывается. Или в конце диалога открывается следующий узел.

Узлы имеют типы - например:
- позиция NPC, при прохождени этого узла NPC перемещается в нужную локацию
- диалог NPC - это узел устанавливает NPC нужный диалог.
- квестовый узел добавляет или убирает в журнал квестов запись

тут много чего можно придумать.

Мне кажется с такой системой можно делать РПГ масштаба скайрима.
Аноним 23/04/23 Вск 08:45:08 876647 214
Котаны, в чем суть использовать годот вместо условного юнити? Кроме слово опенсорс? Проще пилить проекты или что?
Аноним 23/04/23 Вск 15:10:38 876673 215
>>876647
Это вопрос исключительно субьективного удобства. Что нравится, тем и пользуйся. Для остального есть тред движкосрача.
>>876642
> идея с графом состояний
> множество узлов событий
> несколько указателей
> Узлы по умолчанию неактивны, разблокируются по событиям.
Братан, братишка, браток. Как ты ни накручивай слои абстракций, в итоге у тебя на диске будет лежать плоский список, в котором всё будет сведено к индексированным записям. Так нахуя тогда накручивать слои абстракций? Ты только запутаешься в них. Система этапов не просто так является бессмертной классикой, потому что лучше нее ничего не придумаешь, и всё что ты можешь придумать, в конечном итоге сведётся к системе этапов. Все твои вот эти графы состояний превратятся в ту же самую таблицу. Но при этом, при саппорте этой системы, тебе придется переводить плоские данные в графы с узлами и переходами, а потом снова графы с узлами и переходами переводить в плоские данные. Впрочем, похуй же как делать, главное, чтобы тебе было удобно. Именно поэтому я не люблю аддоны и ассеты. Они сделаны так, что их авторам они удобны. Но это не гарантия что это удобно мне.
Аноним 23/04/23 Вск 15:19:50 876676 216
>>876673
>Как ты ни накручивай слои абстракций, в итоге у тебя на диске будет лежать плоский список, в котором всё будет сведено к индексированным записям. Так нахуя тогда накручивать слои абстракций?
Потому что человеку удобнее работать с абстракциями, а не непойми каким плоским списком. Вот пусть на диске хоть ассемблер лежит, пишем то мы не на нем.
Простой пример - ты захотел вставить в первый квест дополнительную задачу. В случае графа, ты просто добавил и оно само пересчитается. В случае своего плоского списка, ты или сдвинул все последующие числа, сломав старые сейвы, или начал добавлять в конец, в результате у тебя уже не плоский список, а 1, 2, 1488. 3, 4. Что в итоге приведет к костылям, если ты где то проверял if quest < 5
Аноним 23/04/23 Вск 15:21:44 876677 217
>>876647
Без понятия, бро, я не пользуюсь другими движками. Ты бы еще спросил, почему я с линукса на винду возвращаться на собираюсь, или почему пользуюсь блендером.
Аноним 23/04/23 Вск 16:52:33 876687 218
>>876676
Резонное возражение. Я и сам к этому пришёл, когда дописывал пост. Именно поэтому я в итоге и написал:
>>876673
> Впрочем, похуй же как делать, главное, чтобы тебе было удобно.
Аноним 24/04/23 Пнд 17:00:27 876764 219
Супертупой нюфаговопрос. Как там вообще делать адаптивный дизайн-то? Есть какие-то гайды (на 4.1 или те, что не устарели)? Я методом тыка пытаюсь разобраться и нихуя не справляюсь, это просто отвратительно. Где там вообще процентные значения, например? Я могу сделать часть интерфейса в 70% от высоты экрана?
Аноним 24/04/23 Пнд 17:25:47 876766 220
1682346347170.png 185Кб, 817x457
817x457
>>876764
> Я могу сделать часть интерфейса в 70% от высоты экрана?
Да.
> Есть какие-то гайды (на 4.1 или те, что не устарели)?
Я немного знаком с вёрсткой хтмл и легко пилил адаптивные в трёшке, поскольку оно там сделано по образу и подобию хтмл. Сейчас в четверке не касался этого вопроса. Но процентное соотношение там есть точно.
Аноним 24/04/23 Пнд 17:37:17 876770 221
1542706105860.png 130Кб, 1366x736
1366x736
1653011402773.png 128Кб, 1366x736
1366x736
1619075906868.png 127Кб, 1366x736
1366x736
1529613172615.png 134Кб, 1366x736
1366x736
>>876766
Там все довольно просто
Пик 1 - корневой контрол Full Rect занимает весь экран
Пик 2 - контрол с custom anchor, как раз и означает в процентах - 0 это край, 1 это дргой край, 0.2 это 20 процентов и тд
Пик 3 - контрол с custom anchor и anchor offsets, то есть когда относительно процентов еще и margin в пикселях
Пик 4 - это уже с контейнерами, контейнер сам расположен на 10 процентах, и растягивает контрол в него под это.
Аноним 24/04/23 Пнд 17:44:24 876771 222
1647252318036.png 130Кб, 1366x736
1366x736
1583444385379.png 130Кб, 1366x736
1366x736
>>876770
Кроме этого есть всякие контейнеры в которые уже по какой то логике набиваются дети, например grid container, horizontal box, vertical box, их можно вкладывать друг в друга, сейчас вроде бы есть и flow
Контейнер управляет лейаутом детей, но дети могут указывать как они хотят размещаться в контейнере, полями container sizing; fill или shrink, а также галочкой expand. В таком случае параметр Stretch будет уже задавать пропорции между такими элементами. На пик 2 - пропорции 3-2-1.
Аноним 24/04/23 Пнд 17:46:17 876772 223
>>876770
>>876771
Так вот как это работает. Спасибо большое, анон!
Аноним 24/04/23 Пнд 17:49:58 876773 224
1682347799301.png 345Кб, 480x480
480x480
>>876771
>>876770
Посетители треда выражают огромную благодарность!
Держи няшу.
Аноним 24/04/23 Пнд 19:38:53 876781 225
1578442828762.png 44Кб, 1188x258
1188x258
>>876772
>>876773
Не за что. Нюансов все равно много остается, я всех комбинаций не знаю, но база простая. Еще какие то настройки бывают не в настройках контейнеров, а в настройках темы, например отступ между элементами контейнера. Вот их похоже в процентах не задать. Но наверное можно из скрипта как то получить общий размер контейнера и высчитать. Будем считать это продвинутой темой.
Аноним 24/04/23 Пнд 19:43:45 876782 226
>>876771
Тут я забыл написать текстом, что есть margin container он используется чисто для отступа в дереве контролов, то есть даже если у ваших контролов нет возможности явно задать отступ, можно всегда обрамить это в margin.
Аноним 26/04/23 Срд 13:33:40 876969 227
1536360804717.png 216Кб, 1080x536
1080x536
>>874870
На просторах гитхаба замечен такой проект Godot-Dodo
https://github.com/minosvasilias/godot-dodo
Процесс обучения описан так: с гитхаба спарсены проекты под MIT лицензией, потом чатугпт 3.5 турбо задавался вопрос что делает каждая функция.
В репе есть ссылка на веса, как я понимаю, надо их скачать, установить пререквезиты для питона и запустить eval.py В нем уже содержаться подобные тестовые запросы
'Listen to WASD user input and move current node accordingly.',
'Apply a new metallic spatial material with a red albedo color.',
'Create a raycast and cast from active camera to current node. Return ray collisions.'
В описании сказано что модель дожна лучше писать на гдскрипте, но хуже понимает более высокоуровневые запросы
Тестите, я сам с картофелины.
Аноним 26/04/23 Срд 13:35:01 876970 228
>>876969
>с гитхаба спарсены проекты годот 4.0 под MIT лицензией
Забыл важное уточнение.
Аноним 26/04/23 Срд 13:42:08 876972 229
1682505728128.png 88Кб, 161x562
161x562
>>876969
> я сам с картофелины
Эх, да и я тоже с утюга.
Аноним 26/04/23 Срд 20:06:37 876996 230
dev-snapshot-go[...].jpg 51Кб, 1280x720
1280x720
>>873235 (OP)
Ну чо годаны, роллинг релиз? Теперь живем на дев сборочках?
Аноним 26/04/23 Срд 20:24:32 876997 231
>>876996
Я предпочитаю LTS. Впрочем... Все равно нихуя не делаю, так что можно и попробовать.
Аноним 26/04/23 Срд 20:58:55 876998 232
images (1).png 8Кб, 200x252
200x252
Аноним 27/04/23 Чтв 08:12:01 877012 233
Годаны, помогите с шейдерами.
Имеется аниматед_сприте, все кадры анимации берутся из одной картинки. Или не аниматед, а просто спрайт с одной картинкой. Итоговый результат должен одинаково себя вести и с тем, и с другим.
Имеется канваситем-шейдер. Суть в трёх строках:
vec4 color = texture(TEXTURE, UV)
vec4 new_color = texture(my_uniform_sampler2D, UV)
COLOR = vec4(new_color.rgb, color.a)
То есть, простейшая штука. Скормить шейдеру текстуру и заменять на неё всё, что не прозрачное.
Но собака порылась в деталях. А именно - в анимации. Точнее, в атласах, как я понял. Для шейдера разные кадры анимации - это разные места на одной текстуре. С разным UV, соответственно. И из этого вытекают две проблемы:
1. Наложенная текстура растягивается на весь атлас, а не на выбранный кадр.
2. При проигрывании анимации анимируется и наложенная текстура.
Да, я могу подогнать шейдер под конкретный спрайт. Но у меня тут ареа должна автоматически вешать свой материал на любого кинематика или ригида, который в неё зайдёт, так что надо найти какое-то общее решение. Можно как-то скормить шейдеру то, что фактически отрисовывается, а не исходную картинку? Или ещё какие варианты решения есть?
Аноним 27/04/23 Чтв 09:07:49 877013 234
Так, я заебался. Как мне скруглить углы любого блока? Вот я сделал панель, настроил обводку и скруглениями, включил clip_contents и добавил TextureRect в потомки. Так какого хуя углы просвечивают? Пробовал тему панели копировать на саму текстуру - никак не реагирует. Блжад, почему нельзя просто прописать бордер-радиус: 8 и бордер: 1пкс солид вайт элементу, а надо обязательно ебаться. Почему в годоте ебаном нельзя без гайдов даже такую мелочь сделать? Я не хочу сидеть в фотошопе и каждую иконку делать со скруглениями и обводкой, а потом переделывать их всех, если мне не понравится мой дизайн.
Аноним 27/04/23 Чтв 13:22:36 877036 235
Аноним 27/04/23 Чтв 14:08:15 877042 236
1620065395505.png 46Кб, 299x168
299x168
>>877013
Сегодня бегаю весь день, так что сам попробовать и показать не смогу.
Вариант 1 - nine patch rect. Там фишка в том, что рисуешь одну кнопку со скругленными углами, но растягиваешь ее рамку на нужное расстояние, углы при этом не масштабируя. Это контрол, со всеми вытекающими, но можно и для игровых объектов приспособить
Вариант 2. Пишут что есть ресурс StyleBoxFlat и у него Corner Raduys. не пробовал.
https://godotengine.org/qa/132106/how-to-create-rounded-ui-elements
Аноним 27/04/23 Чтв 14:12:44 877043 237
>>877013
Не исключаю что у тебя проблема в чем то другом, типа панель не использует какие то настройки темы. Тогда надо придумывать что то свое. Например использовать ту же кнопку только ненажимаемую для визуала панели. Годот - игровой движок, то есть в первую очередь это когда всякие спрайтики бегают и стреляют, а не инструмент иллюстратора в котором скопировано все что только бывает в хтмл.
Аноним 27/04/23 Чтв 14:18:22 877045 238
>>877012
Самое прямолинейное решение - UV надо умножать (или делить) на количество строк и колонок в атласе. Для этого можно завести uniform переменные в шейдере и выставлять их напимер из гдскрипта, взяв данные о твоем анимспрайте. Почитай тут например.
https://www.reddit.com/r/godot/comments/w3rhzy/shaders_for_animated_sprites_using_spritesheets/
Аноним 27/04/23 Чтв 15:53:14 877052 239
>>877042
Еще запасные идеи
Вариант 3. Рисовать SVG
Вариант 4. Шейдер рисующий любые линии, скругления.
Аноним 28/04/23 Птн 13:10:34 877133 240
>>877045
Но я не знаю количество строк и колонок в атласе. Я вешаю шейдер на рандомный спрайт, у которого даже своего скрипта нет.
Может, можно было бы в скрипте-вешалке прописать, чтобы он выковыривал эти данные из АниматедСприте. Но я не нашёл в доках способа сделать это. Можно вытащить текстуру конкретного кадра, делать это по сигналу frame_changed.

Ов щи, пока писал, придумал. Можно узнать размер текстуры кадра, скормить его шейдеру; а шейдер знает размер текстуры атласа. Костыльно, но должно сработать. Не поможет, если анимация будет использовать более одно атласа, но у меня таких нет и, видимо, теперь уже не будет.
Аноним 28/04/23 Птн 15:20:01 877142 241
1536302934449.png 63Кб, 864x522
864x522
>>877133
Ты прав, я перепутал с просто спрайтом, которого есть vframes и hframes. Уже не помню почему, отговаривали исползовать AnimatedSprite, в пользу AnimationPlayer.

Что касается AnimatedSprite, сейчас проверил, он возвращает SpriteFrames, у которого есть AtlasTexture, у которого можно получить region указанного кадра указанной анимации.
Думаю этого достаточно чтобы составлять автоматически каталог для всех спрайтов в твоей игре.
Аноним 28/04/23 Птн 17:58:14 877154 242
>>877142
>SpriteFrames, у которого есть AtlasTexture
О, не знал, потому что в доках написано:
>Texture get_frame ( String anim, int idx ) const
И прежде я уже юзал эту функцию, чтобы автоматически отрисовывать персонажа в инвентаре, и не догадывался, что там атлас.
Нушош, тогда вопрос решён.
Аноним 28/04/23 Птн 18:06:36 877156 243
>>877154
Там, наверное, не всегда атлас, есть же другой режим когда просто картинки накидываешь по одной. Но это тоже можно проверять.
Аноним 28/04/23 Птн 19:01:54 877165 244
>>877142
> Уже не помню почему, отговаривали исползовать AnimatedSprite
Я напомню.
АниматедСпрайт нужен для одноразовых задач, например, сделать крутящуюся иконку сохранения, включать и выключать ей видимость, когда надо. Если нужно комплексно работать с анимациями, для этого создан универсальный АнимаПлеер, который хоть 2дспрайтами жонглирует, хоть 3дмешами, и состыкуется с универсальным АнимаТрии для создания стейтмашин.

Но на практике никто не мешает, конечно же юзать и АнимаСпрайт.
Аноним 29/04/23 Суб 00:27:01 877180 245
>>877165
Анимаспрайт удобен для пикселярта, когда все анимации исключительно спрайтовые и нет никаких плавных переходов. И его очень удобно совмещать с анимаплеером и анимадеревом. Хотя, в общем-то, никто не запрещает вместо переключения кадров юзать регион в обычном спрайте.
Аноним 30/04/23 Вск 08:20:35 877273 246
Аноним 01/05/23 Пнд 13:04:39 877403 247
Вопрос знатокам. У меня есть несколько нод, у которых отрисовка детей зависит от собственного состояния. Ну например: у предмета есть енум-свойство А, и все его дочерние картинки играют одну и ту же анимацию или флипаются в зависимости от выбора этого свойства. Для этого я использую:
1. Простые сеттеры свойств, в них по две строчки: задание свойства-переменной и вызов редрав_май_обжект()
2. Функ _реади() и в нём вызов редрав_май_обжект()
3. Ну и собсно редрав_май_обжект(), который собирает вместе все нужные параметры и задаёт свойства детям.

Я вот думаю. Целесообразнее ли вместо этого заюзать виртуальный метод _draw() ? Или он вызывается каждый кадр, так что пихать туда гдскрипт плохая идея? Или есть общепринятый какой-то другой метод, которого я не знаю?
Аноним 01/05/23 Пнд 17:23:07 877429 248
>>877403
Не очень понял твою терминологию. Дочерними/детьми и родительскими называют положение в дереве нод, а дальше ты говоришь про виртуальный метод. Может ты имел в виду наследованные и базовые?
Когда вызывается метод draw написано в документации.

Updating¶

The _draw() function is only called once, and then the draw commands are cached and remembered, so further calls are unnecessary.

If re-drawing is required because a state or something else changed, call CanvasItem.queue_redraw() in that same node and a new _draw() call will happen.

Стоит ли привязывать к нему логику - не уверен. Все таки мне кажется ты описываешь больше логику, а не отрисовку. Под отрисовкой там имеется в виду нарисовать линию, кружочек.
Аноним 01/05/23 Пнд 19:18:45 877469 249
Есть хоть одна успешная (ну или хотя-бы играбельная) 3D игра на нём? С графикой лучше чем абстрактные кубики в качестве фона для лоуполи шариков? Или фактически оно только для 2d игр, а поддержка 3д это так для галочки?
Аноним 01/05/23 Пнд 19:36:14 877475 250
>>877469
Cruelty squad, еще какой-то забагованный ремейк Соника, хотя они все такие независимо от движка. Вообще такой вопрос сейчас не особо актуален, в 4.0 3D абсолютно другое, но естественно с момента релиза еще не прошло достаточно времени, чтобы на нем успели сделать что-то крутое.
Аноним 01/05/23 Пнд 20:17:49 877487 251
1622619091121.png 3667Кб, 1920x1080
1920x1080
1620125109517.png 2526Кб, 1920x1080
1920x1080
1643971356617.png 1096Кб, 1280x692
1280x692
1576909991956.webm 31455Кб, 1280x720, 00:00:25
1280x720
>>877469
>или хотя-бы играбельная) 3D игра
>С графикой лучше чем абстрактные кубики
Естественно, та же Human Diaspora, но разраб психанул от неуспеха и удалил все видосы с ней с реддита и ютуба, а мне лень искать их на компе сохраненку.
А вообще то любой может скачать разные демки и оценить возможности рендера
https://github.com/perfoon/Abandoned-Spaceship-Godot-Demo
https://github.com/mikatomik/Godot-4-Overgrown-Subway-Demo
https://github.com/gdquest-demos/godot-4-3d-third-person-controller
Это демки на 4-ке
>а поддержка 3д это так для галочки?
Всегда нормальная поддержка была. Вот типичная игра с какого то мелкого джема.
>какой-то забагованный ремейк Соника
Не забагованый. Там специально стримеры по 100 раз дрочили сейв пока память не утекала. У нормальных игроков в тот же день уже летсплеи целиком игры без пробелем были.
Аноним 01/05/23 Пнд 23:02:48 877517 252
Аноним 02/05/23 Втр 01:39:46 877539 253
>>877429
>Дочерними/детьми и родительскими называют положение в дереве нод
Ну да, про это и речь.
Сейчас в родителе три функции, которые так или иначе влияют на отрисовку детей. А я спрашиваю, не лучше ли все их запихнуть в один _драв().

>Когда вызывается метод draw написано в документации
Хз, где это написано, вот тут такого нет:
https://docs.godotengine.org/en/3.5/classes/class_canvasitem.html#class-canvasitem-method-draw

>Все таки мне кажется ты описываешь больше логику, а не отрисовку.
Исключительно отрисовку.

Но если _драв() всё равно надо вызывать вручную, то лучше оставлю как есть.
Аноним 02/05/23 Втр 01:50:44 877540 254
>>877539
там есть ссылка на Custom drawing in 2d
Аноним 02/05/23 Втр 01:51:38 877541 255
Аноним 02/05/23 Втр 07:59:12 877548 256
>>877487
Демки не в счёт таккак это фактически реклама. То есть вопрос должен звучать так: Действительно ли можно использовать движок для создания жизнеспособной игры с не нулевой графикой, или он годится только для демок и прототипов которым ясно дело такая производительность не требуется
Аноним 02/05/23 Втр 12:18:13 877567 257
>>877548
Движкосрачер уходи
Аноним 02/05/23 Втр 15:18:23 877574 258
>>877548
>То есть вопрос должен звучать так: Действительно ли можно использовать движок для создания жизнеспособной игры с не нулевой графикой,
Странная переформулировка, ну на этот вопрос ответ да.
> такая производительность
Это какая еще такая? Производительность в основном зависит от постпроцессинга (врубаю всякие шейдеры и падает с 120 до 60, да и вообще некоторые эффекты требуют второго вьюпорта с дублированием прорисовки), от очень больших текстур (запускал на некроПК,накидав много ассетов с 4к текстурами - вот тогда начинаются затыки, потому что приходится из памяти в видляху постоянно свопать - поменял на 512 и все летает), к тому же имеет смысл объединять текстуры в тримшиты. В третьих все эти динамические освещения - GI, voxel, Reflection probes, объемный туман и так далее.
И как можно заметить, все эти три пункта надо выносить в настройки, тогда внезапно на слабом компе можно понизить качество картинки и производительность вырастет, кто бы мог подумать.
Еще проблема может быть если пытаться тупо столкнуть кучу физических объектов (если например делать всех неписей физическими телами и они окажутся во взаимодейтсвии через какой нибудь Area все со всеми). Это решается тем что они должны ходить упрощенными методами - например навигацией, которая еще и пересчитывается не каждый кадр.
>Демки не в счёт таккак это фактически реклама
Демки, блджад, это демки. Они нужны для того чтобы проверить как что работает из коробки и что можно поменять и сколько всего потянет твой комп.
Аноним 03/05/23 Срд 06:57:27 877630 259
1567444200706.png 33Кб, 1809x860
1809x860
1536640041909.png 120Кб, 1918x1039
1918x1039
1672956306559.png 105Кб, 1919x1053
1919x1053
Аноним 03/05/23 Срд 19:40:02 877696 260
>>877630
По ссылкам не ходил, по скринам что-то типа Азгаара-мап-генератора?
Аноним 03/05/23 Срд 19:42:34 877698 261
>>877696
Про азгаар знаю, хороший генератор, оттуда тоже беру некоторые фичи
Аноним 04/05/23 Чтв 03:54:43 877730 262
Я начинающий, аноны, какую версию качать? 3 или сразу начинать с 4 версии движка?
Аноним 04/05/23 Чтв 07:39:25 877739 263
>>877730
Если только начинаешь, то сразу 4
Аноним 04/05/23 Чтв 09:33:35 877745 264
Аноним 04/05/23 Чтв 16:28:54 877791 265
>>877730
Я немного предвзято распишу. 4-кой же можно начинать пользоваться, но она сыровата у нее есть несколько минусов.
1. 3д экспорт в веб в ранней разработке, нет теней, нет многих спецэффектов.
2. вулкан же не везде работает нормально. Так что для разработки на 4-ке уже нужен комп помощнее. Даже банальный запуск редактора и игры в 3-ке GLES2 ощутимо быстрее, чем в 4-ке OpenGL.
3. 3д террейна пока не запилили, и уже месяц даже обсуждений не слышно
4. Если делать 2д игру, то андроид и веб билды будут тяжелее, дольше грузиться
5. Туториалы пока будут попадаться на 3-ку больше, поэтому новичку придется разбираться как что поменять на лету.
6. Аддонов пока меньше, хотя ситуация уже выравнивается, к тому же в основном на 3-ку аддоны заморожены и не будут появляться новые или дорабатываться.
7. Редактор сыроват, в 3-ке как то получше редактируется код, в 4-ке постоянно какие то затупы с автодополнением. Иногда может упасть от неудачного клика по ноде. (Понятно что любой софт может, даже майкрософтовский, но по ощущениям в 4-ке это происходит чаще. несколько раз в день)
Так что я бы сказал так
Если хочешь вкатываться на будущее, с долгостроем, с А-АА игрой, с мощными спецэффектами, бери 4 ку. За год ее уже доведут до приемлимого состояния.
Если хочешь просто потыкаться в 2д на компе, тоже можешь взять 4-ку.
Если хочется супер мега оптимизированную игру которая будет и в вебе и на мобилках, тут я бы в ближайший год все еще 3-ку использовать буду.
Аноним 04/05/23 Чтв 20:00:32 877838 266
>>877791
Спасибо, Антон! Значит мне подойдёт 3-ка.
Аноним # OP 04/05/23 Чтв 20:02:25 877839 267
Аноним 04/05/23 Чтв 20:10:04 877842 268
1644170357173.png 75Кб, 1330x588
1330x588
Ну что, есть еще сутки на заготовочку главного меню, а потом неделя и 2 доп дня
Аноним 05/05/23 Птн 05:42:44 877865 269
>>877791
Согласен с этим аноном, беру свои слова назад с советом 4-ки для начинающих. Она подходит для тех, кто уже знает как работать с годотом, но только начинает проект.
Аноним 07/05/23 Вск 19:12:30 878070 270
1528469822268.png 6Кб, 270x120
270x120
>>877273
Спасибо. не слышал про такой.
Автору надо бы его в ассетлиб закинуть, да и теги на гитхабе проставить - я бы про него и не узнал, не смотрю ютупчик.
В ассетах такой мелькает постоянно в обновлениях, майнкрафтоподобный
https://godotengine.org/asset-library/asset/1650
Аноним 07/05/23 Вск 20:45:28 878077 271
Аноним 08/05/23 Пнд 19:44:24 878136 272
Где тысячи бесплатных моделек? Мне город строить детально
Аноним 09/05/23 Втр 05:25:41 878152 273
Аноним 09/05/23 Втр 09:23:06 878157 274
>>878136
> Где тысячи бесплатных моделек?
В параллельной вселенной победившего коммунизма, где людей кормят бесплатно.
Аноним 09/05/23 Втр 10:26:35 878159 275
>>878157
Пиздец, а вот в юнити всё бесплатно
Аноним # OP 09/05/23 Втр 10:33:35 878160 276
>>878159
Кроме самой юнити, в которой она бесплатна только пока с тебя взять нечего.
Аноним 09/05/23 Втр 10:45:16 878162 277
>>878160
Я в рашке, путин их не подпустит ко мне
Аноним 09/05/23 Втр 11:08:24 878164 278
>>878162
Воу-воу, ты тредом ошибся. А возможно и разделом.
Аноним 09/05/23 Втр 14:56:46 878182 279
Аноним 09/05/23 Втр 20:01:30 878201 280
>>877791
ну за этот год они сказали что будет максимум 4.2
Аноним 10/05/23 Срд 11:47:41 878232 281
Сколько на самом деле по времени осваивается ваш движок? А то показания разнятся чё-то.
Аноним 10/05/23 Срд 21:06:15 878266 282
>>878232
Всё зависит только от твоей личной обучаемости.
Аноним 11/05/23 Чтв 01:06:53 878276 283
>>878266
Ну я не дебил и не гений
Аноним 11/05/23 Чтв 01:17:57 878278 284
>>878232
Если до этого пользовался Юнити, то меньше недели. Если не пользовался, то две недели максимум.
Аноним 11/05/23 Чтв 08:13:44 878295 285
>>878278
Это явно меньше чем с остальными движками. Спасибо
Аноним 11/05/23 Чтв 11:27:17 878302 286
Dev snapshot: Godot 4.1 dev 2
Аноним 14/05/23 Вск 12:36:32 878741 287
>>878295
Тебя наебали. На эту хуйню даже гайдов норм нет
Аноним 16/05/23 Втр 02:17:31 878950 288
>>877791
Уточнение - zylann таки портировал свой height map на 4-ку. Попробовал, текстуры работают, редактирование мышкой работает, коллайдер работает. Не сработала рандомная генерация в меню. Теоретически можно редактировать в 3ке и перекидывать в 4ку. Завтра более плотно потестирую, разные ситуации, экспорт может быть, терраформинг из скрипта.
Аноним 16/05/23 Втр 02:19:30 878951 289
Аноним 16/05/23 Втр 15:42:01 878995 290
>>878951
>>878950
А куллинг он починил?
Объясню. Когда я пользовался его плагином пару лет назад, там был баг куллинга, из за того что меш по факту под ногами, а отрисовка происходит дисплейсом в шейдере, то когда поднимаешь взгляд вверх, срабатывает искаробочный опенгл фруструм куллинг и все горы террейна тупо исчезают, потому что из области камеры ушла изначальная поверхность. Так вот, починил он это?
Аноним 16/05/23 Втр 17:31:28 879012 291
>>878995
Надо проверить, по твоему описанию это похоже на баг движка, чем на аддона, поискал такие ишью, вроде бы закрыты. Аддон генерит AABB и сообщает движку. По хорошему надо проверить везде, в 3, в 4 Forward+, Mobile и Opengl. Если что-то не работает - из нагугленного надо проверить как работает scale или map scale террейна (наверное в идеале надо оставить 1:1)
И еще написано что у GeometryInstance есть такое свойство как extra cull margin, то есть в теории можно любому объекту подкрутить, чтобы он был виден дальше чем надо (это часто нужно частицам). но вот тут я не уверен есть ли такая опция в террейне, но на первый взгляд ее нетрудно прикрутить, ведь террейн предположительно виден всегда.
Аноним 16/05/23 Втр 22:08:03 879050 292
>>879012
Звучит обнадёживающе. Проверь пожалуйста. Я не могу, у меня лапки.
Аноним 16/05/23 Втр 23:04:00 879057 293
Аноним 17/05/23 Срд 00:50:56 879063 294
>>879057
На десятой секунде ответ же
Аноним 17/05/23 Срд 01:06:03 879065 295
>>879063
И что говорит? Я англйиского не знаю.
Аноним 17/05/23 Срд 01:50:04 879068 296
>>878077
Посмотрел, чем-то похоже, да
Аноним 17/05/23 Срд 03:36:51 879074 297
image.png 8Кб, 626x55
626x55
Аноним 17/05/23 Срд 12:56:55 879105 298
1684317413706.png 597Кб, 1274x712
1274x712
1684317413734.png 1063Кб, 1278x714
1278x714
1684317413748.png 346Кб, 1273x709
1273x709
>>879065
В ютубе искаропки автогенерируемые и автопереводимые субтитры. Это без учёта того, что субтитры могут быть вручную добавлены автором видоса, и на нескольких языках. Да, надмозг иногда тупит, но в целом понять можно о чём речь.

Ну а если писать письма туда на емейл, тупо открываеш в соседней вкладке переводчик, и тупо переводишь, и тупо копипастиш.
Аноним 17/05/23 Срд 12:58:20 879107 299
>>879105
> Это без учёта того, что
И это не говоря о яндекс-браузере, в котором сделали нейросетевую озвучку.
Аноним 17/05/23 Срд 19:18:51 879149 300
На одной сцене ui, на другой допустим параметры персонажа (здоровье, броня).
Каким методом пробрасываются переменные из одной сцены в другую?
Аноним 17/05/23 Срд 20:36:53 879155 301
>>879149
Есть несколько вариантов
Вариант 1, сигналы. ui подписывается на сигналы, вместо переменных здоровья делаешь сеттер, в нем сигнал отправляется.
Вариант 2. Тупо жесткая связь. Буквально если они в дереве рядом, то "../scene".health. Минусы понятны, что это сложно изменять. Но для джемов вполне норм.
Вариант 3. Менеджер. Похоже на вариант 2, только связь чуть послабее, потому что ты обращаешься к конкретному менеджеру, а он уже достает из нужной ноды.
Вариант 4. Объединить сцены. Отчасти похоже на вариант 2. Это, например, если говорить о полосках над персонажем. То у тебя может быть спрайт, а сцену с ui добавить ему дочерней.
Аноним 18/05/23 Чтв 13:09:44 879220 302
Аноним 18/05/23 Чтв 13:13:37 879221 303
>>879155
> ui подписывается на сигналы, вместо переменных здоровья делаешь сеттер, в нем сигнал отправляется
Чтобы подписаться на сигнал, нужно знать ноду. А это связь. Таким образом пункты 1 и 3 по сути равнозначны, в случае если ты юзаешь шину сигналов (тот же менеджер) и пункты 1 и 2 равнозначны, если ЮИ знает о ноде и подключается к её сигналу напрямую.
Аноним 18/05/23 Чтв 13:18:12 879222 304
>>879221
Далее. Варианты 2 и 4 приведут к производственному аду, даже на ТВГ, тупо в первую неделю так нахуевертишь, что ко второй неделе голова бомбанёт и с конкурса сольёшься. Проверено.
Поэтому остаётся только пункт 3, только вместо менеджера - шина сигналов (event bus (design pattern) (for googling) только такой вариант я подвачую.
Аноним 18/05/23 Чтв 15:23:02 879233 305
>>879222
Двачую шину. Когда я узнал, что в Годоте можно вызывать сигналы другой ноды через код и об этом паттерне в частности, то у меня практически полностью исчезли проблемы, связанные с коммуникацией различных сцен между собой.
Аноним 18/05/23 Чтв 17:26:55 879241 306
>>879221
Все же поправлю тебя немного.
Чтобы подписаться на сигнал надо знать ноду, но связь не возникает. Связь будет существовать уже только в виде сигнала. Саму подписку сможет оформить фабрика, например из массивчика. А она сможет прицеплять ноды как угодно, поэтому не будет жесткой связи вида "../"
Поэтому варианты 1 и 3 НЕ равнозначны. В 1 фабрика знает о ноде и о ui, и только при создании. Нода и ui ничего не знают о фабрике (в отличии от менеджера в 3, о положении которого они обязаны знать чтобы общаться) и не знают о взаимном расположении друг друга, только о сигналах.
>>879222
Вариант 4 и так постоянно используется со штатными нодами годота. Например у KinematicBody обязаны быть дочерние CollisionShape, и не редкость когда родительский скрипт ими управляет. Например когда персонаж приседает и надо уменьшить его рост. Движение вверх тоже встречается, у того же персонажа может быть дочерний детектор попаданий пуль, который сообщает родителю о попадании напрямую. Так что никакого производственного ада нет, если это ближайшие соседи. Производственный ад на джемах возникает только от спешки и попытки что то начать переставлять, просто этого делать не надо и надо доделывать уже так как начал.
Аноним 18/05/23 Чтв 19:05:14 879253 307
>>879241
> надо знать ноду, но связь не возникает
Там у Хуана какая-то чорная магия, как минимум в трёшке была, что если дёрнуть сигнал на выгруженной ссылке, то просто ничего не происходит, ну и в консольку печатается еэкзепшн (хотя почему чорная магия, дописал предложение и сам понял, что экзепшн обрабатывается, раз в консольку пишется). В других движках аналогичное действие приводит к крашу.
Аноним 18/05/23 Чтв 23:40:02 879298 308
Аноним 19/05/23 Птн 18:32:51 879368 309
image.png 53Кб, 1103x703
1103x703
Почему у vehiclebody3d + vehiclewheels колеса проваливаются? У них вообще нет collision shape?
Аноним 19/05/23 Птн 18:50:16 879369 310
>>879368
Есть. Почитай гайды. обычно проблема в том, что колесо надо размещать там где оно будет при сжатой рессоре, и уже потом вытолкнуто пружной, а не в конечной точке. То есть в твоем случае возможно его просто выдавливает туда или оно вообще спавнится под землей. Можешь попробовать спавнить машину в воздухе для проверки. Второй момент что колеса вообще не сильно надежны и могут при сильном воздействии провалиться, ну то есть если большая масса, сила пружины или с трамплина прилетел. Я когда авиасим пилил так и не справился с колесами, сделал свой костыль. Честно говоря даже в доках сказано что скорее всего понадобиться делать свое.
Аноним 19/05/23 Птн 18:53:46 879370 311
Аноним 19/05/23 Птн 18:58:37 879371 312
>>879370
Еще машинки были в двух мультиплеер туторах, правда мне влом сейчас их искать.
Аноним 19/05/23 Птн 19:01:22 879372 313
>>879369
>в том, что колесо надо размещать там где оно будет при сжатой рессоре
странный подход
>Можешь попробовать спавнить машину в воздухе для проверки
Она и так спавнится выше
>Честно говоря даже в доках сказано что скорее всего понадобиться делать свое.
Читал, мне кажется я не осилю в плане алгебры векторов (я вообще нубасик), но могу попробовать
>Я когда авиасим пилил так и не справился с колесами
Я думал что дело в фпс симуляции (не успевает просчитать между тиками), но добавление фпс проблему не решило.
>Алсо можешь скачать ассет и посмотреть как в них сделано
Да качал уже, чего-то особенного не подметил. Думаю тоже на настройки подвески т.к. от нее реально что-то меняется, но это странно, что нужно искать какие-то настройки чтобы шины не проваливались. Если бы у них был нормальный collision shape то такого бы не было.
Аноним 19/05/23 Птн 19:22:41 879375 314
>>879372
ты себе не представляешь, СКОЛЬКО настроек надо искать когда делаешь технику. Не меньше 10.
Аноним 20/05/23 Суб 13:51:55 879461 315
>>879372
> мне кажется я не осилю в плане алгебры векторов
Мне тоже так казалось, три года назад, а щас ничего, без подсказок гугда трансформы вращаю.
Аноним 21/05/23 Вск 01:37:21 879514 316
Сап, Годач.
Абсолютный новичок в этих ваших Годо, сижу весь день и не понимаю как это должно работать.

Цель: при нажатии соответствующей клавиши, одна из панелей инвентаря (Заданного через GridContainer) должна поменять свою текстуру.
Для пояснения - в одном положении это соответствует активной правой руке, во втором левой.

Перекопал с десяток примеров/обсуждений/глянул документацию, так нихрена и не понял как это (Изменение текстуры в stylebox) правильно делается.
Аноним 21/05/23 Вск 03:08:19 879517 317
>>879514
Хуйня твои объяснения, заскринь структуру сцены, саму сцену, и по скрину объясни, чё хочешь сделать
Аноним 21/05/23 Вск 05:36:54 879519 318
>>879514
Стили - они для другого. Их задача - обеспечить единообразие вида всех элементов интерфейса. Если тебе надо задать из кода произольную текстуру, то используй TextureRect, там тупо меняешь свойство texture и всё. Ещё посмотри в сторону TextureButton, возможно, это тебе больше подойдёт (я не оч понял, что ты хочешь сделать); к ней можно без кода прикрутить шорткат.
Аноним 21/05/23 Вск 09:58:46 879527 319
>>879514
var new_panel_stylebox = self.get_stylebox('panel').duplicate()
new_panel_stylebox.bg_color = new_color
self.add_stylebox_override('panel', new_panel_stylebox)
Аноним 21/05/23 Вск 14:57:16 879549 320
image.png 675Кб, 2160x1160
2160x1160
image.png 74Кб, 969x322
969x322
Видео.webm 29Кб, 1150x598, 00:00:06
1150x598
Привет. Есть гайд как работать с Generic6DOFJoint3D?

Скачал пример от 3 версии, он не работает на 4, хотя я его ручками подправил. Посмотрел там скрипт: он просто включает мотор и крутит его.

Вроде бы все настроил, но при нажатии на кнопку колесо чуток проворачивается вперед и все, хотя я там уже 9999 велосити накрутил, ничего это не меняет.

если крутить напрямую rigidbody3d через angular velocity (wheel_back.angular_velocity.z = 10) то крутит нормально

Это баг или там bullet где-то отдельно включается?
Аноним 23/05/23 Втр 01:18:43 879701 321
Ох уж эти лейблы и их percent_visible.

В чём суть. Хочу отрисовать текст красиво, чтобы он появлялся по буквам, причём каждый чётный символ перед буковками появлялось ещё "_". Количество показываемых символов - export(int) var shown_chars. Показываемый текст - export(String) var mytext.
Сначала добавляю подчёркивание:
>mytext.erase(shown_chars - 1, 1)
>mytest = mytext.insert(shown_chars - 1, "_")
А дальше первый вариант
>label1.text = mytext.left(shown_chars)
>label1.percent_visible = 1.0
или второй вариант:
>label2.text = mytext
>label2.percent_visible = float(shown_chars) / float(mytext.length())
Проблема в том, что в двух вариантах разный результат. Первый работает надёжнее, но есть проблемы с переносом слов: если слово не помещается на строке, оно перенесётся только тогда, когда наберёт достаточно букв. Собсно, percent_visible для этого и существует. Но во втором способе другая проблема: невозможно предугадать, какой символ будет последним. Там какая-то магия происходит в преобразовании интов во флоты.
Попробовал наоборот, сначала задавать процент,
>export(float, 0, 1) var shown_percent
а потом из него считать количество видимых символов:
>var shown_chars = int(shown_percent * float(leng))
Ну и снова, сначала добавляю подчёркивание (см. выше) первый вариант без изменений (тоже см. выше) или второй упрощённый:
>label2.text = mytext
>label2.percent_visible = snown_percent
Та же дребедень. Символ подчёркивания то вообще не отрисовывается (уходит за пределы видимого), то оказывается предпоследним и после него ещё один.

Как с этим совладать, я чёт пока так и не придумал. Годаны, выручайте. Хочу заюзать percent_visible, но не могу. Пока просто обрезаю текст.
Аноним 23/05/23 Втр 01:39:35 879702 322
>>879701
В 4ке добавили какой то параметр который смотрит слова наперед чтобы переносы не скакали.
Аноним 24/05/23 Срд 00:30:09 879823 323
image.png 3Кб, 209x78
209x78
пиздец
итч
Аноним 24/05/23 Срд 01:54:25 879824 324
Аноним 24/05/23 Срд 06:16:39 879828 325
>>879823
Как деньги выводишь?
Аноним 24/05/23 Срд 06:20:06 879830 326
Почему, блядь, ни один пидорский соевый гомосатанинский гайд от GDQuest не рассказал мне про yield/await? ПОЧЕМУ, БЛЯДЬ, Я ОБ ЧУТЬ ЛИ НЕ САМОЙ ВАЖНОЙ ФИЧЕ В МИРЕ УЗНАЮ ИЗ КАКОГО-ТО ЛЕВОГО ЮТУБ-ВИДЕО?
https://www.youtube.com/watch?v=7QvhCDsFkk0
Аноним 24/05/23 Срд 07:18:18 879831 327
>>879830
Потому что ты не пил кофе давя питона.

На самом деле значит в уроках оно не требовалось.
Проверь gdscript keywords мб еще что интересного найдешь.
Аноним 24/05/23 Срд 11:10:23 879843 328
Сильно годот 4 отличается о 3? Просто хочу вкатиться со старыми курсами GDQuest.
Аноним 24/05/23 Срд 13:06:54 879847 329
>>879830
Потому что это хуйня и костыль, сраный атавизм. Как какое-нибудь GOTO. Только баги рождает, хотя всегда есть более эффективное решение.
Но вот тебе умное видео: https://www.youtube.com/watch?v=4xMaq-qVQGY
Аноним 24/05/23 Срд 13:23:01 879850 330
1537669203808.png 605Кб, 1280x720
1280x720
>>879830
> Почему, блядь
Потому что инструмент надо изучать в первую очередь по официальным докам, прочитав хотя бы 1 раз целиком
https://docs.godotengine.org/en/3.6/tutorials/scripting/gdscript/gdscript_basics.html
>ни один пидорский соевый гомосатанинский гайд от GDQuest не рассказал мне про yield/await?
Вижу гайд GDQuest по yield 4 летней давности, так что вини только себя.
>ЧУТЬ ЛИ НЕ САМОЙ ВАЖНОЙ ФИЧЕ В МИРЕ
Если ты не знаешь о ней из опыта программирования, то скорее всего она тебе не нужна. Анон выше может и преувеличивает насчет устаревшей, но то что новичок может ее совать где угодно и получать баги это факт. Я сам поначалу в ready костылял по два yield(get tree(), "idle frame") "чтобы все наверняка загрузилось" и потом удивлялся с трудноуловимых багов.
Аноним 24/05/23 Срд 13:36:12 879852 331
>>879850
>Я сам поначалу в ready костылял по два yield(get tree(), "idle frame") "чтобы все наверняка загрузилось" и потом удивлялся с трудноуловимых багов.
На что заменил?
Аноним 24/05/23 Срд 14:00:42 879855 332
>>879843
Не сильно, но отличается.
Гайды на конверсию есть
Например вот выглядит вменяемым
https://gist.github.com/WolfgangSenff/168cb0cbd486c8c9cd507f232165b976
Если быстренько по нему пройтись, с чем ты скорее всего столкнешься
Сигналы
button.connect("pressed", self, "_on_button_pressed") --> button.pressed.connect(_on_button_pressed)
yield(get_tree(), "idle_frame") --> await get_tree().process_frame
Аннотации
onready, export, tool --> @onready, @export, @tool
Спавн
tscn.instance() --> tscn.instantiate()
Функции, ноды - большой список
deg2rad --> deg_to_rad
Spatial --> Node3D
change_scene() --> change_scene_to_file/change_scene_to_packed
Свойства
setget --> set(value):... get(): ...
Физика персонажей
KinematicBody --> CharacterBody2D/3D
теперь используется встроенное поле velocity,
Т.е. не надо будет вmove_and_slide передавать переменную,
а надо прямо менять саму velocity.
Шейдеры
Надо в начале самому объявить SCREEN_TEXTURE для постобработки
hint_color --> source_color и прочие переименования
Объекты
if object: --> if object == null:
Аноним 24/05/23 Срд 14:03:56 879856 333
>>879850
>>879847
Во-первых, дяденька, я программист ненастоящий, я годот на стройке нашел. Во-вторых, я вижу эту хуйню и не представляю, как в принципе писать пошаговую игру без нее. Я вот в ужасе представлял, какой огород мне придется городить, чтобы ждать завершения вражеских анимаций в их ход, а тут оказывается, что я могу тупо во вражеский ход пройтись по всем врагам циклом.
Аноним 24/05/23 Срд 14:26:23 879858 334
>>879856
> я вижу эту хуйню и не представляю, как в принципе писать пошаговую игру без нее
Стейтмашиной.
И ваще. В любой непонятной ситуации создавай стейтмашину.
Аноним 24/05/23 Срд 14:31:23 879859 335
>>879858
Интересно как рабодатели к этой идее относятся
Аноним 24/05/23 Срд 14:33:19 879860 336
>>879859
Ну вот например, курсы по юнити (для сравнения) начинаются с объяснения что такое стейтмашина и как она важна в геймдеве. Такшта думой сам, как относятся.
Аноним 24/05/23 Срд 14:34:01 879861 337
image.png 71Кб, 1080x723
1080x723
>>879858
Читаю гайд по стейтмашинам в годоте, а там...
Аноним 24/05/23 Срд 14:35:05 879862 338
>>879861
Это эмуляция реальной работы при помощи пустого таймера.
Аноним 24/05/23 Срд 14:38:40 879863 339
>>879862
>>879861
Я имею ввиду, там можно было и без корутины обойтись, добавив ноду таймер, сделав ей ваншот и в этой функции писать if !timer.enabled: timer.start(2.0) и потом ещё одну функцию приконнектить к таймеру, которая будет делать exit(), но для объяснения сути в рамках туториала проще влепить yield()
Аноним 24/05/23 Срд 14:58:54 879864 340
>>879861
Стейт машина это что то вроде состояний и переходов changeStateTo()
1. ожидание ввода игрока -> 2. ход игрока -> 3. ход противника -> если еще есть противники, то 3 иначе 1
В общем yield тут не обязателен, changeState может вызывать подписанный на сигнал обработчик.
Аноним 25/05/23 Чтв 09:23:00 879935 341
>>879549
Бамп, может кто проверить?
Аноним 25/05/23 Чтв 15:14:11 879969 342
>>879935
Попробую ближе к ночи.
Аноним 25/05/23 Чтв 19:47:15 879990 343
>>879969
Если что в коде со скришота angular upper И lower limit просто тестовые, должны быть (как я понимаю) 180 и -180 (полный оборот) крутится в настройках на правой панели.
Аноним 25/05/23 Чтв 21:12:05 879994 344
>>879990
честно говоря судя по этому https://github.com/godotengine/godot/issues/66335 еще не имплементед в 4-ке, хотя там есть ссылка на довольно свежий бранч где уже добавлены моторы, но нет пружин все равно нет.
Аноним 26/05/23 Птн 04:24:24 880010 345
>>879994
Хоть бы в консоль что выпукивало... ладно я понял.
Аноним 26/05/23 Птн 18:56:52 880045 346
Чем больше и чаще я пользуюсь движком и чем сложнее становится проект, тем сильнее мне хочется удушить блядь к хуям всех его разработчиков. Постоянные баги в редакторе просто нереально выбешивают.
Аноним 26/05/23 Птн 21:06:56 880059 347
Какую версию качать-то?
4.0.3?
И там версия с сирашпом есть и без него. Чем отличаются? Насколько вообще сишарп там норм? Или лучше их языком пользоваться?
Аноним 26/05/23 Птн 21:30:52 880061 348
короче, 3.5 скачал
Хочу с 2д побаловаться
Аноним 26/05/23 Птн 21:31:31 880062 349
А для версии 3.5 будут же баги фиксить или забьют ?
Аноним 26/05/23 Птн 21:45:18 880063 350
Вопрос, а можно ли ассеты - 3д модели из юнита стора юзать в годоте?
Аноним 26/05/23 Птн 22:22:47 880069 351
>>880059
>Какую версию качать-то?
Тред полистай >>877791
>>880059
> Насколько вообще сишарп там норм?
сишарп как сишарп. Им мало кто пользуется, так уж сложилось, новичкам все покрывает gdscript, олдам gdscript+cpp. Но если знаком, можешь и на нем писать.
>>880062
Постоянно фиксят, на сайте же написано что сейчас бета 3.6
>>880063
3д модели как таковые технически можно, из стора хз, надо во первых смотреть лицензию позволяют ли там использовать модель вне юнити, во вторых может быть какие то особые форматы. Так то я и из анрила вытаскивал.
Аноним 27/05/23 Суб 07:33:54 880092 352
1572756302273.png 139Кб, 1291x635
1291x635
Решил отвлечься, все равно игр не делаю
Аноним 27/05/23 Суб 14:37:15 880114 353
>>880092
что это?
Двач в годоте?
Аноним 27/05/23 Суб 14:38:41 880115 354
>>880069
>>880069
о что сейчас бета 3.6

Ну просто они 4 выкатили же.
А скачать с офсайта можно 3.5 только либо 4.1.
Аноним 27/05/23 Суб 16:07:20 880119 355
>>880115
3.6 будет LTS версией то есть поддержка как минимум год-два. 4-ка догонит по фичам/состоянию только в 4.2-4.3.
Скачать беты можно из новостей, там ссылки на репозиторий со всеми версиями.
Аноним 27/05/23 Суб 16:36:32 880121 356
>>880059
> Какую версию качать-то?
Открываешь повершелл, если ты на венде, а если не на венде, а на линуксе, то зачем качать? Юзай пакетный менеджер своего линукса.

Эм, так вот, на венде открываешь повершелл и пишешь:
>Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
>irm get.scoop.sh | iex
Закрываешь повершелл и открываешь заново. Пишешь
>scoop install 7zip
>scoop install git
>scoop bucket add extras
>scoop install godot
Идешь в пуск -> scoop apps -> godot
Открывается свежий стабильный релиз.
Автоматически не обновится, пока не напишешь в помершеле
> scoop update godot
Такшта можешь смело девелопить, не боясь, что внезапным обновлением похерится проект.
Аноним 27/05/23 Суб 17:58:03 880129 357
>>880114
Ага, карп в пакете.
Из серии, прототип делается за день, а потом нерешаемые годами проблемы.
1. Видео. Годот не играет Mp4, потому что патент на H.264 до 2028 года. Значит надо мутить что то с встраиванием плеера, ffmpeg или mpv. Там без пересборки движка не обойтись, потому что надо встраивать окно внутрь opengl как то. Кроссплатформенность тоже под вопросом. Смотрел как другие делают, в Kurobe просто андроидный видеоплеер видимо, или хочешь сам ебись с libmpv.so. Собственно поэтому всякие ffmpeg или mpv распространяются в исходниках, хочешь собрать для себя - все легально, а бинарники распространяют только через какие нибудь балканские сервера где не прилетит DMCA.
С юутубом тоже непонятно, или комбинировать с yt-dlp или п.2.

2. Браузер. Например для капчи. Сейчас капча картинкой, но ведь может вылезти окно Клаудфронта. Или на какой то борде будет гуглокапча. Посмотрел аддон CEF (Chromium embedded), работает, но весит 1 гигабайт, чтобы показать капчу, карл. Может быть это дебаг, особо не ковырялся пока. Еще есть WebView но подозреваю там те же проблемы со встраиванием будут.

3. Просто много мелочевки. Те же теги парсить, прочитал что админы могут в посте любой html писать. Например оформление в /ld веселое. Кэш для загрузки картинок. Переадресация на /arch-ив. Настройки ебойки.
Аноним 28/05/23 Вск 20:56:31 880186 358
Еще один охуенный баг от сынов блядей, из-за которого я страдал как минимум полчаса. Просто боги кода, ничего не скажешь, я уже понял, что если что-то идет не так, то дефолтным предположением должны быть не твои кривые руки, а кривые руки дегенератов, которые программировали движок.
https://github.com/godotengine/godot/issues/74123
Аноним 29/05/23 Пнд 07:25:09 880198 359
>>880129
Теперь ты понимаешь, что браузеры - вершина девелопинга, самый продвинутый и сложный софт на наших устройствах.
Аноним 29/05/23 Пнд 08:14:17 880199 360
>>880198
да он искусственно переусложнен, плюс пилился во многом некомпетентными вкатунами, плюс монолит вместо модульности и линуксвей. Та же гуглокапча - специальная подстава, я где то читал что там загружается скрипт виртуальной машины на JS, и начинает двигать невидимые квадратики и блоки, а поскольку стандарт там та еще ебанина, то вот кривой конечный результат должен совпать с эталоном на сервере.
В принципе сделать перечисленное не проблема, и плеер встроить и капчебраузер, только не приблизит меня к цели - а цель у меня была не капчевалка на годоте, а компактная, кроссплатформенная, легко и легально распространяемая капчевалка.
А сам рендер текста на годоте относительно просто делается, ну может со спойлерами повозиться придется подольше.
В общем пока писал, в очередной раз осознал, насколько прав и Мицгол со своим гипертекстовым фидонетом, и всякие линуксы распространяемые в сорцах. Ладно надо завязывать, пока templeOs2 не начал писать. А еще как вспомню про эту тяночку... https://habr.com/ru/companies/timeweb/articles/734652/
Аноним 29/05/23 Пнд 09:16:11 880200 361
>>880199
Хуйня типа хромиума явно максимально переусложнена, но она также хотя бы работает относительно нормально. Если скачать какую-нибудь хуйню на кастомном движке типа Epiphany, то можно охуеть с того, как 90% сайтов либо не грузится, либо просто крашит браузер. Если бы было просто сделать альтернативу, то они бы уже появились, а так есть только полудохлая мозилла.
Аноним 29/05/23 Пнд 12:25:22 880207 362
>>880199
>да он искусственно переусложнен,

Кто?
Аноним 29/05/23 Пнд 12:43:02 880209 363
>>880207
> Кто?
Хромог не явлется браузером.
Да / Нет
жпг
Аноним 30/05/23 Втр 09:56:58 880255 364
Подскажите пожалуйста, где можно найти репетитора по Godot? На профи ру искал долго - нигде нет.
Аноним 30/05/23 Втр 16:07:10 880269 365
>>880255
Могу основным моментам научить. Потом будешь игру помогать мне делать :3
Пиши сюда: telescope#8606
Аноним 30/05/23 Втр 16:20:06 880271 366
>>880255
Спрашивай что неясно прямо итт.
Аноним 30/05/23 Втр 19:07:47 880283 367
Безымянный.png 52Кб, 1377x823
1377x823
ну и почему так?
angular_speed вроде как равен 3.14 радиан, т.е. 180 градусов.
А поворот на очень малый угол идет.
Аноним 30/05/23 Втр 19:12:58 880284 368
>>880283
Да и вообще вопрос, почему эта функция запускается. Это же вроде просто ее определение (конструктор).
Или она и не запускается? А просто из-за того что вызывается поле класса (rotation) оно само считается? Ну и странно что поле класса встроенного класса никак не выделяется
Аноним 30/05/23 Втр 19:21:03 880287 369
>>880284
А я понял, эта встроенная функция сама запускается каждый фрейм.
Аноним 30/05/23 Втр 19:33:57 880288 370
>>880284
Это называется callback. Да, ты только определяешь функцию, но вызывает ее движок. В принципе большинство таких функций начинается с подчеркивания.
Аноним 30/05/23 Втр 19:37:14 880290 371
>>880283
Тут тоже понял, там же на дельту умножается, а число меду фреймами наверное 0.000001 секунд
Аноним 31/05/23 Срд 07:20:19 880309 372
image.png 26Кб, 466x276
466x276
image.png 10Кб, 487x90
487x90
image.png 7Кб, 637x97
637x97
image.png 3Кб, 278x39
278x39
ЧЯДНТ?
Есть функция которая возвращает значение (пик 1)
Есть функция которая использует предыдущую и сравнивает значения (пик 2)
Есть ошибка которая портит мне настроение (пик 3)
Есть значения которые первая функция возвращает (пик 4)
Почему там какой-то объект а не цифра единичка?
Аноним 31/05/23 Срд 09:21:45 880313 373
>>880309
У тебя видимо туда вывалилось то что в yield(там же не итовое значение), а не return.
Не понял, зачем функция в которой и return и yield
Аноним 31/05/23 Срд 10:21:55 880318 374
>>880313
Да ты прав. Попробовал запустить без yield и все пошло как надо.
Мне нужна была штука которая запаузит выполнение функции, типо wait(). В интернете сказали использовать такую конструкцию. А то что yield что-то возвращает мне даже в голову не пришло, лол
Спасибо за наводку
Аноним 31/05/23 Срд 23:09:58 880367 375
dog-eye-roll.gif 2630Кб, 640x640
640x640
ради интереса попытался портануть свой проэкт с Унити на Годот и ипать тут все супер плохо, то что он в 100 раз меньше весит это конечно круто, но он и в 100 раз больше заставляет тривиальной хуйней заниматься
Вот к примеру как вообще пайплайн 3д игры делать если он не могет импортировать анимации на риг вообще, если скелет не женерик готовский
И это даже не в планах разрабов
Т.е. тут тупо каждую 3д модель надо сразу со всеми анимацими экспортировать, а если нужно добавить анимацю, то весь ассет с нуля переимпортировать
Ну хоть бесплатно

https://github.com/godotengine/godot/issues/71525
Аноним 31/05/23 Срд 23:53:01 880369 376
ahem.png 11Кб, 225x225
225x225
>>880367

Победил данный косяк смешнейшим костылем - сразу вспомнил юность и модинг морровинда
Аноним 01/06/23 Чтв 00:28:35 880372 377
>>880367
>тут все супер плохо
То, что не так как ты привык в свовем первом движке != супер плохо. Это же не клон или копия. Блендер тоже не майя.
Но конечно ручной работы больше, с этим никто не спорит.

>>876327
> если скелет не женерик готовский
Это утверждение вообще непонятно какой смысл несет. В годоте нет встроенных ригов и никаких ограничений на них тоже нет. Иначе как бы анимировали волков, драконов?

>тупо каждую 3д модель надо сразу со всеми анимацими экспортировать, а если нужно добавить анимацю, то весь ассет с нуля переимпортировать
нет, это не так. Это всего лишь один из способов, самый прямолинейный, и в целом логичный и приемлимый - добавил новую пачку анимаций, импортировал, отредактировал animtree и скрипты стейт машин.

Но ничто не мешает тебе экспортировать новый gltf с только нужными новыми анимациями, импортировать их, и уже в самом годоте их перенести на первую модель. В 3-м это делается через save-load .anim файлов из аним плеера, в в 4-м там есть "библиотека анимаций" для подобного. И, кажется, уже и ретаргет для других скелетов запилили, сам не пробовал.

Я описывал воркфлоу который подходит под мои нужды. Это скетчфаб + блендер + миксамо+ годот, ну в идеале конечно еще каскадер и свои анимации.
>>880367
Аноним 01/06/23 Чтв 00:30:25 880373 378
Ссылки перепутались местами. Вот мой процесс >>876327
Аноним 01/06/23 Чтв 00:37:55 880375 379
>>880372

Косяк был в том, что при импорте новых анимаций на основной риг происходила их поломка - стартовые вращения были не правильными, костыль состоит в том, чтобы при импорте новых анимации в -1 кадр им ставить кадр с т-позой(нулевым кадром) тогда все вращения в импортируемой анимации корректы и после этого -1 кадр можно удалять
Аноним 01/06/23 Чтв 00:56:40 880376 380
>>880375
Возможно, я с таким и в других инструментах сталкивался, всегда возможна путаница между рест позой и т позой. Поэтому я стал все.в миксамо тоже от тпозы делать.
Алсо, в каком то скрипте импорта читал, что годот играет с 1 кадра, так что модет он попросту не считывал 0й. Но это уже неточно.
Аноним 01/06/23 Чтв 09:56:10 880386 381
Вкатился в этот ваш игрострой неделю назад. Понемногу осваиваю кодинг. Есть пара проблем, которые мне пока не удается решить:

extends Node2D

var cell_size = 48
var cord = Vector2(0,0)
var gestures = []

func _input(event):

if Input.is_action_pressed("Clicker"):
var pos
pos = Vector2(int(get_global_mouse_position().x/cell_size),int(get_global_mouse_position().y/cell_size))
if pos != cord:
cord = pos
gestures.append(cord)
print(gestures)


Вопрос номер раз: вот у нас появляется после нажатия ПКМ первый элемент массива с координатой (x;y). Как мне вычесть из координат (1;1) координаты (x;y), а затем прибавить полученное значение (x1;y1) ко всем элементам (в том числе к первому)? Координаты (1;1) будут присвоены новой переменной Vector2, а все преобразованные значения будут внесены в новый массив.

Вопрос номер два: как мне поэлементно сравнивать два массива? Хочу, чтобы массив с преобразованными значениями на каждом этапе добавления этих значений сравнивался с некими шаблонами.
Аноним 01/06/23 Чтв 10:18:57 880388 382
У меня один вопрос. Опен ворлд можно накатить в годоте ?
Аноним 01/06/23 Чтв 11:31:57 880391 383
>>880386
Вектора поддерживают математические операции (главное чтобы с обоих сторон от знака были одинаковые типы векторов).

>прибавить полученное значение (x1;y1) ко всем элементам (в том числе к первому)?

Если у тебя список векторов [1,2,3...n] то:

for i in range(len(твой массив)): # возможно вместо len, нужен size
твой_массив += полученное значение (x1;y1)
## возможно твой_массив = твой_массив + полученное значение (x1;y1)


возможно как-то так (не в курсах за gdscript, больше за python)
пройди курс python на stepik
Аноним 01/06/23 Чтв 11:42:26 880394 384
>>880388
Накатить? Мб накодить?

Накодить можно, но нужна инфа от гуру годота по: детализация объектов, область видимости (есть ли они из коробки)
ну т.е. должно быть дерево объектов которое при каждом шевелении камеры обрабатывается, есть оно в кадре или нет (нужно его рисовать или нет и с какой детализацией).
Аноним 01/06/23 Чтв 13:25:13 880398 385
Аноним 01/06/23 Чтв 14:06:56 880399 386
>>880391
upd
>твой_массив += полученное значение (x1;y1)
Аноним 01/06/23 Чтв 14:08:23 880400 387
image.png 17Кб, 556x267
556x267
>>880399
короче я понял, bb коды съели скобки
Аноним 01/06/23 Чтв 14:51:38 880403 388
>>880400
Спасибо, анончик. Будем дальше штурмовать.
Аноним 01/06/23 Чтв 17:22:26 880410 389
полтора разраба тут? мёртвая тема? почему новости не постите?

https://youtu.be/iadb1XyIq4c
Аноним 01/06/23 Чтв 17:45:54 880414 390
>>880391
В общем, эта уеба не хочет прибавлять к массиву вектор. Выдает "Invalid operands 'Array' and 'Vector2' in operator '+'."
Аноним 01/06/23 Чтв 17:52:28 880415 391
>>880414
Все. Исправил. Понял в чем ошибка.
Аноним 01/06/23 Чтв 18:12:56 880418 392
Теперь другая проблема:
extends Node2D

var cell_size = 48
var cord = Vector2(0,0)
var gestures = []


func _input(event):

if Input.is_action_pressed("Clicker"):
var pos
pos = Vector2(int(get_global_mouse_position().x/cell_size),int(get_global_mouse_position().y/cell_size))
if pos != cord:
cord = pos
gestures.append(cord)
var a = Vector2(1,1) - gestures[0]
for i in range(gestures.size()): gestures += a
print(a)
print(gestures)
else: gestures = []

Переменная а прибавляется только к первому элементу массива gesture. Все остальные элементы остаются без изменений. Что-то не так с циклом for?
Аноним 01/06/23 Чтв 18:34:43 880419 393
>>880388
Сделать - можно, но работы надо сделать много (пилю опенворлд мечты потихоньку)
Накатить в виде "закинул ассеты и оно само" - такого нет.
Есть ассет на 3/4 под названием zoneloading, но скорее всего придется делать свой на квадратные чанки. Умный куллинг (для ситуаций когда ты в городе и куча домов перекрывают друг друга) все еще под вопросом.
Аноним 01/06/23 Чтв 18:40:13 880423 394
>>880418
В годоте есть отладчик с брейкопинтами, возьми и пройдись им. Или печатай print.
Поскольку двач съедает форматирование, угадать что у тебя за код невозможно. Может быть у тебя массив всегда или с одним элементом, или стерт последней строчкой else.
Аноним 01/06/23 Чтв 18:42:51 880424 395
>>880375
Еще советую добавить в мастер файл анимацию RESET в которой т-поза и больше ничего. Это тоже может исправить какие-то проблемы. Анимация с таким именем выставляется при сохранении сцены.
Это может помочь если какая-то анимация, скажем idle, выставила не ту позу, и все анимации начинают играться от нее, немного перекошенные.
Аноним 01/06/23 Чтв 18:59:01 880426 396
test.png 50Кб, 1198x541
1198x541
>>880423
Вот сам код. И что за отладчик? И как им пользоваться?
Аноним 01/06/23 Чтв 19:29:15 880430 397
>>880426
Кликнуть слева от номера строки, появится красная точка, в этой точке программа остановится, потом можно нажимать F9 и F10, чтобы выполнять по строчкам. (одна из них заходит внутрь функций).
>вот сам код
Ну моя гипотеза та же , input получает разные события, например движения мыши, во всех эти случаях код попадает в else и опустошает массив.
Попробуй делать print(even) в начале, например.
Аноним 01/06/23 Чтв 19:57:53 880434 398
С# как юзать?
Отдельную сборку годота надо что ли?
И как он вообще, норм? Или ебаться надо будет?
Вроде читал что если шарп, то нельзя на андроид портировать?
Аноним 01/06/23 Чтв 20:22:51 880438 399
>>880434
Да, отдельная сборка в любом случае.
Да, вроде в 4.0 нет C# Android, iPhone и Web HTML.
В 3.х должно быть есть все, давно не проверял, можешь скачать export templates и посмотреть что там в папках.
Аноним 02/06/23 Птн 01:00:24 880452 400
так я не понял
а чо c# медленнее чем gdscript?
Аноним 02/06/23 Птн 01:11:44 880453 401
>>880452
В плане? Я когда писал клеточные автоматы (типа "Жизнь") C# очевидно быстрее был в рассчетах.
Аноним 02/06/23 Птн 03:48:31 880454 402
Куда еще можно закинуть свою инди-хуйню ради пиара? Итч чек, реддит чек. Больше ничего не знаю.
Аноним 02/06/23 Птн 04:20:14 880456 403
>>880454
На торренты в Горячии новинки
Аноним 02/06/23 Птн 05:12:30 880458 404
>>880454
Анону показать не хочешь?
Аноним 02/06/23 Птн 19:36:38 880518 405
>>880458
Я не настолько ебанутый.

Высрал ее еще в твиттер. Выхлоп ожидаемо никакой.
Аноним 02/06/23 Птн 20:00:20 880524 406
concernedfroge.gif 86Кб, 498x427
498x427
>>880518

а чего боишься то
Аноним 03/06/23 Суб 16:25:19 880559 407
Напишите годные уроки на ютубе на русском для новичка, желательно с обзора самой программы.
Аноним 03/06/23 Суб 21:32:32 880577 408
>>880318
> А то что yield что-то возвращает мне даже в голову не пришло, лол
Оно и не могло прийти. Синтаксис не подразумевает этого. Я сам подорвался на этой мине пару лет назад. Если в функции есть илд, то когда он срабатывает, функция возвращает специальный функшн-стейт вместо того, что она должна возвращать.
Аноним 03/06/23 Суб 21:34:40 880578 409
>>880400
> bb коды съели скобки
Разрешите вздушнить?
Юзай пастебин или скриншотируй код.
Аноним 03/06/23 Суб 21:35:15 880579 410
>>880559
Уже давно написаны. Гугли СканерСофт.
Аноним 03/06/23 Суб 21:36:54 880580 411
1685817414972.png 108Кб, 466x460
466x460
>>880518
> Я не настолько ебанутый.
Да не стесняйся, здесь все свои.
Аноним 04/06/23 Вск 10:10:53 880612 412
Аноним 05/06/23 Пнд 01:52:50 880664 413
Почему сайт хуановский лежит? 521 код
Аноним 05/06/23 Пнд 13:03:19 880677 414
>>880664
Траблы какие-то. Починят. Тебе срочно надо?
Аноним 05/06/23 Пнд 17:03:27 880699 415
Аноним 05/06/23 Пнд 18:11:42 880705 416
image.png 12Кб, 225x300
225x300
>>880664
проект годот закрывается
Аноним 05/06/23 Пнд 18:24:18 880706 417
Аноним 05/06/23 Пнд 20:20:32 880717 418
>>880705
Ты тредом ошиблась, дура.
Аноним 05/06/23 Пнд 21:50:07 880735 419
Сегодня обнаружил в четвёрке новый шейдер неба PhysicSky, искаропки. Там реализована смена дня и ночи, но как обычно есть куча нюансов: при дефолтных настройках небо какое-то марсианское, и солнце на горизонте уменьшается, а не увеличивается, как можно было бы ожидать. Кто работал с ним? Делитесь опытом.
Аноним 05/06/23 Пнд 21:52:04 880737 420
>>880735
> реализована смена дня и ночи
О, не дописал. Там позиция солнца автоматом привязывается к имеющемуся в дереве DirectionLight3D и вращая его получаем движение солнца по небу, в т.ч. закат и восход.
Аноним 05/06/23 Пнд 23:18:32 880757 421
Годаны, а что с этим делать?
>WARNING: ObjectDB instances leaked at exit
Точнее, не так. А надо ли с этим что-то делать? Ну, то есть, всё равно же приложение закрывается; движок и сам за собой подчистит, да и ОСь тоже проверит, чтоб ничего не оставалось.
Или как? Или надо обязательно перед выходом всё очищать?
Аноним 05/06/23 Пнд 23:32:59 880765 422
>>880757
> надо обязательно перед выходом всё очищать?
Надо.
Приучайся к чистоте смолоду.
Аноним 06/06/23 Втр 00:39:25 880770 423
>>880677
Срочно. Решил попробовать в годот вкатиться. Мне даже кешированный запрос с загрузкой файла не отдавал данные
Аноним 06/06/23 Втр 01:47:31 880772 424
>>880770
Так ссылки на сборки ведут сюда
https://downloads.tuxfamily.org/godotengine/
Сами сборки делаются тут
https://github.com/godotengine/godot/actions
А документация сюда
https://readthedocs.org/projects/godot
Остаются ассеты, но там в кеше ссылки на гитхаб есть.
И форум Q&A, вот это ценно.
А в остальном это просто лендинг с новостями.
Все, вкатывайся без проблем.
Аноним 06/06/23 Втр 08:13:19 880780 425
168602807723635[...].jpg 134Кб, 720x1600
720x1600
Что это? Как это? Кто на мобиле пальцем делает игры? Для чего оно?
Аноним 06/06/23 Втр 12:50:02 880792 426
>>880770
> в годот вкатиться
А еще вот >>880121 установка через пакетный менеджер для венды.
Аноним 06/06/23 Втр 12:52:43 880793 427
>>880780
Это не для полноценного девелопа, это если у тебя в метро внезапная идея пришла и хочется немедленно обкатать, а до твоей станции с полноценным пекой ещё далеко.
Аноним 06/06/23 Втр 15:10:51 880802 428
>>880793
Т.е. с планшета я не смогу сделать игру для этого же планшета без ПК?
Аноним 06/06/23 Втр 18:20:30 880821 429
image.png 131Кб, 980x715
980x715
Сап, годач.
У меня в игре покадровая анимация, но анимация рук и тела может отличаться. И чтобы не делать каждый раз новый спрайт, захотелось части тело анимировать отдельно.
Добавить новый трек с анимациями рук годот не дает. А при таком использовании animationplayer они перекрывают друг друга и показывается только один
Как все это дело разделить корректно, чтобы я мог тонко настраивать, какую именно анимацию рук/тела показывать?
Аноним 06/06/23 Втр 19:12:26 880835 430
Аноним 06/06/23 Втр 20:46:58 880842 431
Аноним 07/06/23 Срд 14:29:09 880898 432
Аноним 08/06/23 Чтв 14:13:25 881004 433
Dev snapshot: Godot 4.1 beta 1
Аноним 08/06/23 Чтв 22:24:48 881031 434
5edd6aa200457b9[...].jpg 13Кб, 300x300
300x300
И тут я попробовал свой 3д проэкт эскпортнуть в HTML5

>загружается 15 секунд
>на Юнити 4 секунды
>весят одинаково
>3д анимации не работают
>мешы тупо не загружаются
>тач контрол не работает

мне нравится годот но тут уже ничего не сделаешь, для яндекс игр только унити
Аноним 09/06/23 Птн 00:35:03 881037 435
>>881031
Это у тебя в 4-ке что ли? В 3 ке на джемах часто делали 3д экшоны, с мешами и анимациями все было нормально. Время загрузки конечно не быстроею
Аноним 09/06/23 Птн 20:56:08 881088 436
>>881037

На 3ке, десктоп без косяков, но при запуске с андроида все вышеперечысленное
Аноним 09/06/23 Птн 21:36:00 881090 437
>>875148
>большой 2D мир (вид сверху) без пролагов?
Зависит от плотности контента на экране и в твоих чанках. Если у тебя низкое количество уникальных спрайтов на экране, то тормозить нечему. Если у тебя есть места скопления множества уникальных спрайтов, то на слабом компьютере игра может тормозить во время загрузки и отображения тяжёлого чанка (с уровневой системой это не критично, а вот в бесшовном мире будет напрягать игрока). Также зависит от того, нужно ли тебе обрабатывать что-то далеко за пределами экрана или мир за кадром может оставаться в замороженном состоянии. Также зависит от максимальной скорости персонажа, т.к. чем быстрее движение, тем чаще нужно загружать чанки, и если скорость ничем не ограничена, рано или поздно достигается предел ресурсов любого компьютера.

>>875156
>на реализацию чанков потратишь много времени
Базовая чанковая система тривиальна и делается за вечер. Тебе всё равно придётся делать какую-то свою систему сохранения и загрузки состояния мира, если ты делаешь что-то сложнее платформера. Чанковая система - лёгкая надстройка над системой сохранения и загрузки, потому что всё, что она делает - выборочно сохраняет и загружает отдельные фрагменты мира.

>>875160
>по периметру расставляем Area
Не нужно, это плодит лишние сущности.

Делаешь что-то такое:
- Game
- - Map
- - - Chunk1
- - - Chunk2
- - - Chunk3
- - - ...
- - - Player
- - - Mobs
Проверка принадлежности Player к одному из чанков выполняется двумя операциями деления его координат на размер одного чанка (чанки обычно одного размера, этим они отличаются от классических игровых уровней), после чего можно поставить в очередь загрузку необходимых чанков и выгрузку лишних (очередь снизит пиковую нагрузку). Аналогично с мобами, если они могут переходить между чанками и сохраняться в них.

Нет, если планируется делать большую карту из множества разных по форме и размеру фрагментов, скрепляя их между собой "порталами" для бесшовной загрузки, тогда твой подход с облепливанием Area имеет смысл. Можно сделать универсальную ноду-портал с полями для указания следующего фрагмента карты с точкой входа в него, а дальше можно будет сравнительно быстро скреплять между собой фрагменты геометрически невозможными способами (т.е. общую карту невозможно отобразить на двухмерной плоскости). Но я бы не стал называть такой подход "чанковой системой", даже несмотря на то, что в результате получается большой бесшовный мир. Всё-таки вместо квадратных чанков тут произвольные куски и переходы могут быть совершенно любыми, а не только в декартовой системе координат...

Но для обычного бесшовного 2D мира подход с Area не имеет смысла, т.к. чанки одного размера и располагаются в одной плоскости по сетке. Area имеет смысл размещать на входах в пещеры и дома а-ля jRPG, ради удобства левел-дизайна, т.к. такие входы могут быть в произвольных точках карты, а переходы на границах стандартного квадратного чанка расставлять - бессмысленное захламление сцены нодами и потенциально лишние операции на проверку коллизий в движке, что может стать проблемой, если чанки сравнительно маленькие (скажем, на экране умещается несколько десятков чанков при максимальном отдалении камеры - это уже больше сотни лишних Area).
Аноним 09/06/23 Птн 22:42:42 881091 438
>>881088
Попробовал свою игрулю, тоже за 15 секунд до игровой сцены, да вроде терпимо. Надо посмотреть, может если сначала только легковесное меню загружать, быстрее будет. И вообще посмотреть нельзя ли на pck разбить и грузить динамически.
Аноним 09/06/23 Птн 22:45:50 881092 439
>>875926
>гридмап
>мультимеш
Я не знаю, что они там в 4.0 натворили с гридмапом, но в тройке гридмап внутри оптимизируется через мультимеш следующим образом: в настройках гридмапа указаны размеры "чанка" (по умолчанию вроде бы 8x8x8), для которого создаются отдельные мультимеши на каждый использованный в чанке тип блока.

>>875848
>50,50,50 блоков
Если у тебя настройки по умолчанию, то это примерно 343 мультимеша на каждый тип блока, при условии, что каждый чанк заполнен хотя бы одним блоком одного типа. Тебе стоило бы увеличить размер чанка в настройках гридмапа и посмотреть, как это повлияет на производительность.

Мне лично гридмап неудобен тем, что он отнимает много времени на добавление/удаление блоков. Т.е. гридмап достаточно оптимален пока статичен, но частые модификации слишком медленные. Как я понимаю, задержки вызваны необходимостью пересоздать мультимеш на каждое добавление блока. Жаль, что не догадались сделать функции типа glBegin/glEnd.
Аноним 09/06/23 Птн 23:23:39 881093 440
>>876566
>Эрпогэ - вершина геймдева.
Спорно. Хотя бы потому, что есть ММОРПГ.

Алсо под "РПГ" обычно понимают "бей мобов, дрочи циферки, продавай лут", а не килотонны сюжета.

>А Геймдев - вершина айти.
Опять же спорно, потому что есть ПО для космических аппаратов и прочих систем повышенной опасности... Это не какие-то игрушки, слепленные из говнокода и вызывающие перегрев у самых мощных игровых ПК.

>Самая простая игра сложнее самого навороченного КРУДа.
Конструкторы игр давно позволяют сделать свою собственную, уникальную игру любому дошкольнику, просто тыкая на забавные пиктограммы. Кодинг сведён до нуля, достаточно сделать картинки.

>Самая простая эрпогэ сложнее самых навороченных кликеров.
Опять же не всё так просто, потому что кликеры - это максимально редуцированные РПГ. Если в РПГ ты вынужден прорываться через тонны лишней графики и скучных букв для дроча на циферки, то кликер избавляет тебя от этой рутины, давая доступ напрямую к дрочу циферок. А достаточно сложный кликер может иметь столько сюжета и уникальной графики, сколько редко найдёшь в поделках на рпг мейкере с его тайлсетами по умолчанию, которыми школьники завалили все интернеты.

>Мне удивительно видеть, как люди без опыта в айти лезут в геймдев.
Да ты сам поди школотой был, когда первый раз задумался о разработке собственной игры. В айти люди идут чаще всего не по собственному желанию, а потому что там предлагают много денег тем, кто шарит в компах. В геймдеве же всё наоборот: желающие создать игру вынужденно начинают шарить в компах. Вряд ли кто-то мечтает верстать сайты, поднимать сервисы и делать запросы к базам данных, зато многие мечтают создать нечто похожее на игру, которая впечатлила их в детстве. По-моему, это должно быть очевидно любому, кто хоть немного наблюдал за инди геймдевом...
Аноним 10/06/23 Суб 00:07:12 881095 441
167899549485426[...].webm 651Кб, 960x960, 00:00:15
960x960
>>881091

Я почитал, и у Годота пока вообще проблемы с 3д браузерками - на эпле особенно, да и андройде полно косяков, которые надо безумными костылями лечить. Буду следить за его развитием, т.к. легковесный и бесплатный, но для ковки железа пока унити
Аноним 10/06/23 Суб 01:48:16 881098 442
>>881095
Шо поделать, у тебя специфичные требования - чтоб на мобилке, но в браузере. Для мобилок так то нативные приложения делают.
Для веба вообще много легковесных рендеров, я прямо на three.js игры продавал.
Аноним 10/06/23 Суб 01:58:38 881099 443
>>879856
>Я вот в ужасе представлял, какой огород мне придется городить, чтобы ждать завершения вражеских анимаций в их ход, а тут оказывается, что я могу тупо во вражеский ход пройтись по всем врагам циклом.
Этот огород? Или что ты имеешь в виду?
>signal game_over()
>var whose_turn: int = 0
>var units: Array = []
>func _ready() -> void:
>_ units = get_children()
>_ for unit in units:
>_ _ unit.turn_done.connect(next_turn)
>_ units[whose_turn].make_turn()
>func next_turn(dead: bool) -> void:
>_ if not dead: whose_turn += 1
>_ else:
>_ _ if units[whose_turn] is Player: game_over.emit()
>_ _ else: units.remove_at(whose_turn)
>_ whose_turn %= units.size()
>_ units[whose_turn].make_turn()

Я правильно понял, что ты хочешь сделать так?
>signal game_over()
>var units: Array = []
>func _ready() -> void:
>_ units = get_children()
>_ run()
>func run() -> void:
>_ while true:
>_ _ var j: int = 0
>_ _ while j < units.size():
>_ _ _ units[j].make_turn()
>_ _ _ await units[j].turn_done()
>_ _ _ if units[j].is_dead():
>_ _ _ _ if units[j] is Player: game_over.emit()
>_ _ _ _ else: units.remove_at(j)
>_ _ _ else: j += 1

Лично мне первый вариант больше нравится. Не вижу никакого преимущества у второго варианта...
Аноним 10/06/23 Суб 02:33:03 881100 444
youhaveacall.jpg 54Кб, 521x937
521x937
>>881098
>я прямо на three.js игры продавал.
Аноним 10/06/23 Суб 02:48:08 881101 445
>>880367
>тут тупо каждую 3д модель надо сразу со всеми анимацими экспортировать, а если нужно добавить анимацю, то весь ассет с нуля переимпортировать
Таки в чём проблема? У тебя там модель на 100500 терабайт лепнины? Просто закинул в папку и через 0.001 секунды всё импортировалось.

Вроде можно исходные .blend файлы закидывать.
Аноним 10/06/23 Суб 15:41:04 881126 446
Недавно решил вкатиться в этот ваш годот. Рассказывайте, какие тут лимитации. Что в этом говне можно сделать, а что просто тупо нельзя из-за ограничений движка?
Аноним 10/06/23 Суб 19:55:56 881163 447
>>881126
>этот ваш годот
>лимитации
>в этом говне
>тупо нельзя из-за ограничений
Зачем тебе что-то всерьёз объяснять, если ты с порога ругаешься и заранее негативно настроен? Вкатывайся в движок, который для тебя не говно и безлимитный.

Лучше всего на твои вопросы ответит документация:
https://docs.godotengine.org/en/stable/about/introduction.html

Вкратце:
1. Движок опенсурс, весь код абсолютно бесплатно доступен для скачивания, модификации и компиляции без СМС и регистрации; сборки движка и игры на кастомных сборках можно распространять без разглашения изменений, даже в коммерческих целях. Единственное, что от тебя просят - оставить пометку о том, что твой продукт создан с использованием исходников Godot. Свободнее этого может быть только публичное достояние. Таким образом, умея кодить на C++, перед тобой нет никаких ограничений.

2. Если ты не знаешь C++ или не имеешь способности разбираться в чужом коде, ты можешь делать модули для движка на любом языке программирования, который умеет в компиляцию динамически подключаемых библиотек. То есть на любом серьёзном ЯП. Это не даёт модифицировать ядро движка, но может помочь с добавлением функций, для которых нужно нативное взаимодействия с целевой ОС, а также для прикручивания готовых сторонних систем на других ЯП. Можно написать всю основную логику игры как внешний модуль на любом удобном ЯП, чтобы в случае чего быстро сменить движок без переписывания своего кода.

3. Если ты вообще не программист, а вебмакака или скриптопися, то тебе остаётся только использовать доступный из коробки GDScript или какой-то другой скриптовый язык, который прикрутило сообщество, но надёжнее всего официальный GDScript. Из коробки доступно много высокоуровневых компонентов и богатое низкоуровневое API, а также возможность писать свои аддоны и модификации IDE непосредственно в самой IDE, даже без перезапусков. Т.е. ты можешь легко написать свой собственный инструмент и сразу начать его использовать, не отвлекаясь от основного проекта и окна редактора. Таким образом, большинству игр ничего кроме GDScript и встроенных функций не нужно. Ты можешь упереться в ограничение только если тебе требуется какая-то уникальная фича, доступная только на одной ОС, или если ты хочешь выпустить игру на какую-то малоизвестную платформу. Тогда придётся изучать C++ или искать кого-то, кто сможет помочь изменить исходники движка для конкретной особенной платформы.

4. Если ты яждизайнер и рассчитываешь собирать игру из блоков, адаптированных для маленьких детей, то этот движок рассчитан на людей постарше. В версии 3.x был визуальный язык, но его не смогли адаптировать для маленьких детей и поэтому вырезали из 4.x. Говорят, что при наличии желающих визуальный язык вернётся в виде опционального внешнего модуля. В общем, пока что движок не подходит для маленьких яждизайнеров, и если ты попадаешь в эту категорию, лучше посмотреть в сторону конструкторов игр наподобие Game Maker, Scirra Construct, 001 Game Creator и что там ещё опирается на создание игровой логики из визуальных кубиков... сотни их, все наступают на одни и те же грабли.

Есть один нюанс с выходом на никому не нужные игровые приставки: для сборки на них требуется их SDK, но он защищён NDA, поэтому опенсурс движки не имеют юридической возможности сделать экспорт на игровые приставки и остаться при этом опенсурс. Собственно, не велика потеря, потому что игровые приставки имеют наименьшую долю рынка и продолжают умирать, но для извращенцев и ностальгирующих есть возможность либо самостоятельно собрать движок на приставку, либо заплатить кабанчику, который подскочит и сделает это за тебя. Основные разрабы движка несколько лет планируют организовать официальный сервис для сборки на приставки, но, как я понял, это сложно организовать в опенсурс сообществе и желающих издавать игру на приставки в любом случае слишком мало, поэтому эта задача никогда не была в приоритете.
Аноним 10/06/23 Суб 21:17:54 881177 448
>>881163
Не лень тебе перед каждым залетным вкатуном так распинаться?
Аноним 10/06/23 Суб 21:21:01 881179 449
>>881177
Неа, нам не лень, у нас тред дружбомагии и взаимопомощи.
Аноним 10/06/23 Суб 22:19:44 881183 450
>>881179
Ну хуй знает, я б просто зарепортил и в движкосрач отправил. Не тот случай, когда человек заинтересован вкатиться в наше сообщество, так что ж с ним нянчиться?
Аноним 11/06/23 Вск 03:21:19 881199 451
>>881031
А я вот заметил что годот кэширует скачанное, может у тебя унитя тоже закешировалась?
У меня вот такая демка https://gdman.itch.io/godog
(анимированная моделька, лоуполи террйн и пара коробок)
Загружается 14 секунд в первый раз, но потом 4-6 секунд стартует.
Еще видел что gotm.io делает какую то магию перепаковывая pck, но я не смог пока это повторить. Но они уверяют что упаковывают картинки и что то еще в 2 раза, экономя еще 3 секунды.
Аноним 11/06/23 Вск 15:25:56 881221 452
>>881199
>годот кэширует скачанное
Не Godot, а браузер. Браузер скачивает все файлы и затем запускает их. Godot, как и любая другая веб-программа, находится в виртуальной среде браузера, это ограничивает возможности.

На ПК можешь открыть встроенные в браузер средства отладки и посмотреть лично, сколько времени грузится каждый файл. Кэшированные на диск файлы будут отмечены как кэшированные.
Аноним 11/06/23 Вск 18:12:19 881242 453
>>881233
Толсто. Репортнул.
Аноним 12/06/23 Пнд 04:12:52 881270 454
>>881233
Если он такой хороший, то почему у него так мало звёзд (6.3k) и так мало контрибьютеров (225)?
https://github.com/topics/game-engine
Очевидный лидер геймдева очевиден.

>>881265
>оно занимает хуеву кучу места
На гитхабе релиз в мае по 2 Гб в двух архивах.
Аноним 12/06/23 Пнд 08:19:22 881277 455
>>881272
Блять иди создай тред по своему любимому движку и не сри в других тредах. Не создаёшь - так всё равно для выяснений, чей инсталлятор лучше, есть движкосрач. Хули ты тут забыл?

Моча, заебал на репорты не отвечать, потри уже залётного.
Аноним 12/06/23 Пнд 08:49:27 881279 456
>>881272
>определяет значимость проекта пёздачками
А кто будет баги репортить? Я?
А кто будет эти баги патчить? Я?!
А кто будет на это донатить? Я???

Нет уж, если опенсурс - то популярный.

>>881277
>чей инсталлятор лучше
Конечно же install Godot!
Аноним # OP 13/06/23 Втр 00:16:52 881321 457
>>881163
А мне понравился пост. Спасибо. Особенно про приставки и детей-яждизайнеров кекнул. Прямо в точку, бро!
мимоОП
Аноним 13/06/23 Втр 01:12:47 881323 458
Анон какая площадка по обучению годо самая топовая?
Очень понравилось у юнити, простыми и понятными шагами всё делаешь, медальки дают и пр.
Аноним 13/06/23 Втр 07:05:15 881330 459
Аноним 13/06/23 Втр 14:25:02 881403 460
>>881323
>площадка по обучению
Этот наш интернет. Алсо RTFM:
https://docs.godotengine.org/en/stable/getting_started/introduction/index.html

>медальки дают
Если тебе нужны медальки, чтобы изучить игровой движок, тогда, может быть, тебе не нужен никакой игровой движок? Юнити делает всё, чтобы заманить ньюфагов, не удивлюсь, если они лутбоксы/гачу с ассетами сделают, СОБЕРИ ИХ ВСЕ!

>>881330
>учу сам язык
Там скорее туториал по общему программированию, базовые концепции. Если уже знаешь какой-то другой ЯП, эффективнее всего прочитать это:
https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_basics.html
И дальше только API движка останется изучать.
Аноним 13/06/23 Втр 16:28:32 881420 461
>>881403
>Если уже знаешь какой-то другой ЯП
Я в свое время учил питон, так что знаком со многими концепциями, но неплохо было освежить память. Кстати, я так до сих пор и не решил, пилить ли игру на годоте или лучше уж взяться за C# и начать делать на юнити. В основном отталкивает то, что для годота мало туториалов и в целом комьюнити намного меньше чем у юнити.
Аноним 13/06/23 Втр 16:48:42 881423 462
Вы не в курсе, тайлмапу из четверки в 3.5 не собираются бэкпортнуть? Сейчас вот никак не могу выбрать, какую из версий выбрать - четвера все еще багованная и все мануалы и уроки по трехе, но тайлмапа в четвере больно батая.
Аноним 13/06/23 Втр 17:13:04 881428 463
Решил попробовать в 3Д разработку (раньше обходился моддингом 2Д игорь, Fonline тот-же), взор пал на Годот т.к. ВРОООДЕ весь из себя охуенный, нигде регистрировацца не надо и двигло в одном бинарнике.
Запустил значит блядь, сделал максимально примитивную сценку, и что я сука вижу? CollisionShape-ы нихуя не работают, как-бы я их не сувал, я их неправильно использую или двигло действительно настолько уёбищно и придётся танцевать с бубном из-за мелочей?
Аноним 13/06/23 Втр 17:15:33 881430 464
>>881423
Я искал и не нашел планов. Скорее всего таких планов нет т.к. это ломающее изменение для 3.х.
Тоже выбрал 3 для таких целей, хоть тайлмапы и хороши в 4. Но мне хочется стабильный экспорт в веб.
Аноним 13/06/23 Втр 17:17:47 881431 465
>>881428
Покажи скрин как ты их расставил. Ты какой то туториал делал? Документацию читал?
Аноним 13/06/23 Втр 17:38:43 881437 466
23061821612.png 1355Кб, 1440x847
1440x847
23061820832.png 15Кб, 528x189
528x189
>>881431
Расставлял нажимая меш - создать вогнутое стат. тело, не по туторам, без документации, да и она нихуя ответов не дала, на шейпах ещё вот такая ошибка (пик).
Аноним 13/06/23 Втр 17:43:07 881440 467
>>881437
>не по туторам, без документации
Ну так начни с них.
>Вот такая ошибка
Ну вот видишь, движок сам тебе пишет что у тебя неправильно - не униформное масштабирование.
Аноним 13/06/23 Втр 17:48:21 881444 468
>>881440
>Ну вот видишь, движок сам тебе пишет что у тебя неправильно - не униформное масштабирование.
И? Мне это ни о чём говорит, фиксить как?
Аноним 13/06/23 Втр 17:56:16 881446 469
>>881444
Это значит что масштабы по осям должны быть 1 1 1
Аноним 13/06/23 Втр 17:58:54 881447 470
>>881446
Пофиксил, оно всё ещё не работает.
Аноним 13/06/23 Втр 18:04:46 881448 471
>>881447
У тебя, судя по скрину, Area, а не StaticBody.
Area это область триггеров, а не стена.
Начни с туториалов, я не шучу.
Аноним 13/06/23 Втр 20:29:15 881451 472
>>881420
>отталкивает то, что для годота мало туториалов
Туториалы полезны только полным новичкам. Godot - это просто набор инструментов, а как их использовать ты должен придумать сам. Документация Godot достаточно хорошо описывает эти инструменты, а в туториалах чаще всего объясняют высокоуровневые вещи вроде инвентаря или шкалы здоровья, которые +/- одинаково делаются на любом движке, потому что высокоуровневые.

Короче, если ты хорошо знаешь Godot, тебе подойдёт практически любой туториал от движков похожего или более низкого уровня (естественно, не подойдёт туториал про то, что делается одной кнопкой на более высокоуровневом движке).

Помню, искал какую-то идею, и нашёл её в туториале для юнити или чего-то похожего, после чего понял и быстро сделал на Godot.

>в целом комьюнити намного меньше чем у юнити
Ну, главное что разработчиков движка много и они слушают коммьюнити. У юнити со связью между разработчиками и коммьюнити объективно хуже, т.к. они там нацелены на максимизацию прибыли, а не на разработку инструмента для людей.

Год назад был скандал из-за этого, некоторые пользователи демонстративно ушли из-за этого на Godot, UE или другие движки, а акции юнити аж просели несколько раз.

И потом, даже если коммьюнити маленькое, оно может свободно модифицировать Godot на своё усмотрение, даже если разработчики пойдут куда-то не туда. В то время как коммьюнити юнити только ассеты делать может, никаких тебе свободных и независимых форков...
Аноним 13/06/23 Втр 20:46:12 881453 473
>>881437
>не по туторам, без документации
Вот это хотя бы почитай:
https://docs.godotengine.org/en/stable/tutorials/physics/physics_introduction.html

Я понимаю твоё разочарование. Я сам первый раз пытался вкатиться в Godot без чтения чего-либо, т.к. интерфейс Godot создаёт обманчивое впечатление максимальной интуитивности, как в какой-нибудь видеоигре. Типа, я думал, что может пойти не так? Щас тяп-ляп и буду играть... Но нет. Психанул и забросил примерно на полгода/год. Потом решил попробовать снова, но в этот раз я попробовал пройти официальные туториалы из документации. И получилось! Признаюсь честно, за 3+ лет экспериментов с движком я не прочитал, наверное, даже половину документации, но прочитанного оказалось более чем достаточно для реализации разных моих идей.

Так что давай не упирайся, читай. Часть старой документации даже переведена на русский, как сейчас дело обстоит с переводом не знаю (даже английскую ещё не полностью проверили после повышения мажорной версии движка, но в целом всё норм).

>>881428
>Решил попробовать в 3Д разработку (раньше обходился моддингом 2Д игорь
Разработка игр с нуля сильно сложнее моддинга существующих игр, а разработка 3D игр по многим причинам сложнее разработки 2D игр. Кроме того, твои первые самостоятельные поделки гарантированно будут говном, которое придётся выкинуть или переделать с нуля. Поэтому лучше начни с туториалов по созданию 2D игр, прежде чем бросаться в 3D. Я и сам пытался начать с 3D, но теперь признаю свою ошибку.
Аноним 14/06/23 Срд 01:56:47 881486 474
>Godot 4.1.beta1
@
>Reload Current Project
@
>Alert!
>Scene file 'box.tscn' appears to be invalid/corrupt.

Попробовал бету, называется...

Алсо, почему-то preload(”box.tscn").instantiate() создаёт экземпляр сцены без скрипта. У всех такое или у меня сцена сломана? Я попробовал создать новую сцену с такими же свойствами, она опять сломалась.
Аноним 14/06/23 Срд 13:47:33 881516 475
>>881453
>Не упирайся
Да не упираюсь, ну это пиздец просто когда в туторах говорят мол ПРОООСТО поставьте коллижн шейп, а он через раз работает, особенно те, которые сгенерены для моделей, щас тестовую руму сделал в блендере, сунул в двигло, сгенерил коллижн шейп, а он не работает.
Аноним 14/06/23 Срд 14:56:33 881519 476
>>881516
>говорят мол ПРОООСТО поставьте
1. Перескакиваешь с темы на тему вместо изучения по порядку с самого первого урока?
2. Читаешь/слушаешь невнимательно, пропуская абзацы или перематывая видео?
3. Мог невнимательно повторить шаги. Всякое бывает.
4. Иногда в туториалах ошибки. Особенно в устаревших. Особенно на Ютубе. Особенно от пискливой школоты.
5. Иногда ошибки нет, просто туториал плохой, из-за того, что большинство авторов туториалов не учителя. Они хорошо знают предмет, которому пытаются учить, но не знают, как правильно учить новичков.

>которые сгенерены для моделей, щас тестовую руму сделал в блендере, сунул в двигло, сгенерил коллижн шейп, а он не работает.
Реалистичная симуляция физики ресурсоёмка и склонна к ошибкам, поэтому во всех игровых движках физика ВСЕГДА состоит из упрощений и костылей.

В результате типичный физический движок реального времени, предназначенный для видеоигр, предлагает несколько видов физических тел и форм коллизии. Использование каждого вида тела и формы имеет преимущества и недостатки, поэтому выбирать нужно в соответствии с конкретной задачей.

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

Формы коллизий ещё более разнообразны. Самые простые представляют собой геометрические примитивы: в 2D это круги и прямоугольники, в 3D это сферы, параллелепипеды, цилиндры и т.п. Простые формы очень важны, потому что позволяют физическому движку использовать быстрейшие алгоритмы. Как правило, намного эффективнее составить большой физический объект из этих примитивов: игрок не заметит разницы, а игра будет работать быстрее и движок будет реже допускать неизбежные ошибки.

Следующей по сложности идёт выпуклая форма. Как следует из названия, эта форма коллизий изображает сложное тело, но оно всегда выпуклое. Вычисления сложнее, но всё же выпуклость позволяет экономить, поскольку формула проверки вхождения точки в выпуклое тело намного проще произвольного тела. В некоторых случаях может быть лучше использовать одну или несколько выпуклых форм, чем пытаться повторить сложную форму базовыми примитивами.

Естественно, одним выпуклым телом не симулировать коллизии помещения или пещеры. Поэтому для особо сложных случаев используется самая тяжёлая форма коллизий - т.н. "тримеш". Эта форма состоит из треугольников точно так же, как обычный 3D меш, но оптимизирована для физических вычислений. Однако вычисления всё равно очень сложны (для компьютера и разработчика движка), поэтому такие формы можно использовать лишь для статических тел.

Есть и другие специальные формы и тела, например, специальная форма для карты высот и "мягкое" тело, но ты пока этим голову не забивай.

Вот это всё ты должен был знать после чтения базовой документации. Там это так или иначе объясняется, ибо это базовая информация для разработки игр.

Конкретно в твоём случае тебе скорее всего нужен один StaticBody3D и множество CollisionShape3D в нём, которые ты должен вручную заполнить примитивами - в основном это будут параллелепипеды для стен и объектов, визуально похожих на коробку.

Конечно, ты можешь сгенерировать тримеш для целой локации. Но это может быть весьма неэффективно, особенно если у тебя очень тяжёлая геометрия меша. Всегда в первую очередь рассматривай примитивы - параллелепипеды, сферы, цилиндры, затем выпуклые формы, и только на крайний случай бери тримеш.
Аноним 14/06/23 Срд 15:04:44 881521 477
>>881519
О, слухай, к тебе вопрос, если ты спец по кискам коллижнам. Вот я собираюсь делать шутан по типу вольфа3д, трехмерный, но в одной плоскости, и с квадратно-гнездовой картой. Как мне лучше колижны для гридмапы делать, с точки зрения производительности - тримеши, чтобы они потом запеклись в один большой тримеш, или кубы?
Аноним 14/06/23 Срд 15:31:43 881524 478
>>881521
>колижны для гридмапы
>они потом запеклись в один большой тримеш
Хм? А такое вообще возможно? Я не видел функций склеивания тримешей. GridMap, насколько понимаю, создаёт один StaticBody на один "чанк", заполняя его коллижен шейпами. По моим тестам, можно пихнуть примерно тысячу шейпов в один боди, прежде чем начнутся проблемы с производительностью.

Я проверил в коде движка. Да, всё верно: есть один статикбоди на чанк (октант), заполняется шейпами максимально тривиально, вот в этой строчке:
https://github.com/godotengine/godot/blob/master/modules/gridmap/grid_map.cpp#L632
>PhysicsServer3D::get_singleton()->body_add_shape(g.static_body, shapes[ i ].shape->get_rid(), xform × shapes[ i ].local_transform);

Короче, лучше использовать примитивные кубы.

Хотя есть вероятность, что тримеши одного статикбоди склеиваются где-то внутри физического движка, но я бы не надеялся на это.
Аноним 14/06/23 Срд 15:33:12 881525 479
>>881524
Ну вроде я слышал, что склеиваются.
Аноним 14/06/23 Срд 15:38:29 881526 480
>>881525
В GridMap, PhysicsServer3D или в Godot Physics 3D?

В GridMap, как видишь, шейпы не склеиваются.

Самое надёжное - провести краш-тест, заполнив гридмап огромным количеством кубов.
Аноним 14/06/23 Срд 15:51:32 881528 481
>>881525
Я мельком глянул код физики - не нашёл ничего про склеивание тримешей. Они обрабатываются так же как и остальные виды шейпов, без склеивания.

Поищи сам, если хочешь:
https://github.com/godotengine/godot/tree/master/servers/physics_3d

Возможно, там, где ты это читал/слушал, перепутали склеивание нескольких тримешей в один шейп с комбинацией нескольких шейпов в один боди.
Аноним 14/06/23 Срд 22:46:20 881563 482
>>881486
Там вроде предупреждение перед запуском - делайте бэкапы.
4.1 пока не ковырял, вообще 4-ку пока отложил, у меня тут пара проектов на 3-ке поперла.
Аноним 14/06/23 Срд 23:05:23 881565 483
>>881563
>делайте бэкапы
Так я новый проект начал делать для теста. Менеджер проектов 4.1 про проекты 4.0 пишет что-то типа:
>в данной версии могут отсутствовать функции
- типа в 4.1 что-то вырезали? Не слежу за новостями.

>вообще 4-ку пока отложил, у меня тут пара проектов на 3-ке поперла.
Не особо ждал выход 4.0, но как-то грустно оставаться на устаревшей версии, когда всё самое интересное делается исключительно для 4.х. У меня нет какого-то большого проекта и терять особо нечего, поэтому думал постепенно перейти на 4...
Аноним 15/06/23 Чтв 22:08:05 881659 484
Вид из окна с д[...].jpg 72Кб, 960x600
960x600
Пикрил кто-нибудь помнит? Нет, я ничего не сделал за последние три месяца и хотел совсем забить на проект, но как-то жалко бросать эту идею.

Концепция игры последние лет пять была такой:
1. Игрок выбирает параметры своего персонажа и нового игрового мира (место, масштаб и т.п.).
2. Игра процедурно генерирует конечную карту с городом по центру и начинает моделировать жизнь его жителей на каком-то уровне точности.
3. Игрок делает что захочет, зарабатывает деньги, репутацию, отношения с жителями, обустраивает себе дом, возится с машиной и т.д.

Что я делал? В основном пытался сделать интересную процедурную генерацию, но не смог придумать ничего интересного. Жителей я вообще забросил, потому что без строго сформулированного мира непонятно, какие задачи они должны решать. Да и чем конкретно игроку следует заниматься я тоже не особо представлял.

Сейчас я размышляю о том, как можно переделать эту концепцию во что-то более реалистичное и интересное, оставив суть проекта без изменений.

Меня вдруг осенило, что если игрок играет в одном и том же городе, имеет в нём что-то ценное, то у него нет мотивации начинать игру в новом городе, а тогда вся эта процедурная генерация не имеет никакого практического смысла. Я даже думал о том, чтобы отказаться от процедурки в пользу ручного редактора карты, но меня это не привлекает. То есть лично мне по кайфу копаться в алгоритмах генерации, но базовый геймплей не расположен к использованию этой генерации. Значит, нужно менять геймплей.

Вторая важная проблема - в симуляции жителей. Мне хотелось максимально "честную" модель, которая не использовала бы обманные манёвры как это обычно происходит в большинстве игр. Понимаю, это сложно реализовать, но проблема в том, что игрок не увидит и процента всей этой сложности, кроме процентов в диспетчере задач, лол. Было бы приятно развивать отношения с одним NPC-персонажем, но жизнь сотни фоновых персонажей смысла не имеет.

Одним из решений мне видится превратить игру в некое подобие роад-муви: игрок может двигаться по дорогам бесконечно долго, пока игра будет генерировать новые города с временным глупым населением и полностью забывать те, из которых игрок уехал. В этом случае процедурная генерация раскрывается в полной мере, а на симуляцию жителей можно с чистой совестью положить большой гаечный ключ, которым игрок ремонтирует свой транспорт. Также игрок мог бы взять с собой NPC, обменять свой ржавый запорожец на автодом, заполнить его мебелью и т.д.

Похожие идеи у меня были и раньше, но я не пытался применить их к этому проекту. Как минимум не ясно, что должно двигать игрока вперёд кроме любопытства и скуки, потому что надвигающийся апокалипсис или другую угрозу я делать не хочу. Если у игрока полный контроль над транспортом, он может и назад повернуть, верно? Будет ли слишком странным встретить на пути назад совершенно другую местность? Или ту же самую местность с теми же самыми жителями, которые вообще никак не изменились за прошедшее в игре время? В общем, такие вопросы в своё время заставили меня отказаться от бесконечной генерации мира а-ля Майнкрафт.

Самое смешное, что временное название проекта на идею роад-муви ложится лучше всего того, что я рассматривал в прошлом, лол.

Видел игры с похожей концепцией, но там слишком примитивный геймплей и мир, уровня раннеров. Не хочу деградировать до уровня раннеров, поэтому базовый геймплей остаётся а-ля GTA.

Помню, большую часть времени регулярно генерировал заново ландшафт/город/дома, вообще не задумываясь о сохранении и загрузке, потому что они мешали бы тестировать генерацию. Если бы я сделал полноценный геймплей и начал играть, тестировать генерацию можно было бы только в отдельном новом мире. Сейчас думаю, что с геймплеем "бесконечное путешествие по дороге" генерацию можно тестировать на одном и том же сохранении, ведь города как таковые сохраняться вообще не должны.

Одной из идей было развивать сад/огород и подобную недвижимость. Однако, что мешает дать возможность сажать растения прямо на транспорте? Видел такое в некоторых играх. Тем более игрок может всегда остановиться, разбив временный лагерь или сняв на время какой-нибудь домик. Впрочем, опять не ясно, что должно стимулировать игрока на движение, если он может сидеть на одном месте.

А нужно ли вообще стимулировать к чему-то? Я вроде песочницу пытался сделать...

С технической стороны думаю сделать генерацию бесконечным графом: узлы - города и развилки, рёбра - длинные междугородние дороги. Квадратно-гнездовой подход останется, надеюсь придумать больше разнообразных блоков-тайлов. Генерировать карту высот мне не очень нравится, больше привлекает ощущение автоматизированного конструктора Лего. Может быть, доделаю редактор деталек а-ля встроенный инструмент моддинга, нужно подумать.

Думаю продолжить пока на Godot 3.x, а то 4.x намного больше проблем имеет.

Кого-нибудь здесь это вообще интересует?
Аноним 15/06/23 Чтв 22:13:50 881661 485
16802500121960.jpg 2235Кб, 3840x2160
3840x2160
>>881451
>>881451
>Помню, искал какую-то идею, и нашёл её в туториале для юнити или чего-то похожего, после чего понял и быстро сделал на Godot
Аноним 15/06/23 Чтв 22:20:31 881664 486
>>881659
>Пикрил кто-нибудь помнит?
Конечно, редкий приятный проект на дваче, одна из причин все еще иногда заходить в /gd
Аноним 15/06/23 Чтв 22:49:16 881667 487
>>881659
Не слишком масштабно для одного,
Аноним 16/06/23 Птн 23:04:41 881777 488
Вопрос.
Насколько тяжко будет в годоте запилить клон Горячей Майамы человеку, не слишком хорошо погромирующему?
Или уже есть шаблончик под такое
Аноним 16/06/23 Птн 23:39:01 881781 489
>>881777
>Насколько тяжко будет в годоте запилить клон Горячей Майамы человеку, не слишком хорошо погромирующему?
Ну давай разберём по частям тобою написанное.
1. Что значит "тяжело"? Что ты готов превозмогать, а что заставит тебя всё бросить и уныть?
2. Что значит "клон Hotline Miami"? Ты хочешь бездушную копипасту или готов импровизировать?
3. Что значит "не слишком хорошо"? Что ты реально программировал, на чём, смог ли понять свой код?

>шаблончик под такое
Поищи сам. Hotline Miami - топдаун шутер, весьма популярный жанр, что-то наверняка должно быть.
https://duckduckgo.com/?q=godot+top+down+shooter+template
Аноним 17/06/23 Суб 11:31:17 881810 490
Аноним 17/06/23 Суб 12:09:36 881813 491
>>881810
Это вопрос (вместо запятой в конце).
Аноним 17/06/23 Суб 18:31:52 881854 492
>>881659
В общем, представил как это будет, потестил прототип с одной прямой дорогой, подумал над вариантами.

Однозначно хочу чтоб было высокое разнообразие дороги, а не сплошная прямая трасса. Петляющие между холмами участки, участок спуска с отвесной скалы, участок в гору, участок с мостом через реку, участок через какое-нибудь визуально приятное поле/луг, участок вдоль моря, редко встречающиеся одинокие домики и т.п. Одним словом, чтоб было на что посмотреть и чтобы не было бездумного зажимания кнопки W, иначе смысл теряется.

Да, можно сделать всё это вручную, но тогда это будет просто набор случайно выпадающих кусочков - проехав по одному, остальные будут слишком похожими, ну и смысл тогда куда-то ехать, если тебя ждут только повторы уже виденного? А как это чисто процедурно генерировать я вообще не представляю, слишком большое количество разных вариантов, которые нужно учитывать.

Нужно применить декомпозицию, от общего (дорога без конца) к частному (участки дороги). Вообще, мне следовало бы концепт-артов накидать сначала...

На одном только вдохновении далеко не уедешь, а когда я тот пост набирал - думал за один вечер до интересного прототипа довести(

>>881664
>Конечно, редкий приятный проект на дваче, одна из причин все еще иногда заходить в /gd
Спасибо, конечно, хотя не верю, что ты это серьёзно. В разделе полно достойных, полноценных игр, а я несколько лет ковыряю прототип, в котором до сих пор ничего нет, кроме смутных хотелок чего-то.

>>881667
>Не слишком масштабно для одного?
Смотря как посмотреть. Реализм не потяну, но я и не пытаюсь в него. На данный момент проблема не в потенциальном масштабе, а в том, что я не знаю точно, что именно я хочу/стоит реализовать.

Геймдизайнер из меня точно никакой...
Аноним 17/06/23 Суб 21:58:18 881868 493
>>881854
>В разделе полно достойных, полноценных игр, а я несколько лет ковыряю прототип, в котором до сих пор ничего нет
Абсолютно искренне. Твой прототип выглядит очень выгодно на фоне - либо доделанных, но неинтересных или некрасивых игр (пиксельный шутемап, майнкрафтовый рогалик, прыгаюший квадрат с меню, проклятые анимепанцу), либо недоделанных и некрасивых (котлоферма), либо недоделанных красивых (что-то про летающую аниме с копьем, некоторые заброшенные поделия с твг, вроде пинк девочки). А больше ничего и не вспоминается. А, еще есть пара типа-реализмов про постсовковые дворы, но это другая направленность, у тебя как то более жизнерадостно. Ну ты продолжай пилить прототипы, так и запилишь что то.
Аноним 18/06/23 Вск 00:45:21 881885 494
Проехал 40 км.jpg 91Кб, 1440x847
1440x847
Прототип бескон[...].mp4 10520Кб, 800x600, 00:02:34
800x600
Симуляция ткани[...].jpg 61Кб, 900x900
900x900
>>881854
>будут слишком похожими, ну и смысл...
Подумал ещё и ВНЕЗАПНО вспомнил, что от честной генерации а-ля майнкрафт толку ровным счётом ноль, потому что даже если все участки карты технически разные, субъективно разница между ними как между тарелками одной и той же каши.

Тогда решил всё-таки собрать прототип на вручную смоделированных блоках и... получились какие-то рандомные американские горки?.. Кстати, пробовал ехать как можно дольше - спустя 40 км (!) надоело ждать проявления этих глитчей:
>There may also be rendering and physics glitches due to floating point error in large worlds. You may be able to use techniques such as orienting the world around the player (rather than the other way around), or shifting the origin periodically to keep things centred around Vector3(0, 0, 0).
Если делать дорогу реально бесконечной, то, конечно, сдвигать мир придётся. Но для обычной игры должно хватать точности без этого сдвига. Я про ГТА, в космосимах совсем другие проблемы, конечно.

В любом случае, я вспомнил, что в попытках сделать генератор забыл о самом главном - геймплей. Его нет. По идее, главным должен быть геймплей-луп:
>A gameplay loop consists of a cycle of actions that you repeat over and over within a game.
Раньше идея была "просто жить в городе", так что я вообще не представлял, что именно делать нужно.

Теперь... Допустим, можно так:
1. Едем куда глаза глядят по дороге;
2. Доезжаем до случайного "города" (3.5 домика);
3. Делаем мелкие задания (?) жителей, зарабатывая деньги на всякие шмотки, запчасти, топливо и т.п.;
4. Едем дальше, поскольку контент размазан между городами, в одном городе никогда нет 100% контента. Каждый город своего рода процедурный лутбокс. Ну, можно сделать ресурс каждого города конечным. Скупил всё что мог - пополнения товаров не будет.

Плюс можно напридумывать много побочных лупов, особенно в виде случайных событий на дороге. Типа подбросить кого-то до города, или поменять колесо. Следить за параметрами персонажа, чтобы не уснуть прямо за рулём в дороге, делать остановки.

Что делать с возможностью ехать в обратном направлении пока не знаю, нужно ещё подумать. Наверное, стоит сохранять на диск минимум один город вместе с дорогой до него. Потом удалять.

Глобальную мировую карту генерировать не хочу...

>>881868
>Твой прототип выглядит очень выгодно на фоне
Эээ, ну, даже не знаю. Я просто накидал кислотных коробок и мучаюсь с кувыркающимся VehicleBody.

Графика плейсхолдерная, чтобы прикинуть габариты и запилить геймплей раньше графики. Но да, хочу что-то сравнительно жизнерадостное...

>некрасивых игр
>проклятые анимепанцу
Что там некрасивого, вроде норм. Тоже хочу что-то похожее на аниме сделать, но это сложно. А готовые модельки использовать не хочу.
Аноним 18/06/23 Вск 01:41:55 881895 495
>>881885>>881659
Просто лорно объясни почему города пропадают и не парься с возвращением. Будет что в какую бы сторону игрок не ехал он едет вперед и там всегда что-то новое.
Аноним 18/06/23 Вск 02:29:32 881897 496
Если кому интересно, как сделать плавно изогнутые дороги в блендере, то это чрезвычайно просто:
1. Делаете первую, прямую секцию дороги.
2. Кидаете модификаторы Array и Curve.
3. Создаёте Path или другую кривую.
4. ??? ...играете настройками, сабдивом и т.д.
5. Восхитительно плавная дорога!

>>881895
>лорно объясни почему города пропадают
Была подобная идея для другой игры, а в этой я планировал сделать относительно наш мир. Да и объяснение ещё придумать нужно адекватное.

>Будет что в какую бы сторону игрок не ехал он едет вперед и там всегда что-то новое.
А если пропустил/забыл что-то и хочешь назад? Много причин вернуться хотя бы в последний пройденный город. Так что некоторый "хвост" стоит поддерживать. Я бы и сам этой фичей пользовался.

Представь, потерял капот по дороге, в городе нашёл подходящий, но денег не хватает, поехал дальше и случайное событие дало достаточно денег, едешь обратно весь такой в предвкушении, а там ДРУГОЙ город и никакого капота в продаже нет...
Аноним 18/06/23 Вск 04:45:36 881904 497
>>881897
>Была подобная идея для другой игры, а в этой я планировал сделать относительно наш мир. Да и объяснение ещё придумать нужно адекватное.
Так хуле проблема? Пусть игрок сюжетно от чего-то бежит. Скажем, от закона или карточных долгов. Если вернуться в прошлый город, тебя там встретит полиция или мафия, которой ты должен. Получится такое-то охуенное роуд-муви. Если вариант с долгами, то это можно даже сделать целью игры (хотя бы для одной из концовок) - заработать денег, чтобы его вернуть.
Аноним 18/06/23 Вск 06:39:48 881908 498
>>881904
>сюжетно
Ааа... Ясно, забыл сказать, что сюжета нет, игра не должна обязывать игрока делать что-то по сюжету.

Вот в ГТА тебе игра постоянно меткой на карте напоминает, ещё персонажи названивают. Иди сюда, делай то, делай это, вот 50$ на чай, теперь уходи, но оставайся на связи до следующего задания.

А в Майнкрафт есть дракон и даже титры, но игра не сообщает об этом, не показывает стрелочкой, куда идти и что делать. В Террарии есть порядок боссов и игра может наслать на тебя события, но она не принуждает тебя развиваться и вызывать боссов.

Вот сеттинг и геймплей меня в ГТА привлекает, но сюжет всегда казался лишней рутиной. Я зашёл покататься по городу и поиграть в мини-игры, а с меня тут требуют что-то, задолбали...

Так что в своей игре я задумывал 100% песочницу без принудиловки. Заспавнился в городе и делаешь что пожелаешь в рамках доступных возможностей. Не торопишься никуда, не занимаешься рутиной. Хочешь быть гангстером в бегах - будь, хочешь быть кем-то другим - тоже можешь без проблем. Всерьёз думаю о создании грузовиков и грузоперевозок - но только как опция, как та побочная миссия в GTA SA. Не хочешь возить грузы - не проблема, игра не заставит.

Ладно, эти вопросы можно потом решить.
Аноним 18/06/23 Вск 13:57:13 881925 499
>>881908
Я не говорю тебе прямо прописывать сюжет. Просто дать установку - вот мол, нельзя вернуться назад потому то потому то. Или вообще пусть ГГ при попытке вернуться в позапрошлый город говорит "Я не могу вернуться назад" и многозначительное многоточие, а еще лучше - придумай побольше всяких подобных ничего не значащих, но меланхолично звучащих фраз и выдавай их случайно.
>я не могу вернуться назад...
>я оставил былое позади...
>прошлое может настичь меня там...
Критики тебя потом на руках носить будут, а игроки будут СПГСить как умалишенные.
Аноним 18/06/23 Вск 20:02:50 881966 500
Туннель и микро[...].mp4 765Кб, 800x600, 00:00:25
800x600
>>881925
Меня больше волнует, что делать со всем остальным, что вокруг дороги. Растягивать тайлы на несколько километров в ширину? Делать горы, заборы и сплошные стены из деревьев а-ля первая Мафия (частично вдохновлялся одной загородной миссией, там какая-то очень длинная дорога с кучей поворотов и ландшафт прикольный, но съехать с дороги нельзя из-за заборчиков)? Или прикрутить карту высот с шумом Перлина? Я уже не уверен, что это опенворлд, если мир вытянут в бесконечную кишку с невидимыми стенами по бокам, даже если по пути этой кишки встречаются локации-города.

Блин, пока что получается что-то ближе к аркадным гонкам-раннерам, чем к ГТА.

Но, может, оно и к лучшему.
Аноним # OP 19/06/23 Пнд 00:43:30 881992 501
1687124610865.png 31Кб, 160x160
160x160
Накидайте арта для переката, плиз, годаны, а я завтра перекачу.
Аноним 19/06/23 Пнд 01:01:55 881993 502
>>881966
делай дальнобойщиков.
Аноним 19/06/23 Пнд 01:04:22 881994 503
1579891818175.png 110Кб, 194x259
194x259
Аноним 19/06/23 Пнд 17:43:11 882068 504
50yoru8al0u61.png 1750Кб, 1080x1350
1080x1350
godotte-3d-mode[...].jpg 45Кб, 1080x1080
1080x1080
godotte-3d-mode[...].jpg 52Кб, 1080x1080
1080x1080
Аноним 19/06/23 Пнд 17:44:22 882069 505
godotte-3d-mode[...].jpg 40Кб, 1080x1080
1080x1080
godotte-3d-mode[...].jpg 49Кб, 1080x1080
1080x1080
godotte-3d-mode[...].jpg 53Кб, 1080x1080
1080x1080
Аноним 19/06/23 Пнд 17:45:48 882070 506
omqkngx6wds61.jpg 233Кб, 800x990
800x990
Аноним 19/06/23 Пнд 17:52:24 882071 507
videoplayback.mp4 11569Кб, 640x360, 00:03:40
640x360
>>881966
>Меня больше волнует, что делать со всем остальным
Тебя должно больше волновать что ты сам настолько не знаешь что от игры хочешь, что у тебя даже нет понимания что же у тебя за кор механика.
Я ХАЧУ СДЕЛОТЬ СВОЮ ЖТА С ПРОЦЕДУРНЫМ ГОРОДОМ ГДЕ ХЗ ЧТО ДЕЛАТЬ И МЕЖДУ ТАКИМИ ГОРАДМИ МОЖНА ЕЗДИТЬ это не кор механика и даже не примерное описание идеи.

Что ты хочешь от игры?
Чем является твоя игра?

С ответа на эти вопросы надо начинать и от этого уже плясать, а не прокрастинировать задумываясь от том что же будет по бокам дороги. Это детали, а думать нужно о сути.
Аноним 19/06/23 Пнд 19:53:34 882081 508
>>882071
>ты сам настолько не знаешь что от игры хочешь, что у тебя даже нет понимания что же у тебя за кор механика
Ты абсолютно прав, анон.

>ХАЧУ СДЕЛОТЬ СВОЮ ЖТА
>это не кор механика
А какая кор механика в самой ЖТА?

>Что ты хочешь от игры?
Фундамент для добавления всякого интересного.
>Чем является твоя игра?
Экшн-адвенчур песочницей с симуляцией жизни.

Смотри, в жта я могу просто зайти, гоп-стопнуть понравившуюся машинку и несколько ирл часов совершенно бесцельно нарезать круги по городу. Это достаточно интересно, но надоедает, ведь:
1. Город статичный и никак не меняется. Один раз его изучив, ты ничего нового в нём не найдёшь. Даже взорвав тысячи машин и убив тысячи людей ты ровным счётом ни на что не повлияешь.
2. Человечки - тупые дроны на замкнутых маршрутах, к которым игрок может только насилие применять. 3.5 случайных сценки погоды не меняют. Только у проституток есть осмысленный выбор Y/N (GTA SA) или аж три строчки диалогового меню (GTA IV, V). Механика свиданий максимально линейная, а свидабельные персонажи захардкожены.
3. Домики - пустые кубы с текстурами, не считая 3.5 локации где что-то есть и 1.5 локации где есть интерактивные предметы с мини-играми. Не говоря о том, насколько абсурдный урон они выдерживают.
4. Машинки настолько аркадные, что способны ехать даже после сплющивания в лепёшку (GTA IV). Но ещё больше огорчает мгновенная починка любого урона и исчезновение оставленного транспорта.
5. Графон "типа реализм" навевает уныние, будто вышел на улицу и увидел знакомый гадюшник. Вбухали тонны бабла чтобы нагнетать уныние...
6. Дурацкая сюжетка про мамкиных гопников. Если бы я хотел катсцены и диалоги, я бы зашёл на ютуб...

В общем, я мечтал решить хотя бы часть этих проблем своими силами, но не модом, а созданием полностью независимой игры с аналогичным фундаментом.

1. Чарактер контроллер я накидал по-быстрому.
2. Несколько машинок я накидал на VehicleBody.
3. Генератор города я сделал аж в нескольких разных вариантах, но контентом наполнять их не стал, потому что кататься по "квадратно-гнездовым" улицам оказалось чуть более чем уныло, а что-то интереснее придумать (!) не получилось.
4. Неигровых персонажей я пробовал делать, но их проблема в отсутствии жёсткого фундамента. Нельзя сделать модель человека без тела, а тело без среды обитания, а среды обитания у меня нет, ведь я не смог придумать интересный генератор среды.
5. Графику, физику машин отложил ещё дальше: без фундамента это кажется лишней тратой времени.

Подумал вот, что можно компенсировать нехватку интереса от одного города последовательной генерацией множества разных поменьше, даже если они будут неполноценными в плане симуляции жизни, которая игроку всё равно не слишком заметна от первого лица (что там за закрытыми дверями происходит... а какая разница?). Перенести приоритет игры с полномасштабной симуляции целого города на симуляцию всего нескольких (свидабельных) персонажей вокруг игрока, в прямом смысле забывая весь остальной мир вместе с персонажами. Тогда можно просто ехать в одном направлении, получая новый контент и/или новые комбинации старого контента и множество случайных ситуаций по пути. Тем более что езда по длинной загородной дороге имеет чуть больше смысла, чем нарезание кругов по городу площадью в один жилой квартал в реальном мире. Алсо это органично и даже незаметно вписывает лутбоксы в игровой мир, а без них никуда, лутбоксы - это кровь любой современной игры, без них никто играть не будет (тут я пытаюсь пошутить, но это почти не шутка, к сожалению).

P.S. Из сливов GTA VI пришёл к выводу, что фиксить обозначенные проблемы рокстар не собираются, так что оригинальная ГТА мне пока что не конкурент. Посмотрим, что они придумают в семёрке...
Аноним 19/06/23 Пнд 22:23:22 882095 509
>>882081
> А какая кор механика в самой ЖТА?
- Получил миссию.
- Выполнил задачи миссии.
- Получил деньги.
- Потратил деньги.
Повторить до конца игры.
ПЕРЕКАТ Аноним # OP 19/06/23 Пнд 22:41:04 882097 510
1687203646247.webm 9917Кб, 720x480, 00:01:45
720x480
Аноним 19/06/23 Пнд 22:42:16 882098 511
>>882095
>- Получил миссию.
>- Выполнил задачи миссии.
Лол, больше всего времени потратил на бесцельные скитания по миру и всякие эксперименты с физикой, машинами, пешеходами и т.д. Потом "ой, наверное, нужно миссии проходить..." и не могу вспомнить, кто эти люди и почему я им что-то должен. Поэтому предпочёл бы больше мелких, не связанных друг с другом заданий (даже процедурных и повторяющихся, как в GTA Online), чем сюжетку с длинной историей... А потом кто-то спорит, утверждая, что ГТА не песочница...

>- Потратил деньги.
>Повторить до конца игры.
Самое смешное, что во всей серии GTA это одна из главных проблем геймдизайна. ДЕНЬГИ ТУПО НЕКУДА ТРАТИТЬ. В GTA Online это "пофиксили" безумными ценниками на всякие мафынки и их модификации, ограничением на число гаражей, платой за перенос предприятия с место на место, смену декораций и т.д. Но всё равно некоторые скапливают миллиарды честной игрой, и эти миллиарды не на что тратить, ведь самое дорогое стоит "всего" чуть больше десятка миллионов. Деньги очень быстро теряют смысл, тем более в старых GTA, где покупать практически нечего. Риска потерять деньги почти нет, штрафы смешные.
Аноним 20/06/23 Втр 11:19:52 882132 512
тест поста з dashchan
Аноним 20/06/23 Втр 11:23:33 882134 513
Я правильно понимаю что в 4 версии годота если я хочу писать логику на плючах, то путь таков?
Пишу логику
Компилирую логику в динамическую библиотеку под целевую систему
Подключаю её в проекте через нод-обёртку?
Аноним 20/06/23 Втр 15:08:11 882143 514
>>882134
>Компилирую логику в динамическую библиотеку под целевую систему
Да вроде и раньше так можно было...
GDNative -> GDExtension.
Аноним 20/06/23 Втр 16:58:58 882148 515
>>882098
> тем более в старых GTA
Ну я в основном от сан андреаса отталкиваюсь. Там набросали кучу объектов, которые надо купить для продолжения сюжета. Но и в вайс-сити надо было как минимум малибу и жёлтоетакси покупать. А что было ранее я уже не помню.
> больше всего времени потратил на бесцельные скитания по миру
Возражение уровня "а я вместо того чтобы играть с этим ботаном, швырнул ему шахматы в еблину". Нашёл чем хвастаться. Но к чести рокстара, да, песочницу они завезли добротную. Пиздюками мы все гоняли на маффынках от ментов с аснаёбом, и только повзрослев, узнавали, что там сюжет оказывается есть.
Аноним 20/06/23 Втр 17:03:00 882149 516
>>882134
Не правильно понимаешь.
В 4 как и в 3, ты можешь как писать динамическую библиотеку, так и писать модули для движка. Написание модулей - самое скоростное решение. Ты прямо в ядре движка будешь работать с максимальной скоростью, зависящей только от оптимизации твоего кода и от железа офк. Подключение либы уже будет давать накладные расходы, которые впрочем, при грамотном кодинге никто не заметит, но зато в папке с игрой будет насрано либами. Но либы ты можешь написать на любом языке, который может в компиляцию либ. А модули движка только на крестах.
Аноним 25/06/23 Вск 20:27:24 882654 517
>>882148
Все так играли. Мне больше всего запомнилось, как я долго и упорно пытался проникнуть на еще недоступную киностудию, подгонял автоперевозчик, использовал его как трамплин. Помню ли я что нибудь из сюжета? Вообщем то нет.
Аноним 27/06/23 Втр 16:29:40 882903 518
Аноны, а чего по фепесам в четвёрке? Делаю обычный платформер, и на Ryzen 3 3200g + Vega 8 (встройка от рязани) + 8gb ddr3 (или 4, не помню) получаю 20 фепесов с ёба шейдерами и 40-50 без них. Как можно адекватно глянуть, что именно столько ресурсов пожирает?
Аноним 27/06/23 Втр 16:31:53 882905 519
image.png 787Кб, 1920x1080
1920x1080
Аноним 27/06/23 Втр 16:36:04 882906 520
image.png 59Кб, 1311x512
1311x512
>>882905
В профайлере вот так
Аноним 10/07/23 Пнд 21:29:27 885477 521
Аноним 17/07/23 Пнд 09:15:24 887184 522
>>873235 (OP)
gdscript это типа брат близнец kotlin?
Аноним 22/07/23 Суб 20:47:18 888780 523
Попробовал движок, ощущается как-то приятнее, чем Unity, без всех этих аккаунтов, говноверсий и прочего мусора. Чем еще он лучше?
Аноним 06/08/23 Вск 18:34:56 892931 524
cellsgamescreen[...].png 33Кб, 800x600
800x600
Здарова, годаны. Вброшу и сюда тоже.
Корочи, сделал простеньку игру на Godot'е по концету геймплея из этого видео:
https://www.youtube.com/watch?v=J_qQ76ouWXI&list=PLgsD7taGtaBidBJSgyxcet_o2k0Kqr-e5&index=24

Но мой вариант больше под спидран заточен.

Скачать можно отсюда:
http://j33111470.myjino.ru/cells_game
(это мой хостинг с бесплатным доменным именем)

Там есть и веб-версия, но она тормозит и не у всех вообще работает. Предположительно, версия движка слишком старая (3.1) и/или проблемы с GLES2 на современных браузерах. Билды есть под винду и под Линукс, 32-х и 64-х битные.
Вот.
Аноним 06/08/23 Вск 18:40:50 892934 525
>>892931
Перемещение: стрелки, WASD, кнопки UI.
Рестарт: пробел, Enter, R, копка UI.
Звук тоже можно кнопкой отключать или на M.

Чтобы в веб-версии управление заработало, нужно после загрузки игры на экран кликнуть, чтобы окно игры было в фокусе.
Аноним 06/08/23 Вск 18:42:53 892936 526
>>892931
Найс. Я в старый тред запостил. Спасибо закрепу.
А перепощивать лень...
Аноним 15/08/23 Втр 20:08:46 894295 527
Занимаюсь в данную единицу времени переносом одной игры на Godot, довольно таки... Успешно? Не суть.
В связи с юридическим аспектом нужно сделать так чтобы пользователь распаковал файлы оригинальной игры и сунул в папку с exe моего переноса, пока прикидывал просто выдирал файлы и совал в проект настраивая всё, сейчас понял что я лучше сейчас переделаю малый объём работы, чем буду всё переделывать на такую формулу в последний момент.
Встал вопрос - как использовать файлы из одной папки с исполняемым файлом не используя скрипты и никак не упаковывая эти файлы? Желательно, но не обязательно чтобы их было видно в редакторе.
Аноним 18/08/23 Птн 09:35:47 894611 528
>>887184
Типо внебрачный сын python и typescript
Аноним 18/08/23 Птн 09:57:04 894614 529
>>874896
А мне не нравится, извини, ОП. Какое-то всё крупное будто сделано для смартфона. Может на https://rentry.co/ или https://markdownpastebin.com/ напишешь? Оно как-то привычнее анонимусу, пынямаешь? Ну и спасибо за старания, опчик, целую в щёчку!
Аноним 29/08/23 Втр 19:38:39 895790 530
Вопрос от ниосилятора в программирование. Существуют ли какие-то шпаргалки кода по разным тематикам на gdscript?
Я имею ввиду следующее:
например мне надо описать стандартные для игр действия - человек бежит, стреляет.
Я беру кусок кода, копирую, меняю там минимум , чтоб соответвовало моему заданию, вуаля, все готово.
Понятно, что какой то минимум придется выучить.
Аноним 30/08/23 Срд 15:38:08 895879 531
>>873235 (OP)
Сап, я ни в движках, ни в ЯП не шарю, но слышал про godot, смогу ли я опираясь на хульен уроков/курсов по godot'у понять как сделать простенькую игору в стиле платформера например?
Аноним 03/09/23 Вск 15:06:21 896294 532
image.png 204Кб, 3573x885
3573x885
image.png 427Кб, 1752x1193
1752x1193
>>873235 (OP)
Сделайте мне плз несложный проектик на годоте за деньги.

Суть токова: нужно бросать два игральных кубика на бесконечную плоскость и выводить на экране количество очков.
Модель кубика есть максовская.

Игровой процесс:
1. Игрок нажимает ролл.
2. Он нажимает ролл, кубики падают сверху на бесконечную плоскость
- Краёв плоскости не должно быть видно.
- Кубики не должны укатываться за пределы камеры (можно например сделать невидимые стены, но главное чтобы кубики не вставали ребром у стены), или любой другой способ избежать укатывания.
- Изначально кубики должны быть в рандомном положении по осям + надо им придать какое-то ускорение (чтобы не падали просто плашмя без перекатов, и вообещ чтобы походило на рандом). Процесс должен быть похож на ирл (т.е. в игре д.б. нормальная гравитация)
3. Кубики упали, стабилизировались и на экране показывается оверлей с количеством выпавших очков и их суммой. Игрок может рерольнуть, goto 1.

Вроде как несложно для тех, кто открывал годот пару десятков раз.
Пишите в телегу lubitelivodki
Аноним 03/09/23 Вск 15:07:03 896296 533
>>895879
Чел, даже в оф.доке есть дока как делать платформер.
Аноним 03/09/23 Вск 15:10:14 896297 534
Постить в старый тред - классика.
Аноним 07/09/23 Чтв 19:15:09 896765 535
image.png 50Кб, 1143x663
1143x663
Друзья, не знаете как фиксится? 3.5.2. скачанная с сайта нормально отображается, а стимовская 4 ушла в разнос чет
Аноним 05/10/23 Чтв 14:40:26 905206 536
Аноны, а Godot подходит для 3D-игр? А то тут недавно на пикабу пост читал, там говорилось, что больше 2D-игры. Если надо 3D, то лучше брать другой движок - это правда?

И реально на Godot запилить что-то типо Roblox, SecondLife? Чтобы можно было онлайн бегать кучей народу.
Аноним 10/10/23 Втр 01:00:31 906217 537
Как можно реализовать настраиваемое управление?

Я пока что придумал сделать ноду которая забирает весь инпут и посылает сигналы в игру.

Нажимаешь кнопку, эта нода смотрит на какое действие ты забиндил эту кнопку - например, нажимаешь W - идет сигнал ноде игрока чтобы подвинулась на вперед немного.

Как идея?
Аноним 16/10/23 Пнд 12:22:42 907898 538
Аноны подскажите пж, хочу сделать редактор уровней супер марио брос, но оказалось что я слишком тупой даже для этого.
Базовая концепция следующая:
1. Пользователь выбирает тайл
2. Пользователь ставит тайл на поле
3. Пользователь нажимает кноку сохранить
4. Тайлмапа конвертится в json (или сразу создается параллельный словарь который после сохраняется как json)
5. При загрузке просто расставляем обжекты по json'у

Тут все логично лаконично и понятно, но вопрос у меня больше по технической составляющей визуала.
Мне очевидно требуется сетка, начало отсчета координат и границы. В этом плане я выбрал пока примерно позицию нулевая позиция х:0 y: 300 16. Пределы соответствующие, слева сверху нули, снизу и справа 300 16. Интро к вопросу долгое но похуй.

То что меня волнует сейчас больше всего - как рисовать сетку? Мне нужна сетка что бы юзер не терялся очевидно. Как то разделять тайлы и прочее. Возможно даже как в оригинальном редакторе godot'a когда рисуешь что-то тайлами там такая небольшая обводка в виде сетки. У меня конечно последние недели времени много времени подумать над этим небыло, но я либо тупой либо задача реально нестандартная.

Какие есть советы?
Ответить в тред Ответить в тред

Check this out!

Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов