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

Gamedev

Ответить в тред Ответить в тред
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 411 113 66
Godot #34 Аноним # OP 01/03/23 Срд 21:34:39 867751 1
1677695677118.png 1547Кб, 1920x1080
1920x1080
Добро пожаловать в тред любви, взаимопомощи и рандомных подвисаний!

Итак, релизнулась четвёрка. Все рады, и я немножко.

Краткий гайд по вкату в движок:
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 в папку и импортируется.
• Туториал по шейдерам: 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

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

Архивный: >>841833 (OP)
Аноним 01/03/23 Срд 21:41:02 867757 2
First
Аноним 01/03/23 Срд 21:42:48 867760 3
99%примеров сети одинаковые и низкоуровневые,которые не помогают вам в росте знаний
Аноним 01/03/23 Срд 21:43:14 867761 4
1677696186463.png 8362Кб, 1800x2492
1800x2492
>>867757
Традиции чтим! Вот тебе награда:
Аноним 01/03/23 Срд 21:43:58 867763 5
>>867760
Давай я тебя научу на высоком уровне прямо ИТТ. Хошь? Спрашивай.
Аноним 01/03/23 Срд 21:48:58 867765 6
Я ещё я не понимаю английский на слух,что ведёт к отсечению огромного пласта знаний.
Итого- тупик
Аноним 01/03/23 Срд 21:49:56 867768 7
>>867765
Ягндекс.бранузер + нейросетевая озвучка видосов. Рикаминдую.
Аноним 01/03/23 Срд 22:03:15 867781 8
>>867760
Мне движок нужен чтобы игры делать, а не росте знаний.
Аноним 01/03/23 Срд 22:12:53 867786 9
>>867768
... однако, чтобы понимать робота-переводчика, нужно в общих чертах понимать, что говорят на инглише. Потому что например, вместо
> это зависит от того какие значения вы передаёте в состояние
можно услышать
> это зависит от того какие ценности вы передаёте в государство
и кринжануть.
Аноним 01/03/23 Срд 22:51:26 867810 10
>>867751 (OP)
Аноны, помогите, пожалуйста. Я разобрался, как сделать поиск путей с помощью Astar по клеткам. Для игры с передвижением по клеткам это пойдет, но как сделать пусть с попиксельным передвижением? Например у меня есть игрок, который ходит попиксельно и мне нужно, чтоб враг мог подойти к нему на расстояние удара. Может есть какой гайд?
Аноним 01/03/23 Срд 23:04:51 867818 11
>>867760
Эти примеры такие потому что человеку, который делает нужно БЫСТРО узнать как делать что-то конкретное, из таких мелочей собираются общие знания.

Все крутые курсы это набор коротких видео, каждое про какую-то свою конкретную тему.

Разглагольствования на час+ херня
Аноним 01/03/23 Срд 23:05:58 867819 12
>>867765
Просто смотришь на английском и всё, какие-то слова смотришь в словаре, потом втянешься, больше интуиции доверяй, точно перевод не поймёшь конкретного слова, но общий посыл легко
Аноним 01/03/23 Срд 23:07:44 867822 13
Аноним 01/03/23 Срд 23:10:54 867823 14
Gotot 4 !!!
Аноним 01/03/23 Срд 23:41:42 867837 15
>>867822
Это не то, что мне нужно. Мне бы именно поиск пути, а не реализацию самого движения. Потому что если использовать Astar на сетке, то противника косоёбит и он стремится пойти на координаты начала точки и не может остановиться там, где надо, а только в центре клетки. У меня было две идеи:
1) Сделать размер клетки равным размеру дистанции атаки, но тогда придется для каждого противника делать свою. Мне кажется, это не очень правильно
2) Сделать передвижение по клеточкам размером 1 пиксель, но тоже звучит как-то не правильно.
Аноним 01/03/23 Срд 23:47:31 867839 16
Аноним 02/03/23 Чтв 00:07:26 867845 17
>>867839
> Quad Tree
Спасибо, погуглю про это, выглядит, вроде, правильно на видео.

Хотя может кто ещё варианты напишет.

А то во всех туториалах либо пошаговая игра, либо враги прут в тупую без обхода препятствий.
Аноним 02/03/23 Чтв 00:17:00 867850 18
Godot Pioner.png 1717Кб, 2480x3508
2480x3508
С выходом новой версии, аноны!
Аноним 02/03/23 Чтв 00:17:29 867851 19
Godot Pioner.png 1717Кб, 2480x3508
2480x3508
С выходом новой версии, аноны!
Аноним 02/03/23 Чтв 01:09:46 867872 20
>>867845
Емнип это называется Steering. То есть навигация рассчитывает путь, вектор к следующей клетке, а уже логика бота ведет его туда, например физическим move and slide, или как угодно, хоть внутри клетки рассчитывай навигацию с размером клетки=1пикс, хоть анимациями, хоть position.x += 1, чем угодно.
Аноним 02/03/23 Чтв 01:30:07 867876 21
>>867872
Я понимаю, как двигать бота плавно из клетки в клетку. У меня вопрос в другом, как заставить моба двигаться с текущего положения, которое опредеденно не является центром клетки, чтоб он не бежал сломя голову в центр клетки и как сделать так, чтоб он останавливался не в центре клетки, а за опредеденное расстояние от конечной точки(игрока)
Аноним 02/03/23 Чтв 01:36:48 867881 22
>>867876
>чтоб он не бежал сломя голову в центр клетки
Ну а куда он по твоему должен бежать, если у него навигация проложена через центр клетки? Ну тогда прокладывай ее не через центры клеток. Или пусть бежит к следующей клетке.
>Чтоб он останавливался не в центре клетки, а за опредеденное расстояние от конечной точки(игрока)
>например физическим move and slide,
>хоть внутри клетки рассчитывай навигацию с размером клетки=1пикс,
>хоть анимациями
>хоть position.x += 1
Аноним 02/03/23 Чтв 09:01:24 867920 23
Аноним 02/03/23 Чтв 11:24:03 867935 24
>>867876
Обычно в 2д игре область для вычислений столкновений это круг, далее с учётом радиуса круга ты перемещаешь объект ровно до точка_завершения_движения минус радиус объекта, если таких объекта два, до точка_завершения_движения минус радиус_врага + радиус_текущего_игрока-объекта
Аноним 02/03/23 Чтв 12:56:10 867968 25
>>867920
тогда уж сразу 4.5.1 LTS
Аноним 02/03/23 Чтв 13:20:48 867974 26
Аноним 02/03/23 Чтв 15:38:52 868026 27
image.png 7Кб, 452x534
452x534
image.png 6Кб, 551x524
551x524
Разные фреймы- разная "форма" тела. Правильно понимаю, что есть два варианта:
1) Делать один коллижн шейп под все движения. Слегка менять его размер и положение в зависимости от фрейма
2) Рисовать коллижн полигоны для каждого фрейма.

И лучше использовать первый?
Аноним 02/03/23 Чтв 15:48:56 868033 28
>>867974
Буллет убрали. Даже не знаю, плюс это или минус? Но буллета больше нет.

>>868026
Самый распространённый вариант - сделать квадрат, внутри которого все положения тела персонажа и не париться. Если тебе нужно, чтобы между ручками и ножками персонажа не было коллизии, то делай скелет, на джойнтах соединяющий несколько отдельных тел-костей в единое тело. Менять и двигать коллиженшейп не рекомендовал сам Хуан (не помню почему) - так делать нельзя. Табу! Банан!
Аноним 02/03/23 Чтв 16:10:34 868039 29
>>868033
>Менять и двигать коллиженшейп не рекомендовал
Надо потестить, может быть уже пофиксиле это. Проблема емнип была в том, что если ты двигаешь коллайдер, то это проходит в обход физического движка, и он либо не замечает этого, либо какой то оверхед на сброс состояния мира и пересчет. Но сейчас же много всяких улучшателей добавили, те же анимированные статикбоди платформы, значит есть механизмы, позволяющие анимировать коллайдеры.
Аноним 02/03/23 Чтв 16:18:23 868042 30
>>868033
>>868039
Есть вариант добавить коллайдер для каждого фрейма и просто отключать/включать поочередно?
Аноним 02/03/23 Чтв 16:20:12 868043 31
1677763211629.png 25Кб, 443x369
443x369
>>868042
Всё надо пробовать самому, пробуй. Отпишись о результатах. Ну, всё, я убегаю. У меня тут ТАС-спидран марио на созвоне. Обнял.
Аноним 02/03/23 Чтв 16:59:45 868054 32
>>867935
Спасибо, попробую.

Неужто нет никаких туторов по этой теме? Ведь куча экшен индюшок
Аноним 02/03/23 Чтв 17:10:27 868060 33
>>868054
Такое чувство, что ты просишь тутор на что-то элементарное.
Аноним 02/03/23 Чтв 17:34:38 868067 34
>>868060
Ну, это же распространенная вещь. Каждая вторая игра экшен, мне казалось должен быть урок на тему поиска пути в таких играх, ведь он нужен везде.
Аноним 02/03/23 Чтв 17:40:01 868076 35
>>868067
нарисуй, что ты хочешь получить, и что не выходит и как получается у тебя.
Аноним 02/03/23 Чтв 17:49:18 868084 36
image.png 1Кб, 250x340
250x340
>>868076
Синий враг, красный игрок. Зеленый путь, по которому враг идет, а желтый, как хочется, чтоб он шел. Чтоб как в других играх.
Аноним 02/03/23 Чтв 17:50:50 868085 37
>>868067
Тебе первым же ответом посоветовали правильное >>867822 Но ты сказал, что тебе это не подходит. Ну штош.
Аноним 02/03/23 Чтв 17:52:14 868086 38
>>868085
Тогда я просто идиот и не понимаю, как мне это должно помочь
Аноним 02/03/23 Чтв 17:59:35 868090 39
1582430925121.png 13Кб, 147x200
147x200
>>868084
Навигация проложила путь там. Твои действия?
Аноним 02/03/23 Чтв 18:06:52 868095 40
1586180490292.png 6Кб, 147x200
147x200
1651893991773.png 12Кб, 147x200
147x200
1641610753229.png 13Кб, 147x200
147x200
>>868084
Вариант 1 - искать путь по пиксельной сетке.
Вариант 2 - искать путь со следующей клетки (той, что ближе к врагу)
Вариант 3 - если враг внутри радиуса обнаружения, отключить навигацию и бежать по прямой.
Аноним 02/03/23 Чтв 18:10:39 868100 41
>>868095
Вариант 1 - а не будет это сильно плохо для производительности?
Вариант 3 - а тут не вариант. Он так препятствия обходить не будет
Аноним 02/03/23 Чтв 18:13:08 868101 42
1629980217052.png 17Кб, 147x200
147x200
>>868100
>Он так препятствия обходить не будет
Так он по твоему описанию и так не будет >>868090

>>868100
>а не будет это сильно плохо для производительности?
Надо проверить, может и будет.
Если будет - то тогда как то так.
Аноним 02/03/23 Чтв 18:16:27 868104 43
>>868086
На показанной пикче твоему боту следует пересчитать навигацию заново. Потому что у него одна точка дальше, чем игрок. Когда он пересчитает навигацию, эта точка естественным образом исчезнет.
Кроме того, на расстоянии атаки проще вовсе отключить навигацию и юзая lerp приблизаться к игроку на расстояние атаки, и уклоняться, и ваще.
Аноним 02/03/23 Чтв 18:20:55 868105 44
>>868101
У меня описание было, как пример того, как он ходит и как надо. Обход препятствий тоже нужен.
>>868104
Просто эта точка сама близкая к нему по сетке, вот он так и считает похоже

Вообще, перефразирую вопрос, если кто делал Top Down shooter, Action RPG или что-то такое, как вы вообще делали передвижение врага и поиск его пути?
Аноним 02/03/23 Чтв 18:21:26 868106 45
>>867751 (OP)
> невозможно просто отредактировать текстуру в пейнте и увидеть изменения в игре - в любом случае потребуется запускать редактор, чтобы он импортировал текстуру заново
т.е. делая игру условные Homm3, чтобы человек добавил своего юнита в виде текстового файлика и картинки с ним, мододелу потребуется какой-то редактор непонятный ему использовать?
Аноним 02/03/23 Чтв 18:23:23 868107 46
1527398885470.png 15Кб, 147x200
147x200
>>868105
Так ты подумай какой ответ на вопрос.
Черная клетка - препятствие. Навигация проложила маршрут по зеленой. А ты хочешь чтобы шел по желтой, через препятствие. Как ты разрешишь это противоречие?
Аноним 02/03/23 Чтв 18:23:34 868108 47
>>868105
> вот он так и считает похоже
Я тебе ещё раз русским по белому пишу: бот должен пересчитать маршрут. Ты понимаешь это?
> как вы вообще делали передвижение врага и поиск его пути?
Пересчётом маршрута, после того как вражеский юнит переместился.
Аноним 02/03/23 Чтв 18:24:48 868109 48
>>868106
Как сделаешь так и будет. Хоть внутриигровой редактор ему сделай, хоть текстовые файлы и картинки загружай.
Штатный режим - при сборке годот упаковывает и оптимизирует текстуры. Но никто не мешает загружать картинки с любого файла на диске кодом.
Аноним 02/03/23 Чтв 18:27:51 868113 49
>>868106
Начал катать простыню, а анон выше уже ответил. Если ты, как разраб, предусмотрел возможность создания текстур из внешних пикч, то да, всё будет работать. Если не предусмотрел, то не работать будет только то, о чем описано в том разделе шапки, то есть, запуск распакованного проекта через шаблон экспорта. Созданием текстур и складыванием их в отдельную папочку, занимается редактор, которого в шаблоне экспорта нет.
Аноним 02/03/23 Чтв 18:28:12 868114 50
image.png 2Кб, 250x340
250x340
>>868108
Так я пользуюсь годотовским встроенным AStar. Он так считает. Как ему сказать пересчитать по другому?
>>868107
В таком случае, как нибудь так
Аноним 02/03/23 Чтв 18:28:46 868118 51
>>868114
> Как ему сказать пересчитать по другому?
Так же, как ты ему сказал в первый раз.
Аноним 02/03/23 Чтв 18:29:45 868119 52
>>868114
Может быть ты считаешь не от туда? Ну например у тебя спрайт сдвинут относительно клетки?
Аноним 02/03/23 Чтв 18:33:28 868122 53
>>868118
Так я ему говорю и он так же строит.

>>868119
Так в этом и дело, что мне надо чтоб он с любой точки клетки мог двигаться в любую. А он двигается четко по центрам клетки. Я понимаю, что о не знает, как по другому, но как ему объяснить то, как надо? Может нужно не Astar использовать, а что другое? У меня опыта просто 0 и смотрел уроки и понимал как делать, а на этом застрял
Аноним 02/03/23 Чтв 18:37:46 868125 54
>>868114
Если у акторов будет коллайдер сфера, а у препятствия квадрат, то физический move and slide должен работать.
>>868122
>Так в этом и дело, что мне надо чтоб он с любой точки клетки мог двигаться в любую. А он двигается четко по центрам клетки
Потому что у тебя навигация по клеткам, а не из любой точки в любую. Попробуй либо по пикселям, или если как говоришь это тормозит, то по клеткам, но когда видит близко врага - переключаться на по пикселям.
Пойду что ли бенчмарк писать.
Аноним 02/03/23 Чтв 18:38:46 868127 55
>>868114
>Он так считает. Как ему сказать пересчитать по другому?
Анон имеет в виду, что путь надо пересчитывать с какой то периодичностью. Можно не каждый кадр, а раза 4 в секунду.
Аноним 02/03/23 Чтв 18:39:40 868131 56
>>868125
>Попробуй либо по пикселям, или если как говоришь это тормозит, то по клеткам, но когда видит близко врага - переключаться на по пикселям.
Видимо, так и придется. Надеюсь это реально правильный способ, как оно и должно выглядеть, а не просто мой тупняк
>>868127
Но он и так пересчитывает и всё равно его тянет назад, если он не в центре клекти.
Аноним 02/03/23 Чтв 18:39:53 868133 57
>>868122
> Так я ему говорю и он так же строит.
Ну ладно. Показывай код. Что ты там нахуевертил. Версия движка какая?
Аноним 02/03/23 Чтв 18:43:18 868136 58
Аноним 02/03/23 Чтв 18:44:37 868137 59
>>868136
Я не смогу тебе помочь перечитывая статью. В статье-то - всё работает!
Аноним 02/03/23 Чтв 18:49:14 868140 60
1594546285908.png 2Кб, 158x162
158x162
>>868136
Он ходит сквозь стены, очевидно это подходит только пошаговым играм не очень требовательным к срезанию углов.
Аноним 02/03/23 Чтв 18:53:40 868141 61
>>868137
Так и у меня так работает. Но когда цели и противники вне клетки, то всё внезапно работает не так. Я не привязан к клеткам, я просто других способов не знаю. Может не клетками надо?

>>868140
От gdquest так же. Да и все уроки либо пошаговые, либо для статичных уровней с navigation2d
Аноним 02/03/23 Чтв 18:55:36 868143 62
а-стар с рейкас[...].png 12Кб, 826x510
826x510
>>867810
Делай как на пикриле и получишь поведение из 99% топ-даун игр, главное не забудь сделать героев на основе кинематикбоди с коллайдером-кружочком радиусом меньше одной клетки, чтобы они углы плавно обходили.

Алгоритм такой:
1. Если игрок вне радиуса агрессии моба, моб мирно занимается своими делами (обычно патрулирует местность или просто бесцельно бродит).
2. Если игрок попал в радиус агрессии и привлёк к себе внимание моба (ну там стелс и всё такое, в документации есть пример на простую проверку поля зрения через Vector2.dot()), то моб переходит в режим преследования, у которого две стадии:
2.1. Если игрок прячется за препятствиями, которые моб проверяет простым рейкастом, то моб запрашивает у навигационной системы (в данном случае а-стар) оптимальный маршрут и топает по клеточкам.
2.2. Периодически он проверяет, не показался ли игрок на прямой линии рейкаста, и если показался, то переходит во второй режим - тупое движение по прямой, которое позволяет автоматически обойти все углы благодаря скольжению вокруг этих углов. Если игрок снова скрылся за углом, моб запрашивает новый маршрут и переходит в первый режим следования клеткам.
3. Если необходимо, чтобы моб умно скрывался за препятствиями, отступал и т.д., рейкасты нужно кидать уже не от моба, а от игрока, чтобы моб, видящий игрока, смог найти место на карте, которое игрок не видит, и спрятался за него. Но это уже следующий уровень сложности.
Аноним 02/03/23 Чтв 18:55:47 868144 63
>>868141
> Может не клетками надо?
Может и не клетками. Lerp'ом, например... Да не, хуйня какаята.
Аноним 02/03/23 Чтв 19:02:43 868148 64
>>868140
>Он ходит сквозь стены
Включи отображение коллайдеров, у тебя какая-то проблема с коллайдерами, если персонаж входит в стены, вместо того, чтобы обходить их.
Аноним 02/03/23 Чтв 19:05:21 868149 65
>>868148
Ты не понял, там туториал так и сделан. Это пошаговая игра, там можно пойти по диагонали между клетками, а движения наверное просто анимацией сделаны для красоты. Ну как в настольной игре.
Аноним 02/03/23 Чтв 19:09:33 868152 66
>>868144
Да как? Объясните, как сделать лерпом с обходом препятствий?

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

Вообще, тут на доске ещё есть The Excrawlers, в котором всё это выглядит хорошо. Этим можно добиться такого же хорошего эффекта?
Аноним 02/03/23 Чтв 19:09:53 868153 67
>>868149
>туториал так и сделан
А, понятно, я думал, это твоя игра.

Для топ-даун экшена делай так: >>868143

Движение мобов за препятствиями пусть будет по клеткам, они ведь всё равно в коридорах, а коридоры у тебя наверняка тайловые, а не рандомные кишки в стиле Worms. Если у тебя кишки в стиле Worms, тогда тебе вообще не сетка клеток нужна, а точки по середине сегментов кишок, тут уже зависит от того, как ты делаешь карту (вручную или процедурно).
Аноним 02/03/23 Чтв 19:12:34 868156 68
>>868152
>не слишком ли уродливо и нелепо
Зависит от твоей графики. Графику-то ты не показал. Обычно в топ-даун играх все персонажи - плоские колобки, из которых торчит только ствол пушки.

>The Excrawlers
Не видел, нужно посмотреть.
Аноним 02/03/23 Чтв 19:20:03 868158 69
Graphicalprojec[...].png 647Кб, 1024x1024
1024x1024
>>868156
>Обычно в топ-даун играх все персонажи - плоские колобки, из которых торчит только ствол пушки.
А, блин, я всю жизнь путаю топ-даун и проекцию "чисто сверху". Для меня "топ-даун шутер" - это проекция чисто сверху про колобков с пушками. Никогда не задумывался, как называется графика в большинстве JRPG, и никогда не считал её топ-дауном, а оно оказывается и есть топ-даун...
Аноним 02/03/23 Чтв 19:37:23 868162 70
fdm.png 13Кб, 1160x672
1160x672
>>867727 →
>Чот у них ЦДН видимо напрягся. Все качают.
У гитхаба сервера всегда так медленно в один поток отдают, поэтому крупные файлы лучше качать через менеджер, поддерживающий многопоточный режим (если сервер поддерживает отдачу частями, то скачивание будет сразу с нескольких точек в файле и суммарная скорость в 10-20 раз быстрее, чем если качать через браузер или примитивный загрузчик). Не понимаю, почему они разрешают скачивание в несколько потоков, если один поток искусственно ограничивают, обычно для снижения нагрузок на раздающий сервер опцию скачивания в несколько потоков отключают.

>>867884 →
>Там вроде с гитхаба скачивается теперь
Релизы на гитхабе давно уже выкладывают. Старый репозиторий по-прежнему доступен:
https://downloads.tuxfamily.org/godotengine/4.0/

Почему они до сих пор не могут разделить шаблоны экспорта на несколько архивов? Сначала они хвастаются, что у них движок занимает всего 20 30 50 МБ в целом в архиве, а потом они пихают все официальные шаблоны экспорта в один почти гиговый архив. Где логика? А если моя игра в принципе никогда не будет работать в вебе и на мобилках из-за ресурсоёмкости, а мака для тестов у меня всё равно нет? Нет, качай всё сразу. Движок Bullet они выкинули, мол, чтобы лишний вес с движка сбросить, а лишние шаблоны экспорта им не лень раздавать для каждой пре-пре-альфа сборки...
Аноним 02/03/23 Чтв 20:16:10 868179 71
>>868156
У меня как раз графика похожая на рпг, похоже на The Excrawlers как раз, потому её в пример и привёл. Мне главное, чтоб не выглядело, будто он врезается в стену, а просто идёт вдоль.
Аноним 02/03/23 Чтв 20:42:25 868187 72
Не пойму, пишут про новый окклюжн куллинг, но ссылка идет на коммит 2021 года, а я помню, что когда щупал в альфе, там было сыровато, не всегда работало, еще было ограничение на какое-то смешное (8?) окклюдеров, что-то не сходится, так каков статус сейчас?
Аноним 03/03/23 Птн 00:40:19 868281 73
навигация.mp4 1693Кб, 1024x600, 00:01:30
1024x600
>>868143
>Алгоритм такой
Как-то так получается.
Аноним 03/03/23 Птн 06:22:33 868307 74
да, что-то готовые билды существенно пожирнели, для того же андроида с 13-15мб до 20-21мб
Аноним 03/03/23 Птн 11:59:36 868319 75
image.png 11Кб, 303x139
303x139
>>868307
Играюсь в годо с нейронками спизженными и столкнулся с проблемой фипсов. На 50-ти активных мозгах жоско рыгает фреймтайм из-за дроча матриц.

Надо переписать класс с матрицами на шарп? И как, если у меня нет его в списках пикрилейтед?
Аноним 03/03/23 Птн 13:02:43 868327 76
>>868319
Кочать версию с поддержкой шарпма
Аноним 03/03/23 Птн 13:27:52 868330 77
>>868319
на шарп ничего переписывать с gdscript смысла нет, в них разница только вкусовщина в каком стиле привык кодить, производительность у них примерно одинаковая
для ускорения работы нужно переходить на native script/плюсы
Аноним 03/03/23 Птн 14:03:02 868338 78
Аноним 03/03/23 Птн 14:44:59 868344 79
image.png 50Кб, 619x435
619x435
Теперь при обращении к проперти даже внутри класса будут вызывать сеттеры и геттеры. Даже если в сеттере прочитать значение через имя проперти, будет вызван геттер.
Аноним 03/03/23 Птн 14:56:21 868346 80
image.png 26Кб, 509x483
509x483
Похоже добавили новые проекты
Аноним 03/03/23 Птн 15:22:35 868348 81
image.png 57Кб, 674x381
674x381
>>868344
Еще теперь в зарезервированных методах не вызывается super по умолчанию.

Да и такой однострочник как в _process в предыдущей версии не работает
Аноним 03/03/23 Птн 15:27:40 868350 82
>>868338
У меня есть, дай побаловаться.
Аноним 03/03/23 Птн 18:52:47 868404 83
Анончики, как теперь быть? Если я соберусь делать игру заточенную на хорошую прозводительность на посредственном устройстве (ноутбук со встройкой) - какую версию использовать? 3.5.1 LTS или 4.0? В плане легковестности рулит OpenGL или Vulkan?
Аноним 03/03/23 Птн 19:10:50 868411 84
>>868404
Возьми и потести, ебана.
В 3 многие жаловались что на встройке было тяжело, 4 хз, если вообще запустится.
Аноним 03/03/23 Птн 19:25:05 868414 85
>>868411
Ну демка от gdquest выдает слайдшоу на UHD Graphics 620. Хотя сцены сами по себе примитивные.
Аноним 03/03/23 Птн 20:51:57 868429 86
>>867751 (OP)
Реализация List из ЦЭ++ С++ в ходо таки объявилась?
Аноним 03/03/23 Птн 20:54:08 868430 87
>>868404
Начинай с 3.5, потом на новый перекатывайся
Аноним 04/03/23 Суб 03:20:37 868462 88
>>868404
>ноутбук со встройкой
Протестируй сам, делов-то - два файла скачать и поиграться немного в демки. На некотором железе даже Godot 3.x вообще не запускается, наверное, из-за кривых драйверов на встроенную карту.

>В плане легковестности рулит OpenGL или Vulkan?
Это зависит от сцены, которую ты хочешь рисовать.

По официальным заявлениям получается так:
1. OpenGL разрабатывался как простое средство отображения типичных графических фигур в те времена, когда о сложном графонии даже не думали. Поэтому он имеет высокоуровневое API, абстрагирующее разраба графики от всех тонкостей работы оборудования, позволяющее автоматически использовать все индивидуальные оптимизации под разное железо. Ты просто инициализируешь API и рисуешь что-то, и оно рисуется как-то там само собой. Это накладывало серьёзные ограничения на возможности, поэтому в новые версии OpenGL добавляли более низкоуровневые функции, но основа всегда оставалась неизменной, и какие-то ограничения обойти так и не удалось, в результате чего сообщество разработчиков OpenGL создало новый стандарт, назвав его Vulkan (glNext изначально, так что это потомок OpenGL). Вот эти ограничения вроде как не позволяют тебе быстро рендерить очень большие сцены и сложные спецэффекты. Т.е. OpenGL оптимален для маленьких, простых сцен, но сильно сдаёт позиции, если ты накидываешь в сцену кучу всего и обмазываешься спецэффектами.

2. Vulkan, как понятно из вышесказанного, разрабатывался с учётом опыта OpenGL, поэтому его сделали максимально низкоуровневым. Условно, если в OpenGL ты можешь нарисовать треугольник за 3 строчки, то в Vulkan для рисования треугольника тебе нужно 300 строчек кода (инициализации всего, что нужно инициализировать). Соответственно, Vulkan даёт больше потенциальных возможностей для больших сцен со сложными спецэффектами, но цена этому - высокая сложность базовых операций, которые в OpenGL делались легко. То есть, по заявлениям разработчиков, на маленькой сцене Vulkan проигрывает OpenGL в скорости, но на большой сцене OpenGL проигрывает Vulkan и в скорости, и в графических возможностях. Поэтому следует ожидать постепенный переход на Vulkan всех крупных игровых проектов, тогда как OpenGL отстанется для поддержки старых программ, особенно когда их невозможно обновить (медицинское ПО и т.п., где графика имеет чисто прикладное значение и свистелки не нужны).

Godot 4.x продолжит поддержку OpenGL 3.3 (GLES3) для совместимости со старыми ПК, мобильными устройствами и вебом, так что причин оставаться на 3.x в твоём случае мало, если только у тебя не очень старое железо. Хотя они вроде говорили, что поддержка OpenGL в новой версии пока неполная из-за того, что переделывали всё с нуля, когда писали рендерер на Vulkan.
Аноним 04/03/23 Суб 04:16:05 868464 89
>>868330
> На некотором железе даже Godot 3.x вообще не запускается
У меня на встройке HD2000 не запускалось ничего пока я не тыкнул галку Fallaback To GLES2.
Аноним 04/03/23 Суб 10:30:06 868487 90
image.png 9Кб, 228x141
228x141
Это правильно или я дэбил?

Мне нужны и чек столкновений и чтобы рейкаст работал, как на пике работает, но приходится тупо копировать коллижн полигон.
Аноним 04/03/23 Суб 10:46:59 868488 91
>>868487
Ну так raycast и так сталкивается с staticbody.
Аноним 04/03/23 Суб 11:15:09 868492 92
image.png 50Кб, 716x495
716x495
image.png 3Кб, 406x391
406x391
>>868488
Не сталкивается. А мув_анд_коллайд не сталкивается с Ареа2д.
Аноним 04/03/23 Суб 11:20:18 868494 93
>>868492
А, я все такие дэбил и надо было галку в Body воткнуть.
Аноним 04/03/23 Суб 12:18:28 868502 94
1649283273480.png 5Кб, 287x84
287x84
>>868494
Так по умолчанию так и есть
Аноним 04/03/23 Суб 16:45:42 868536 95
спорить о движках - это кал, надо спорить о механиках, о маркетинговых стратегиях, об удачных решениях и т.д., движки вообще не стоят этого времени
Аноним 04/03/23 Суб 17:11:51 868554 96
>>868494
Вот тебе серьёзно не лень было наделать скриншотов со стрелочками в пейнте и написать несколько постов, вместо того, чтобы просто внимательно изучить свойства ноды в инспекторе и документацию на API, встроенную в редактор? А потом фантазируют о видеоуроках на каждую ноду, чтобы их носом ткнули в каждое свойство и сказочку на ночь рассказали о том, как это свойство можно использовать.

>>868536
Ты тредом ошибся. О геймдизайне, маркетинге и других решениях, не связанных с конкретным движком, уже давно есть другие треды (или нет, тогда можно создать). Ты хотя бы иногда каталог листай, там не только движкосрачи. А здесь вообще тред конкретного движка, никто о движках в целом не спорит, сидим, ноды в дереве размещаем, на GDScript скриптики пишем...
Аноним 04/03/23 Суб 17:20:39 868560 97
>>868492
>Car
>KinematicBody2D
А почему у тебя машина не RigidBody2D?

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

>мув_анд_коллайд
Эта функция упирает тело в стену и не двигает никуда, даже если твоё препятствие - угол тонкой стены. Для большинства ситуаций выгоднее использовать move_and_slide(), но в твоём случае (2D гонка?) лучше вообще перейти на RigidBody2D.
Аноним 04/03/23 Суб 19:38:11 868573 98
>>868560
У меня нейроаутизм и мне не надо чтобы машинки сталкивались друг с другом, а при коллайде со стеной фидили, а не облизывали ее.

>>868554
Документацию я читал, с внимательностью проблемы да. Не сразу додумался что где-то в подменю убрал галку.
Аноним 04/03/23 Суб 20:09:12 868578 99
>>868573
>У меня нейроаутизм
Чего? Невротизм?
>В широком смысле невротизм можно определять как неспособность эффективно регулировать негативные эмоции. Негативные эмоции склонны возникать, когда люди полагают, что они плохо справляются с достижением своих целей.

>не надо чтобы машинки сталкивались
Решается одной галочкой в инспекторе RigidBody2D. Лучше иметь возможность переключить фичу одной галочкой, чем изобретать велосипед.

>при коллайде со стеной фидили, а не облизывали ее
>фидили
В смысле feedback? Типа отскоки от стен?

1. Увеличиваешь bounce в параметрах стен.
2. Опционально регулируешь friction там же.
3. Машины отскакивают от стен как мячики.
4. Подстраиваешь параметры под свой вкус.

"Облизывание стен" - это quality of life фича, без неё большинство типов игр очень страдают. Особенно гонки, в которых мгновенная остановка с 200 км/ч от одного случайного касания сраного бордюрчика вызовет бурю негативных эмоций. В большинстве случаев машина должна только слегка изменить курс, а не остановиться так, будто врезалась лбом в гору.
Аноним 05/03/23 Вск 06:41:58 868658 100
2023-03-0510-34[...].mp4 7504Кб, 1280x720, 00:00:24
1280x720
>>868578
Невротизм тоже есть.

Фидили всмысле "мгновенно останавливались с 200км/ч от одного случайного касания".

Велосипедов я вроде не изобретал, мне достаточно того что есть, у RigidBody2D сильно больше параметров которые мне не нужны.
Аноним 05/03/23 Вск 13:42:12 868703 101
>>868658
Нейронку обучаешь. Малаца!
Аноним 05/03/23 Вск 16:34:03 868724 102
>>868703
Почему это нейронками называют? Это генетические алгоритмы. Может, там внутри и есть граф, внешне напоминающий нейросеть, но он не обучается как нейросеть - вместо обучения в таких симуляциях копируют данные наиболее удачного экземпляра и затем немного меняют их, запуская в симуляцию и снова отслеживая наиболее удачных. От нейронки тут только граф, но чтобы граф был нейронкой, он должен обучаться же, а обучения тут нет - только эволюционный отбор и мутации "генов".

Или, по-твоему, ДНК тоже чему-то обучается, когда из множества клеток выживают только те, у которых ДНК хорошо приспособлена к выживанию? Можно сказать, что обучается целая популяция, но отдельные организмы ничему не обучаются - они просто дохнут, не давая бракованным данным перейти в следующее поколение (итерацию) своей популяции.

>>868658
Понятно, ты не гонку делаешь, так бы и сказал.

>у RigidBody2D сильно больше параметров
Вообще-то в этом самое интересное. У тебя сейчас среда крайне примитивная, поэтому и результаты не впечатляют. Добавь больше физики, будет любопытнее, до чего дойдёт эволюция. Алсо в идеале нужно менять количество колёс, длину/ширину машин, прицепов и т.д. Одна только логика поворотов на примитивной "машине" - слишком просто, такое и вручную несложно закодить.

И самое любопытное - решить задачу в общем случае. Чтобы машинка ехала по любой трассе без ошибок, а не только по одной конкретной.
Аноним 05/03/23 Вск 16:55:14 868729 103
>>868724
>Это генетические алгоритмы.
Там есть второй вариант где можно указать ожидаемый аутпут при заданных параметрах (прыгать если ниже в трубы в случае с флаапи берд например) и оно будет строить себе сеть, это уже будет называться нейронкой?

>И самое любопытное - решить задачу в общем случае. Чтобы машинка ехала по любой трассе без ошибок, а не только по одной конкретной.
Я не знаю как сделать рандомные дороги, мне даже лень текущим способом делать большой уровень, слишком геморно.
Аноним 05/03/23 Вск 17:10:15 868731 104
Аноним 05/03/23 Вск 18:41:07 868747 105
>>868724
> Или, по-твоему, ДНК тоже чему-то обучается, когда из множества клеток выживают только те, у которых ДНК хорошо приспособлена к выживанию?
Зыс.
Кроме того, неросеть сама по себе - это генетический алгоритм.
Аноним 05/03/23 Вск 18:51:07 868750 106
Аноним 05/03/23 Вск 19:54:45 868771 107
>>868750
У него там какие-то ноды которых у меня нет.
Аноним 05/03/23 Вск 20:27:23 868779 108
>>868771
Точнее есть, но не для 2д, а запиливать генерацию Polygon2D и CollisionPolygon2D по Path2D я не осилю.
Аноним 05/03/23 Вск 21:50:58 868796 109
>>868779
>генерацию Polygon2D и CollisionPolygon2D по Path2D
Возможно можно найти готовое.
Аноним 05/03/23 Вск 23:02:30 868799 110
>>868779
>запиливать генерацию Polygon2D и CollisionPolygon2D по Path2D я не осилю
Там буквально массив точек заполнить и всё.

1. Извлекаешь точки из Curve2D.
2. Дублируешь их.
3. Половину смещаешь влево.
4. Вторую половину вправо.
5. Упорядочиваешь.
6. Загоняешь в свои ноды.
7. ???
8. Ты восхитительная геймдева.
Аноним 06/03/23 Пнд 01:14:39 868817 111
>>868799
Ухх какой неверный ответ.
Курв хранит не точки линит, а хендлы Безье.
У точек нет понятий лево и право. Если ты сдвинешь фигуру L влево, ты получишь ┖ с тонкой горизонталью и толстой вертикалью
На поворотах у тебя могут наложиться грани
А что скажет физический движок, если полигон окажется с петлями и восьмерками, я даже не представляю.
Аноним 06/03/23 Пнд 02:41:37 868828 112
>>868817
>Курв хранит не точки линит
Хранит. Вернее, кэширует с заданной точностью.
https://docs.godotengine.org/en/stable/classes/class_curve2d.html#class-curve2d-method-get-baked-points

>У точек нет понятий лево и право
Но мы можем посчитать нормали вершин линии.
https://docs.godotengine.org/en/stable/classes/class_vector2.html

>На поворотах у тебя могут наложиться грани
Мы о 2D говорим ведь? Какие грани?
Рёбра просто сожмутся или растянутся.

>окажется с петлями и восьмерками
Ну так рисуй свой Path2D без петель и восьмёрок.

Мы же вроде обсуждали создание бордюрчиков?
Аноним 06/03/23 Пнд 08:46:18 868848 113
>>868828
В Curve2D можно постучать через Path2D?

Вообще я думал строить бордюрчики через PathFollow2D по оффсетам, короче как тут предложили судя по всему >>868799
Только не знаю как замкнуть Polygon2D под конец.

>>868796
Не нашел, может плохо, или не то, искал.


p.s. я немного туповат и до меня все долго доходит, но дойти может
Аноним 06/03/23 Пнд 10:54:57 868855 114
1549109997610.png 7Кб, 160x238
160x238
>>868828
>Но мы можем посчитать нормали вершин линии.
Но это уже не то же самое что ты писал "одну половину влево, другую вправо".
>Мы о 2D говорим ведь? Какие грани?
Обычные. Мы же про полигон говорим.
>Рёбра просто сожмутся или растянутся.
Перекроются на повороте.
>Ну так рисуй свой Path2D без петель и восьмёрок.
Так они могут возникнуть из кривой Безье.
Если этим пользоваться будет только автор, то надо бы как минимум выдавать ошибку при генерации полигона
А если игроку позволить рисовать карты, то тут уже простым алгоритмом не обойтись.
>Мы же вроде обсуждали создание бордюрчиков?
Хз, ветка вроде про дороги, то есть дорожное полотно?
В общем, строить такой полигон довольно нетривиальная задача с кучей разного матана, не надо вводить заблуждение ложным описание что просто точки влево-вправо подвигаешь.


>>868848
>Не нашел, может плохо, или не то, искал.
Я тоже не нашел. Есть Trail для 3d, может быть можно адаптировать.
Аноним 06/03/23 Пнд 11:22:05 868865 115
image.png 28Кб, 1061x589
1061x589
image.png 14Кб, 862x548
862x548
В принципе работает.

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

Осталось только сделать так чтобы строилась собственно дорожка по Path2D. Пойду искать как добавлять к вектору2 нужное мне смещение в стороны и повороты относительно дороги.
Аноним 06/03/23 Пнд 12:39:18 868877 116
В движке есть возможность взаимодействия с файловой системой винды? Ну типа там папки перемещать и удалять? Я просто больной извращенец который хотел бы попробовать написать простенькую прогу для своих нужд
Аноним 06/03/23 Пнд 13:08:31 868882 117
image.png 33Кб, 890x604
890x604
image.png 9Кб, 848x580
848x580
>>868865
Изи.

Но не сообразил как замкнуть кольцо, полигоны при пересечениях не отображаются вообще.
Аноним 06/03/23 Пнд 13:17:06 868885 118
Аноним 06/03/23 Пнд 15:16:47 868903 119
Разрешает лт лицензия годота сделать свой движок на его основе? И скрыть сорцы
Аноним 06/03/23 Пнд 15:22:20 868904 120
Аноним 06/03/23 Пнд 15:24:39 868905 121
>>868903
Разрещает. Вот пруфы здесь:
https://habr.com/ru/post/310976/
Конкретнее, вот тут:
>Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, слияние, публикацию, распространение, сублицензирование
Аноним 06/03/23 Пнд 15:48:05 868907 122
>>868882
Можно добавить еще один Polygon2D без маски коллизий с текстурой дороги, скрыть внешний, и будет заебись. Но мне лень.

Восьмерки и резкие повороты не переваривает, даже в луп не завернуть, но я доволен.

Еще сделал чтобы в редакторе рисовалось, в общем, то чего хотел я добился.
Аноним 06/03/23 Пнд 16:51:59 868914 123
>>868903
Да, но кроме логотипа и названия.
Аноним 06/03/23 Пнд 20:49:04 868964 124
>>868848
>В Curve2D можно постучать через Path2D?
https://docs.godotengine.org/en/stable/classes/class_path2d.html
>Property Descriptions
>Curve2D curve
>void set_curve ( Curve2D value )
>Curve2D get_curve ( )
>A Curve2D describing the path.

>Только не знаю как замкнуть Polygon2D под конец.
https://docs.godotengine.org/en/stable/classes/class_polygon2d.html#class-polygon2d-property-polygon
>The polygon's list of vertices. The final point will be connected to the first.

>>868855
>Но это уже не то же самое что ты писал "одну половину влево, другую вправо".
Это то же самое. У нас есть линия из точек, у линии в каждой точке есть "лево" и "право", мы определяем конкретные направления и сдвигаем точки. Всё. Ладно, согласен, нужно было конкретнее написать.

>Мы же про полигон говорим.
Polygon2D автоматически триангулируется. Ты просто перечисляешь точки по кругу. Дальше движок сам триангулирует всё лучшим возможным способом. Ты можешь добавить в ноду Polygon2D несколько независимых полигонов, но и они - такое же простое перечисление точек по кругу, которое потом триангулируется автоматически. Так что о гранях тебе беспокоиться не нужно, пока ты делаешь замкнутую фигуру вытянутой формы (о чём изначально речь шла - расширить кривые линии и дать им коллизии).

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

>ветка вроде про дороги, то есть дорожное полотно?
У него боты рейкастами щупают стены. Ему предложили сделать больше разных дорог (иначе нейронка запоминает один маршрут и фейлится на любом другом, чего обычно стараются избегать). Он отказался, мотивировав тем, что ему лень расставлять стены вручную. Ему предложили генерировать стены из Path2D, чтобы быстрее делать более сложные трассы. Дорожного полотна на его видео вообще не видно, там просто туннель в пещере, машинки по сплошной фоновой заливке ползут.
Аноним 06/03/23 Пнд 21:06:13 868966 125
>>868877
>В движке есть возможность взаимодействия с файловой системой винды? Ну типа там папки перемещать и удалять?
Конечно, есть. Они сделали из Godot полноценную RAD IDE, так называемый Godot Editor является демонстрацией возможностей этой системы. Твои приложения могут почти всё, что может редактор.

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

>>868903
>свой движок на его основе? И скрыть сорцы
Ты имеешь в виду "сделать форк и продавать его третьим лицам, не раздавая исходники"? Да, можно, но ты должен будешь указывать, что твой движок основан на движке Godot, который разработан такими-то людьми (список) и распространяется по такой-то лицензии. Алсо помни, что в Godot есть модули, лицензия на которые отличается от лицензии на движок в целом.

Если же ты имеешь в виду модификации движка для личного использования, то тут вообще никаких проблем нет, тебе не нужно никому сообщать о том, что ты у себя дома играешься с движком и делаешь в нём какие-то модификации. Это просто фанаты/любители любят хвастаться, что они делают на движке, а так никто их не обязывает разглашать, пока они не публикуют свои проекты в исполняемой форме. Только в опубликованной игре должна быть запись, что игра сделана на Godot (так же, как и в кастомном движке на его основе).
Аноним 06/03/23 Пнд 21:11:44 868967 126
>>868964
>The polygon's list of vertices. The final point will be connected to the first.
Это чтобы замкнуть луп и получить собсвенно полигон. Мне же нужно замкнуть луп из полигонов.

С курвом и как его применить я уже разобрался, спасибо.
Дорожное полотно я тоже придумал как сделать, еще один полигон2д на другом слое и с текстурой, а внешку скрыть, но это завтра.
Аноним 06/03/23 Пнд 21:36:14 868972 127
2023-03-0701-33[...].mp4 5016Кб, 1280x720, 00:00:16
1280x720
>>868967
Хотя на сегодня с ублюдской текстурой из интернета.
Аноним 06/03/23 Пнд 22:18:40 868979 128
>>868972
Круто, анон, молодец.

>>868967
>внешку скрыть
Зачем? Бортики нарисуй. Или тебе типа открытые дороги нужны, но чтобы боты держались центра дороги? Какова конечная цель тренировки?
Аноним 07/03/23 Втр 01:41:33 869008 129
Годаны, а как в четвёрке настроить работу с мышью в 2д-редакторе?

Раньше было как. Кручу колесо = перемещается камера; контрол + кручу колесо = масштаб. А тут наоборот, и я чёт не уверен даже, по умолчанию ли такое поведение в Г4 или я что-то не то нажал. Где смотреть?

А то как-то неконвенционально, раздражает.
Аноним 07/03/23 Втр 04:03:31 869016 130
panning.png 9Кб, 549x301
549x301
>>869008
>Раньше было как.
У тебя настройки были изменены в 3.x.

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

>Кручу колесо = перемещается камера;
По-моему, такое удобно только в редакторах, где у тебя всего одна ось смещения (текст). В 2D редакторе тебе зачастую нужно смещаться по двум осям и поэтому крутить колёсико неудобно, лучше его зажимать и смешать мышь. Поэтому колёсиком лучше регулировать приближение, без нажатия лишних клавиш, а не смещение по одной оси. Вот если у тебя мышь с двумя колёсиками или на колёсике есть возможность крутить по двум осям (слышал, вроде, были такие мыши), тогда можно понять, а так какая-то фигня получается - по вертикали крутишь колесо, а по горизонтали отдельные костыли используешь. Да и в чём проблема зажать колёсико? Обычно оно не такое уж тугое, либо можно разработать со временем. Думаю, поэтому настройка по умолчанию - зум колесом, а смещение - зажатием кнопки колеса.

Хех, пришлось покрутиться в обоих версиях редактора, прежде чем я смог понять, что тебя вообще интересует. Но я прекрасно тебя понимаю... недавно мучился из-за того, что в Blender вертикальная ось Z, а не Y, как в Godot, а я давно в Blender не заходил и уже привык к осям Godot... Когда уже запилят все функции Blender в Godot, лол? Шучу.
Аноним 07/03/23 Втр 04:39:10 869020 131
>>869016
>По-моему, такое удобно только в редакторах, где у тебя всего одна ось смещения (текст).
Вообще, я согласен, по эргономике лучше не жать лишних клавиш. Но всё же в софте, где есть прокрутка по двум измерениям и масштабирование, повсеместно используется такое управление:
Колесо = вертикальный скролл
Счифт+колесо = горизонтальный скролл
Цтрл+колесо = масштабирование по положению мыши

Когда разные интерфейсы ведут себя одинаково не по гайдлайнам или эргономике, а потому что так принято, это и называется конвенциональностью. И если какая-то одна софтина выбивается, например, потому что она дохуя заботится об удобстве пользователя, это жутко бесит. Вместо удобства выходит, что каждый раз нужно вспоминать, что тут другое управление. Обычно даже - ошибиться, разозлиться, вспомнить. Это отвлекает от работы собственно в приложении. Ну, то есть, если бы я только этим приложением пользовался, не вылезая даже в браузер, было бы норм; но везде принята другая схема управления, под которую и адаптируется мышечная память.

>У тебя настройки были изменены в 3.x.
Ну хз, я полгода в годо не заглядывал, а щас решил четвёрку пощупать.

В общем, спасибо, анонче, без тебя бы я эту опцию там не нашёл.
Аноним 07/03/23 Втр 05:45:24 869023 132
>>869020
>повсеместно используется такое управление
Я, наоборот, много где использую прокрутку зажатой кнопкой колеса + сдвигом мыши, и меня бесит, если приложение так не умеет, но при этом требуется двигать что-то сразу по двум осям.

Что я использую, из недавнего:
- с зажатым колесом:
-- Inkscape, Krita, Paint.NET, Blender, Godot;
- с зажатой левой кнопкой:
-- FastStone Image Viewer, Freeplane;
- клик колёсиком -> установка метки сдвига:
-- Firefox - часто так делаю вместо вращения;
-- Adobe Acrobat Reader - похоже, но с зажатием;
-- LibreOffice - есть, но как-то не очень удобно.

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

>не вылезая даже в браузер
Не знаю, как в хромиумах, а в Firefox нажатие колёсика ставит метку, которой прокручивать очень удобно в любом направлении - достаточно сместить мышку вбок и страница будет двигаться самостоятельно с заданной скоростью, от очень медленной до очень быстрой - мышь можно оставить в покое и читать страницу, пока она движется, колёсиком/боковым скроллом такой удобный трюк ты точно не проделаешь. В некоторых других программах часто похожее вижу, где что-то очень длинное листать колесом было бы утомительно. Наверное, это неочевидная фича, поэтому ей мало кто пользуется, сам обнаружил в своё время чисто случайно.
Аноним 07/03/23 Втр 06:48:57 869026 133
>>868979
>Какова конечная цель тренировки?
Цели нет, только путь.

>Бортики нарисуй.
Внешка рисуется вывернутым наизнанку Polygon2D, тут это видно >>868882, бортики нужно будет делать еще одной отдельной штукой.
Аноним 07/03/23 Втр 14:38:07 869063 134
>>869023
>прокрутку зажатой кнопкой колеса
Ну я тоже ей пользуюсь, но обычно для точных небольших перемещений. А если надо сдвинуться на расстояние, сравнимое с отображаемой картинкой, я уже кручу колесо.
Тащемта проблема была же не в нажатии колеса, а в его вращении.

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

>у меня уже давно на мыши стёрлость колёсико и прокрутка теперь недостаточно точная, рывками
Бля, даже читать больно. А потом оно начинает вообще тупить: крутишь в одну сторону, а крутит то туда, то обратно. И при нажатии тоже норовит крутануться.
Я в итоге плюнул и купил "игровую" мышь. Вроде уже полгода живёт и не пытается ломаться.
Аноним 07/03/23 Втр 20:43:31 869112 135
Второй день делаю свою 2D вайфу в стиле Live2D, используя лишь встроенные возможности Godot.

Что я узнал/понял на данный момент:
0. Визуальный редактор Polygon2D явно не доделан до комфортного состояния: зум в левый верхний угол, в случае ошибки нельзя откатиться на одну точку назад (как можно, например, в Inkscape, нажав ПКМ) и нельзя добавить/удалить точки в уже законченном полигоне - только начинать с нуля или двигать уже имеющиеся, либо добавить "внутренние точки" и делать свои собственные полигоны. Это всё неудобно, но терпимо. Также триангуляция по умолчанию плохо деформирует спрайт, но об этом в документации написано, нужно просто кастомные полигоны делать (рутина, но это как раз сделано достаточно удобно, просто тыкаешь точки и всё).

1. Функций Godot достаточно для создания анимаций в этом стиле. В худшем случае нужно будет смешать 2D с 3D в одной модели через вьюпорты - это следствие того, что у нас в 2D рендерере вращение только по одной оси Z, а в Live2D вроде бы по всем осям можно (?), либо можно сымитировать вращение, добавив больше костей. Главный недостаток в том, что Godot существует сам по себе, а модели из Live2D можно в самых разных программах использовать. Но для меня это не проблема.

2. Не знаю, как делают в Live2D (сам не пробовал), но некоторые вещи через анимации в Godot делать сложно, однако, на GDScript такие вещи решаются легко. Вот, скажем, поворот головы я сделал как 4 анимации по одному кадру, которые комбинируются в BlendSpace2D, но Z-order ушей таким способом настроить сложно, поэтому управляю ушами через код. Костыльно, но какие альтернативы? Если я в анимации меняю bool или +1/-1 по Z, то BlendSpace2D не интерполирует как я хочу и не даёт точной настройки интерполяции. Делать отдельные анимации под уши я не хочу, это всё усложнит и увеличит количество рутины, поэтому решил пока костыльнуть через код, там буквально одна строчка под каждое ухо. Скриптить модель в любом случае придётся, поскольку я хочу дать ей процедурное поведение - поэтому BlendSpace2D, а не простые анимации.

3. Очень много рутины. В идеале, для правильной интерполяции поворотов головы, нужно 8 анимаций, по одной на каждую сторону и ещё диагонали. Костей уже сейчас много, а будет ещё больше, т.к. волосы я пока даже не рисовал. При этом противоположные анимации должны быть симметричными, иначе будет фигня. Выворачивать спрайты по X/Y не вариант, т.к. лицо изначально может быть асимметричным (представьте себе глаза разного цвета или монокль - отражать такое не вариант). Сначала думал вручную сделать, но теперь пишу tool скрипт для автоматического отражения заданных анимаций - тогда мне нужно будет сделать в 2 или даже 4 раза меньше работы, и получить гарантированно точный результат. По понятным причинам такой утилиты из коробки в движке никогда не будет - она слишком специфична. Да и я уже не уверен, что мой скрипт что-то решит, т.к. если кости расположены не симметрично, то всё равно вручную править каждую из сторон придётся. Но, мне кажется, в Live2D рутины не сильно меньше, по скриншотам там очень сложный GUI и настроек много, по обсуждениям - они там часами возятся для тривиальной анимации, лол.

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

В конечном итоге хочу получить живые обои на смартфон или хотя бы мини-игрушку, чтобы можно было потыкать пальцем и получить реакцию. Много лет играюсь с одной такой моделькой на базе Live2D, перенося её со смартфона на смартфон, и давно хотел сделать что-то похожее, но мне не хотелось изучать Live2D или аналоги (они все платные и на японском с уродским гуем а-ля юнити, а использовать результат работы нужно в каком-то движке - и, конечно, официально они только юнити поддерживают, а под Godot никаких разработок я не видел).
Аноним 07/03/23 Втр 20:50:44 869114 136
>>869016
>по вертикали крутишь колесо, а по горизонтали отдельные костыли используешь.
Че? Шифт + скролл горизонтально стандарт практически везде.
>Да и в чём проблема зажать колёсико?
Неестественное напряжение мышц среднего пальца сбивает точность. Хотя, просто в пане это может быть не критично. Хуже, когда на среднюю+drag вешают что то важное, типа перемещения вертексов, вот тут обычно такая кривизна начинается.
Аноним 07/03/23 Втр 21:46:49 869120 137
>>869114
>Шифт + скролл горизонтально
Самый популярный и самый тупой КОСТЫЛЬ, я никогда не мог его понять. Зачем мне вообще мышь нужна, если клавиатуру использовать заставляют вместе с ней? Я бы мог просто на клавиатуре стрелочки нажимать (одной рукой!), но раз уж я взял в руку мышь... Как я одной рукой буду и мышь крутить, и контрл нажимать? Т.е. этот костыль вынуждает использовать две руки для единственной операции, если у тебя не геймерская мышь с десятком кнопок под любые хоткеи. Нет, я не однорукий инвалид, но не понимаю, зачем раскладывать одно действие (сдвиг рабочего стола на 2D вектор) на две руки, когда можно обойтись без этого, освободив вторую руку (считай, половину мозга) для других, независимых операций. Крайне раздражает этот костыль.

>мышц среднего пальца
Средний палец - для правой кнопки, а указательный палец - для левой кнопки и колёсика. Никакого напряжения нет (с разными мышами пробовал). Или ты сразу три пальца задействуешь, нажимая ПКМ безымянным? Никогда не думал, что кто-то так делает, пальцы же мешать друг другу будут и средним колёсико крутить неудобно...

>перемещения вертексов
Это другое, очевидно, что на ЛКМ двигаешь предметы, СКМ двигаешь "стол" со всем, что на нём есть, ПКМ вращаешь камеру, отменяешь операции и т.п.
Аноним 07/03/23 Втр 21:55:10 869123 138
>>869120
Уверен, что у большинства все же левый палец на лкм, а средний - на пкм либо колесике.
Аноним 07/03/23 Втр 22:12:43 869127 139
Как правильно д[...].jpg 123Кб, 1280x720
1280x720
>>869123
>средний - на колесике
Ладно, у каждого свои привычки.
Аноним 08/03/23 Срд 15:34:44 869253 140
Аноны, как сделать, чтобы контрол нод с большим z индексом получал инпут ивенты вперед тех, у кого этот индекс меньше?
Аноним 08/03/23 Срд 15:55:53 869256 141
>>869112
Жаль что я не могу так же...
Аноним 08/03/23 Срд 16:11:16 869261 142
а draw_line она один раз на текстуре нарисует или создаст правило, чтобы потом каждый кадр это рисовать?
если я у контрола рисую draw_line, то он мне размер текстуры расширяет?
Аноним 08/03/23 Срд 16:32:53 869262 143
>>869123
> Уверен, что у большинства все же левый палец на лкм, а средний - на пкм либо колесике.
нет, на колесике тоже указательный
Аноним 08/03/23 Срд 17:28:33 869266 144
Бля, я что-то сломал и теперь режим тренировки не тренит NN, когда его выключаешь они просто едут в стену. А генетический вариант не так интересен.
Но это уже не для треда вопросы я думаю.

Ну и хуй с ней, придумаю другое занятие. Или нихуя не буду делать полгода, как до этого.
Аноним 08/03/23 Срд 17:48:01 869271 145
>>867818
ЕБАТЬ НАХУЙ! Истина! Как я ахуеваю с этих, блять, Оксфордо-Гарвардских лекций по 300 часов+ на одну только тему переменных. Ебать, прежде, чем что-то выучить, заебешься искать норм атериал, чтоб приятно было слушать, строго по делу, ясно, понятно и КОРОТКО. Учил тот же Питон по Лутцу, чуть не захлебнулся от воды и занудности. Пошел на ютуб, там лекции о переменных в питоне по 2 часа. Да ебать. Такие занудные, унылые ебанаты только отбивают желание что-либо учить. Заикающимся голсоом умирающего лебедя чё-то бормочет себе под нос три часа. Я хуею с долбоебов.

P. S. Мани, которые хотят таких защитить, высрав что-то типа "ну-ну, учи свои 5-минутные уроки, поверхностно всё нахватаешь и нихуя знать не будешь". Да нихуя. От того что два человека отвечают на один вопрос по-разному - нихуя не меняется. К примеру, спрашивают "Сколько букв в слове ХУЙ?"
1. Один отвечает "Три".
2. А второй начинает заикаться, пердеть, сморкаться, пошел поссать на пару минут, потом в тетрадку заглянул, потом начал кукарекать "В слове ХУЙ содержится три буквы русского алфавита - Х, У, Й".
Пиздец, я вторую категорию в рот ебал. Обмороки хуевы. Нахуя так растягивать то, что можно за сотую долю секунды ответить и всё? Если мне, потом, что-то понадобится более углубленно изучить - я изучу, уже сам, на интересе. Я сразу хочу принимать активное участие и набивать руку, видеть маленькие результаты своих действий, программировать, а не слушать об оттенках интерфейса Годот или Visaual Studio Code, целых полгода, по три часа в день. Типа, блять, ПОЛНЫЙ КУРС. Настоящий мастер объясняет коротко и ясно, и понятно, а не рассусоливает 2+2=4 на месяц.
Аноним 08/03/23 Срд 18:19:03 869274 146
Аноним 08/03/23 Срд 19:17:54 869284 147
>>869271
закрой для себя мир видео и открой мир письменности. начни с туториалов.

ты ахуеешь конда поймешь что в тексте НЕВОЗМОЖНО гундеть, пердеть, мямлить и отходить поссать :) просто косом по сравнению с ютьюбным байтом для начинающих даунов
Аноним 08/03/23 Срд 19:23:40 869285 148
Аноним 08/03/23 Срд 20:10:11 869288 149
>>869266
перепроверь пути до обучающей выборки или на чем ты там тренишь
Аноним 08/03/23 Срд 20:11:04 869289 150
>>869271
> лекции о переменных в питоне по 2 часа
Питон это же так просто, да
Аноним 08/03/23 Срд 20:40:43 869294 151
>>869288
Все работает и веса меняются, но не устаканиваются, может мало держу, хз. Тренится по ходу.
Аноним 08/03/23 Срд 22:02:36 869302 152
>>869256
>Жаль что я не могу так же...
Чего не можешь? Рисовать? Анимировать?

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

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

Обычный 2D скелет подразумевает, что связанные друг с другом кости наследуют смещение, масштаб и поворот. Но Live2D моделька подразумевает, что зависящие кости могут смещаться и масштабироваться нелинейно, по каким-то заданным формулам (вроде того, что при повороте головы налево левый глаз должен слегка сжиматься по горизонтали, имитируя 3D перспективу). Я не нашёл способа задать эти формулы в Godot, кроме как писать скрипт на GDScript или использовать BlendSpace2D между несколькими заданными положениями...
Аноним 08/03/23 Срд 22:12:40 869306 153
>>869253
>получал инпут ивенты вперед
Мне кажется, никак. Порядок получения событий зависит от порядка в дереве сцены, а не Z индекса.
https://docs.godotengine.org/en/stable/tutorials/inputs/inputevent.html#how-does-it-work

>>869261
>draw_line она один раз на текстуре нарисует или создаст правило, чтобы потом каждый кадр это рисовать?
Если ты реализуешь свой метод _draw:
1. Твой код выполняется единожды после каждого update, после чего результат кэшируется и твой метод не выполняется, но картинка рисуется.
2. Если тебе нужно сместить что-то на рисунке, тебе нужно вызывать update принудительно, только тогда твой код в _draw сможет изменить картинку.
3. Если у тебя очень сложная графика в _draw, несмотря на кэширование, она будет сильно тормозить игру; для оптимизации используй вьюпорты.

>если я у контрола рисую draw_line, то он мне размер текстуры расширяет?
Чего? У тебя нет никакой текстуры. Контрол рисует не на текстуре, а прямо поверх экрана. Поэтому тебе нужно использовать вьюпорты, если ты планируешь рисовать очень много всего.

Узнал об этом опытным путём на 3.x, рисуя карту.
Аноним 08/03/23 Срд 23:18:30 869319 154
>>869271 >>869284
В предыдущем треде обсуждали, почему видео-"уроки" - УГ, служащее только для развлечения школоты и набивания карманов "преподавателей".

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

Если бы я хотел посмотреть на твою морду, я пошёл бы в соцсеть какую-нибудь, где ты высрал целый альбом со своей унылой мордой... Почему так много видео, где автор светит лицом на вебку? Возмутительно, как будто силой на нудистский пляж притащили.
Аноним 08/03/23 Срд 23:24:03 869320 155
>>869319
По очень прагматичной причине. Если ты будешь стримить только разработку, то есть только экран годота, то среди потока всех видео будет непонятно кто именно стримит, ничем не выделишься среди превьюшек видосов. Короче, создается привязка что именно некто тебя учит, и зритель потом идет именно к этому автору. Плюс еще конечно если нормальная мимика и зритель не аутист, то создается эмоциональный отклик, что рассказывает живой человек, используется невербальное общение - если что-то не получилось, ты увидешь как он покачает головой.
Конечно, некоторые ставят аниме кошкодевочек на аватарку, но тут можно нарваться на анимехейтеров или собачников
Аноним 09/03/23 Чтв 02:30:56 869352 156
Аноним 09/03/23 Чтв 02:32:17 869353 157
>>869320
>ничем не выделишься среди превьюшек видосов
Как будто так трудно нарисовать превьюшку со своим логотипом.

>>869319
>В предыдущем треде обсуждали
Один шиз высрал тезис о каких-то там ютуберах с монетизацией, на что ему ответили, что большинство каналов с годотоуроками на 1к подписоты и в среднем 300 просмотрами делаются из чистого альтруизма. На самых крупных каналах есть патреон, но там тоже капает максимум баксов 50 в месяц.
Аноним 09/03/23 Чтв 08:52:17 869366 158
>>869306
просто мне кажется, что когда я вызывают что-то около сотни draw_line() у control-а, то он как будто каждый их рисует, потому что это начинает тормозить
а второе предположение было, что он их рисует и кеширует текстуру, потому что если рисовать что-то в гораздо больших координатах, то оно тоже тормозит, вот и ищу причину в чем именно эти тормоза
ведь получается, что если он единожды вызывает, то значит кеширует текстуру, значит если сильно за пределами рисовать, то и получается, что большую хранить начинает и идут лаги
Аноним 09/03/23 Чтв 15:47:55 869418 159
>>869366
Про display list в OpenGL знаешь?
http://www.songho.ca/opengl/gl_displaylist.html

Вот _draw в Godot делает что-то похожее по сути. Движок вызывает твой код, и сохраняет последовательность команд, которые твой код запрашивает. Дальше твой код не выполняется повторно - вместо него выполняется некая последовательность команд, сформированная движком. Каждый кадр. С одной стороны, это экономно для простых рисунков, которые можно неограниченно масштабировать (т.к. рисунок векторный, без растрирования в текстуру), но когда ты запрашиваешь сотни команд за один _draw, это бьёт по производительности и поэтому требует оптимизации путём рендеринга в текстуру.

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

Но это всё мои предположения. Нужно идти смотреть исходники на гитхабе и искать обсуждения, если тебе нужно знать точно, как это всё работает и почему.
Аноним 09/03/23 Чтв 16:21:43 869424 160
>>869418
а как еще рисовать способы есть, кроме put_pixel у имеджей? только там свои алгоритмы для линий накидать нужно будет, но должно точно тогда экономнее быть, хоть и изначально дольше строить
Аноним 09/03/23 Чтв 17:08:15 869434 161
Возвращаюсь в разработку, смотрю чего нового.
Zylann не будет портировать Heightmap terrain в 4.
Он сосредоточится на воксельном террейне.
Под 3 сделали еще один террейн: https://github.com/ozzr/godot_terrain
Под 4 хотят сделать официальный плагин, но который не будет частью движка.
Предложение здесь https://github.com/godotengine/godot-proposals/issues/6121 кажется, Хуан просто описал фичи зиланновского
Репа, кажется эта https://github.com/outobugi/Terrain3D
Аноним 09/03/23 Чтв 17:57:35 869442 162
>>869434
угу, тоже хотим в этот проект вписаться, чтобы релизнулся
Аноним 09/03/23 Чтв 19:11:33 869463 163
Пидорский движок обновился сам до версии 4.0 и сломал мне все нахуй. Как вернуть все назад?
Аноним 09/03/23 Чтв 19:21:02 869464 164
>>869463
Это где он у тебя обновился? В стиме? Или в линуксе?
Аноним 09/03/23 Чтв 19:22:10 869466 165
>>869464
стим
>>869463
Фух, все вернул на место. Благо только godot.project зааффектил. Только текстурки реимпортнуть и норм
Аноним 09/03/23 Чтв 19:25:05 869467 166
>>869466
Подстава конечно. Поэтому просто скачивай с сайта нужную версию. Ему же не нужна установка.
Аноним 09/03/23 Чтв 19:48:18 869476 167
>>869463
> Пидорский движок обновился сам до версии 4.0 и сломал мне все нахуй. Как вернуть все назад?
ну если ты такой криворукий, что даже не можешь скачать предыдущую версию движка, то тебе стоит оплатить услуги программиста
Аноним 09/03/23 Чтв 20:11:41 869483 168
>>869476
Не, он мне godot.project переписал. Благо, его не сложно было привести в нужное состояние
>>869467
Йеп, я уже. Спасибо
Аноним 09/03/23 Чтв 20:23:29 869488 169
>>869424
>а как еще рисовать
>экономнее
1. Создаёшь SubViewport и настраиваешь.
2. Добавляешь в него свой Control с _draw.
3. Вьюпорту ставишь параметр UPDATE_ONCE:
https://docs.godotengine.org/en/stable/classes/class_subviewport.html#class-subviewport-property-render-target-update-mode
4. Получаешь текстуру, которую можешь использовать как любую обычную текстуру.
Аноним 09/03/23 Чтв 20:25:56 869490 170
1583127811724.png 1304Кб, 1920x1080
1920x1080
>>869434
>Terrain3D
Немного пляски с бубном, получилось запустить, но мало фич.
Аноним 09/03/23 Чтв 21:36:36 869504 171
Так, всё, террейн в годоте уже изобрели, нужно что-то другое придумать, чтобы оригинально было...

снова забил на игру и прокрастинирую
Аноним 09/03/23 Чтв 21:40:15 869506 172
4-74.jpg 55Кб, 636x725
636x725
>>869504
На пикриле я, после нескольких лет ковыряния в прототипах игры мечты, думаю о том, что пора начинать с чистого листа... снова.

Прощайте, увидимся завтра.
Аноним 09/03/23 Чтв 21:46:28 869507 173
>>869506
Изобрети синглтон.
Аноним 10/03/23 Птн 01:07:36 869531 174
>>869319
>>869284
Годотеры, уважаю вас, братва, но не порите хуйни. Видео-уркои нужны и видео-уркои ВАЖНЫ. Бывает сталкиваешься с какой-то вещью, которую никак сам не поймешь, че и как. И прочел кучу материала уже, но просто врубаешь ролик, там в две секунды показывают куда и че нажать, и как прописать и всё сразу ясно. Сам я ща прочел офф.документацию по созданию 2Д-платформера и после чтения и самотыкания в годоте всей этой хуйни, я пошел смотреть уркои на ютубе по 2Д-платформерам, и читать статьи на других сайтах, чтоб посмотреть как другие это делают, че добавляют, как усложняют игру и т.д. и т.д.. А офф.документалка стала отправной точкой.
Аноним 10/03/23 Птн 01:56:41 869539 175
1541895771897.png 16Кб, 1157x39
1157x39
Предупреждения в 4 такие же обскурные, как и в 3 бывали.
Аноним 10/03/23 Птн 03:10:17 869545 176
1601531941334.png 2593Кб, 1920x1080
1920x1080
Ну что, перекатываюсь потихоньку.
Аноним 10/03/23 Птн 03:27:30 869548 177
1613774163800.png 2312Кб, 1920x1080
1920x1080
40 текстур 2к тяжело идут, завтра порежу до 512 и посмотрю.
Аноним 10/03/23 Птн 04:08:23 869552 178
1525208399144.png 2434Кб, 1920x1080
1920x1080
>>869548
В общем, чуда с вулканом не произошло.
Травка убивает фпс, но и просто куча пбр объектов даже с 512 текстурами и выключенным VoxelGI
Причем вулкан ведет себя очень странно. Он работает секунду быстро, до 24 фпс, а потом секунду висит, не понятно что он там делает, взад вперед загружает все что ли.
На этом переходить на 4.0 я передумал, на 3.5 у меня получше результаты.
Аноним 10/03/23 Птн 06:45:20 869553 179
>>869463
Ну так в стиме можно выбирать версии в ручную же, через настройку. А у меня кста в стиме он сам не обновился и пришлось самому в настройках ставить 4 версию.
Аноним 10/03/23 Птн 13:21:35 869588 180
>>869552
>Травка убивает фпс
Мощная трава. Рязанский геймдев?
Аноним 10/03/23 Птн 16:51:47 869623 181
>>869552
>На этом переходить на 4.0 я передумал
А я передумал переходить на четвёрку, когда она попортила сцену, от которой наследовали другие сцены. Хорошо, что это был всего лишь тестовый проект, чтобы разобраться в нововведениях.
Аноним 10/03/23 Птн 16:56:37 869624 182
>>869623
Уже после беты? Ну, так то обычно сцену легко исправить. Это текстовый файл, можно руками что-то переписать, можно сравнивать изменения с прошлыми версиями, если вести проект в гите.
Аноним 10/03/23 Птн 19:12:53 869632 183
1536146726451.png 2568Кб, 1920x1080
1920x1080
1587799831939.png 2Кб, 231x41
231x41
1673854017696.png 468Кб, 1342x541
1342x541
1582109145447.png 518Кб, 1328x671
1328x671
>>869552
В общем, поигрался с параметрами, попробовал разные сочетания, пока не получается найти однозначно причину.
SSAO не вызывает застреваний, просто снижает с 90 фпс до 30, но все стабильно.
Небо HDR не вызывает

SDFGI вызывает, но на слабом компе это ожидаемо.
Один из подозреваемых - VoxelGI вызывает, даже если сделан невидимым.
Второй подозреваемый - эти два объекта, со сложной геометрией и кучей отражений/прозрачностей.
При этом, дома с отражением неба в окнах - не вызывают.

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

После удаления VoxelGI и вазы с тележкой - стабильные 90 фпс.

Вечером еще попробую большие лоу-поли города погонять.
Аноним 10/03/23 Птн 21:44:07 869650 184
>>869632
>какие-нибудь сложные геометрии в сочетании с (пере)отражениями при рассчете света или теней, выполняют в вулкане какие-то циклы или рекурсию, как они там считаются хз.
Хотя странно, тогда бы было постоянно медленно, а не burst-ами быстро. Может быть какая-то карта отражений гоняется или пересчитывается.
Аноним 10/03/23 Птн 22:09:05 869657 185
>>869507
>Изобрети синглтон.
Задолбал, тебе мало в движкосраче досталось?

Я от синглтонов давно избавился. Стало легче.
Аноним 10/03/23 Птн 22:17:01 869658 186
>>869531
>врубаешь ролик, там в две секунды показывают куда и че нажать, и как прописать
Мои соболезнования твоей афантазии, таких как ты 2%, которые не видят картинки у себя в мыслях в процессе чтения текста.

Я не говорю, что видеоуроки вообще бесполезны, в каких-то отдельных областях они полезнее, например, в рисовании лучше увидеть как именно кто-то рисует, чем прочитать описание того, как надо рисовать. Но смотреть видеоуроки про программирование - это абсурд, с тем же успехом можно смотреть видеоуроки про писательство, где какой-то чувак от руки на бумаге старинным пером пишет рассказ, записывая это на камеру у себя на лбу. А ты всего-то хотел узнать, как структурировать рассказ (начало, развитие сюжета, конец, что там ещё), а не смотреть эту унылую рутину, которую любой дурак знает (кроме совсем уж дошкольников, которые ещё не научились писать или печатать).
Аноним 10/03/23 Птн 22:26:50 869662 187
>>869624
>текстовый файл, можно руками что-то переписать
Ты сам-то пробовал?

Некоторые вещи в сценах действительно можно поправить в текстовом файле. Вроде именования и типов нод, ссылок на файлы и т.д. Но ты замечал в самом начале файла сцены запись про версию и количество проходов? Вот это количество проходов смущает. Я не знаю, есть ли где-то документация на эту тему, я не видел. Но, судя по всему, движок не сможет загрузить сцену, если у неё будет неправильно объявлено это число проходов. Из чего оно формируется? Из добавленных ресурсов? Ссылок на внешние файлы? Хрен его знает. Я пытался автоматически портировать проект на 4.0, в результате одна из сцен вообще перестала открываться. Открыв в блокноте не увидел никаких аномалий. Наверняка ошибка в где-то процессе загрузки, какие-то параметры заданы неверно, но какие именно? Движок ничего об этом не говорит, просто "сцена не загрузилась" и всё. Единственным выходом вижу открыть эту сцену в 3.5 и вручную воссоздать в 4.0. Но мне лень, всё равно всё буду переделывать...
Аноним 10/03/23 Птн 22:45:05 869665 188
>>869662
>Ты сам-то пробовал?
Да, несколько раз приходилось, при смене какой нибудь беты. Создавал тестовый проект, там в редакторе делал ноды, смотрел какой будет синтакс, правил в рабочем проекте.
Аноним 10/03/23 Птн 22:50:31 869666 189
>>869632
>два объекта... кучей... прозрачностей
Не вижу на твоих объектах прозрачности.

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

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

Алсо, что значит "лоу-поли"? У меня лоу-поли "город" рендерился без проблем в 3.x, ведь кубы без текстур никакой особой оптимизации не требуют.

И опиши своё железо, это имеет значение.
Аноним 10/03/23 Птн 23:20:09 869668 190
1591974250431.png 285Кб, 761x302
761x302
1575111006363.png 583Кб, 1920x1080
1920x1080
1562675897427.png 1160Кб, 1380x779
1380x779
1642689796618.png 68Кб, 1558x507
1558x507
>>869666
>Не вижу на твоих объектах прозрачности.
Может быть там нет прозрачности, я модель детально не изучал. Подумал, что может быть там прозрачные колбы, но может и нет, тогда остается пока все тот же общий фактор для тех объектов - отражающие поверхности.
>добавили (судя по старым описаниям) автоматические LOD и ещё что-то про скрытие объектов, я сомневаюсь, что большая модель города будет сама собой оптимизироваться.
Ну вот я и хочу попробовать. И одной моделью, и много домиков спавнить, и порасставлять окклюдеры.
Что-то из такого плана.
Алсо домики и без текстур могут быть не кубами, а довольно сложной геометрией.
Но ты прав, надо и с текстурами попробовать. С текстурами у меня большой пак скачан, под CC-BY
>И опиши своё железо, это имеет значение.
Да не особо, слишком специфичное поведение. Я такого не видел. Чтобы просто медленно работало - видел, чтобы загружались чанки в гта5 - видел.
Аноним 10/03/23 Птн 23:38:03 869670 191
gnomeasci.jpg 43Кб, 640x533
640x533
gnomeallgird.jpg 48Кб, 739x620
739x620
>>869668
>модель детально не изучал
Всё ясно с тобой, ассет-флипать захотелось?

СКАЧАЛ КАКОГО-ТО ГНОМА ИЗ ИНТЕРНЕТОВ
@
ТАКИ ПОЧЕМУ ВАШ ДВИЖОК ТОРМОЗИТ???


>не кубами, а довольно сложной геометрией
"Лоу-поли город" подразумевает "кубы вместо домов", как в каком-нибудь градостроительном симуляторе.

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

>загружались чанки в гта5 - видел
У тебя диск медленный или процессор <4 ядер, с SSD и 4 ядра чанки грузятся мгновенно. По крайней мере, на минимальных моделях/текстурах (мыло).
Аноним 10/03/23 Птн 23:45:47 869673 192
>>869670
>СКАЧАЛ КАКОГО-ТО ГНОМА ИЗ ИНТЕРНЕТОВ
Вообще то не какого-то, а тестовую сцену GodotGarden которую ассетфлипнул Calinou для тестов. Только я еще добавил террейн, чуть травы, и контроллер персонажа, чтобы было хоть немного ближе к реальному кейсу.
>т.е. стабильный FPS в играх редко бывает.
Это вообще другое. Тут секунду нормальная скорость (30), секунду вообще пауза. Если бы было постоянно 5 фпс, это было бы объяснимо.
>SSD и 2 ядра чанки грузятся мгновенно, на минимальных моделях/текстурах
Только если неспешно идти, а вот если на максимальной скорости гнать на моцике, там как раз чуууточку не хватает.
Но это опять же не так важно, поскольку как тут может участвовать SSD? Если я стою на месте и смотрю на одну сцену. Что может загружаться туда сюда? Если разобраться, то это можно отключить или не использовать. инб4 годот
Аноним 10/03/23 Птн 23:56:51 869674 193
>>869670
Ты волен называть лоу поли что хочешь, я говорю про низкополигональные домики, скажем до 10к полигонов, в идеале ближе к 1к за хрущевку без изысков. Церковь на 3 скрине 16к поликов, но она как бы состоит из 5 домиков. Лоу поли не означает ровно 6 граней в кубе, балкончики, бордюры, подоконники, колоннады, это все еще простые конструкции.
Аноним 11/03/23 Суб 00:05:04 869677 194
>>869673
Про чанки в ГТА я имел в виду, что это другое - там тебе ядер ЦПУ не хватает, чтобы вовремя закидывать данные в видеокарту, при том что на ЦПУ ещё физика работает и игровые скрипты.

Здесь же всё сразу в видеокарту загружаться должно... С другой стороны, если есть прозрачные материалы (вернее, идущие в отдельный "прозрачный" пайплайн (?)), то их процессор как-то сортирует каждый раз, чтобы они нормально отображались.

>секунду вообще пауза
Проверь в дебаггере Годо и ещё по диспетчеру задач, что именно у тебя вызывает нагрузку. В идеале, для точного поиска проблемы, нужна та программа, которая ковыряется в процессе рендеринга любой игры, позволяя рассмотреть каждый дроу колл, но я не помню название программы.

>GodotGarden
Напиши в комменты этой демо-сцены, что вот такая-то конкретная модель на твоём железе на такой-то версии Годо вызывает серьёзную просадку + пропуки, создателям сцены должно быть виднее, в чём проблема. А откуда конкретно ты взял эту демку? Я нашёл только это:
https://github.com/godotengine/godot/issues/63374

>>869674
>16к поликов
Да уж, лоу-поли сегодня не очень лоу...
Аноним 11/03/23 Суб 00:06:50 869678 195
>>869677
> которая ковыряется в процессе рендеринга любой игры, позволяя рассмотреть каждый дроу колл
RenderDoc валялся где то, не помню че там по вулкану.
Аноним 11/03/23 Суб 00:09:11 869679 196
>>869678
>не помню че там по вулкану
Есть.
>RenderDoc is a free MIT licensed stand-alone graphics debugger that allows quick and easy single-frame capture and detailed introspection of any application using Vulkan, D3D11, OpenGL & OpenGL ES or D3D12 across Windows, Linux, Android, or Nintendo Switch™.
Интересно, как они андроид и свитч перехватывают?
Аноним 11/03/23 Суб 00:11:28 869680 197
Аноним 11/03/23 Суб 00:33:40 869683 198
1603315761422.png 1945Кб, 1920x1080
1920x1080
Запустил сейчас снова движок, добавил вазу и тележку - не лагает.
Добавил VoxelGI - лагает. Убрал - не лагает.
Возможно он неправильно удаляется, может быть даже ссылка на него оставалась в объектах с отражающей поверхностью, раз их удаление помогало, ведь они по идее принимают GI.
Аноним 11/03/23 Суб 00:38:02 869685 199
Аноним 11/03/23 Суб 00:56:09 869686 200
Пасаны, вкатываюсь в Годот, хочу делоть, для начала, 2D-игоры. Стану новый Джон Кармак. Прочел гайд на офф.сайте, по созданию игоря про человечка, который уклоняется от других таких же человечков, а че дальше? Есть ресурсы для 2Д-девелоперов на годоте? Я еще параллельно ковыряю Aseprite, прикольная тема эта, пиксель арт. На ДэвиантАрте люди ваще вещи делают! Есть базовый урвоень знания Питона, но он, блять, перестал поддерживаться в Годоте, ёбаный С# или С++ только, а мне лень их учить, ну их нахуй, с этими их точками с запятыми.

P. S. Нихуя ни понЕл как установить SmartShape2D
Аноним 11/03/23 Суб 01:01:15 869687 201
eb28a127120ebf6[...].jpg 63Кб, 640x694
640x694
>>869685
>он просто не готов
Ничего страшного, мы подождём.
Аноним 11/03/23 Суб 01:14:18 869688 202
>>869686
>че дальше?
Игори делать. За все эти годы в интернете накопилось очень много всяких книг, статей, видео и т.п. про разработку игр. Берёшь что нравится... Разницы в плане движка особой нет. Главное знать базовые инструменты движка: дерево сцены, ноды, скрипты и всё такое. Освой базовые возможности движка и скриптинг и сможешь делать простые игры без каких-либо туториалов.

>Есть ресурсы для 2Д-девелоперов на годоте?
Большинство игр на Годо в 2Д, 3Д игр мало. Так что просто ищи ресурсы по Годо. В шапке треда смотри.

>Есть базовый урвоень знания Питона, но он, блять, перестал поддерживаться в Годоте, ёбаный С# или С++ только, а мне лень их учить
Чего? Python в Godot официально никогда не поддерживался, официально есть только GDScript и с ним всё в порядке. Официальной поддержки лишился только VisualScript, который в процессе жизни 3.x оказался практически никому не нужен. Есть неофициальная поддержка множества сторонних языков, среди которых, возможно, есть и Python, но смысла в этом нет, т.к. GDScript достаточно похож на Python. Я не понимаю, как ты умудрился пройти официальный туториал и не знаешь про GDScript...

>точками с запятыми
В GDScript можно ставить точку с запятой после любой команды, но это по желанию. Без точки с запятой следующая команда должна быть на новой строке, а с точкой с запятой можно собирать кучу команд на одной строке, как диды делали, да.

>установить SmartShape2D
У него пока нет поддержки для 4.0. Подожди авторов этого аддона, чтобы они портировали его на 4.0, т.к. сам ты вряд ли сможешь переписать код (но это возможно).
Аноним 11/03/23 Суб 01:16:51 869689 203
Аноним 11/03/23 Суб 01:54:30 869690 204
>>869624
>Это текстовый файл
Всё созраняю в бинарных .scn, во имя быстродействия.

>>869658
>таких как ты 2%, которые не видят картинки у себя в мыслях в процессе чтения текста.
Нет, это таких, которые видят картинки в процессе чтения технического текста, вот таких как раз 2%. У всех остальных всё-таки знания лучше усваиваются в мультимедийном формате.

>Но смотреть видеоуроки про программирование - это абсурд(...)
Сразу видно, ни одного видеоурока ты ни разу не смотрел.
Вообще-то в видео-туторах не просто программирование на камеру. Там комплексная аудиовизуальная информация с пояснением каждого шага. Она работает сразу на нескольких уровнях:
1. Текст - ты видишь готовый код, который тебе в процессе разъясняют, чуть ли не каждое слово;
2. Звук - разъяснение идёт голосом, так что включается сдуховой канал восприятия;
3. Результат - тебе не просто говорят, что делать, но ещё сразу показывают, как это будет работать в частично готовой игре;
4. Чувство причастности - если ты повторяешь за показанным в ролике;
5. Развлечение - авторы видосов заинтересованы делать их увлекательными и визуально привлекательными, чтобы удержать аудиторию, так устроен ютуб.
В видео-уроках принципиально иной подход к подаче материала, нежели в текстовых туторах. Они буквально за ручку тебя ведут через процесс создания игры, создают её вместе с тобой. Текстовые зачастую пропускают важные стадии, например, ожидая от тебя, что ты сам догадаешься пройти по ссылке и почитать. Ну и конечно же, повторяя за видео, ты ощущаешь уверенность, что всё, что ты делаешь, должно работать, ведь тебе это показали; копируя код из текстового тутора, ты этой уверенности лишён, так что, если что-то не работает, неизвестно, это ты скопировал неправильно или что вообще пошло не так.
Ну а доки так вообще. Туда можно лезть только если ты уже точно знаешь, что хочешь получить, и тебе нужно просто узнать, какая функция в апи за это отвечает.

Нет, я всё же считаю, что доки у годота охуенные. И текстовые туториалы тоже. Но видео всё же более эффективны в качестве обучающего материала. Это как если бы в школе были только учебники, никаких учителей.
Аноним 11/03/23 Суб 05:44:07 869695 205
>>869690
2,3,5 - вкусовщина и многое работает только уж на совсем маленьких детей
Аноним 11/03/23 Суб 08:37:51 869703 206
>>869690
> Чувство причастности
Звучит как кринж.
Аноним 11/03/23 Суб 09:31:26 869705 207
>>869690
>повторяя за видео, ты ощущаешь уверенность, что всё, что ты делаешь, должно работать, ведь тебе это показали
Делаешь - не работает, потому что автор видео мудила и исправляет незамеченные баги в следующей серии. А так как тебя ведут за ручку все время, искать информацию сам ты не обучен, в итоге не дождавшись следующей серии своей гайд-иконы ты дропаешь годо по причине "да должно же работать, ведь все как в видосе".

Зачем вообще разделять текстовые/видео гайды, лутай инфу из всего до чего дотянешься.
Аноним 11/03/23 Суб 10:17:14 869710 208
godot.png 93Кб, 940x628
940x628
в пределах скрипта как-то можно ускорить такую задачу?
Аноним 11/03/23 Суб 10:31:42 869711 209
>>869710
Неизвестно какая у тебя в целом задача.
Рисовать рандомным цветом можно в шейдере.
Аноним 11/03/23 Суб 11:06:04 869715 210
Ассет стор со спрайтами для годоты?
Аноним 11/03/23 Суб 11:08:52 869716 211
Аноним 11/03/23 Суб 11:09:47 869717 212
>>869690
>Всё созраняю в бинарных .scn, во имя быстродействия.

И какой прирост? Ты замерял?
Аноним 11/03/23 Суб 11:10:30 869718 213
>>869716
Появился ли за прошедшие годы магазин ассетов для годоты. 2D.
Аноним 11/03/23 Суб 11:13:43 869721 214
>>869711
ну общая задача - в реалтайме выдавать текстуру, у которой будет изменятся цвет пикселя по какому-либо алгоритму, зависящему от параметров, которые тоже могут меняться каждый кадр
с передачей в шейдер попробовал, там больше вроде тормозит или как минимум на том же примерно уровне, пока самое быстрое - это дату имиджа менять
Аноним 11/03/23 Суб 11:16:46 869723 215
>>869718
Зачем? 2D не требует каких-то особых механизмов. Скачиваешь картинку (с доступной лицензией, конечно) в любом месте, например opengameart, itch. Перетаскиваешь спрайт в папку и готово.
Я просто окуеваю. На днях видел человек продавал 3D камень для Годота за $15. Почему именно для годота, непонятно, обычно пишут совместимо с такими то движками, но даже если нет, тривиально конвертируется.
Аноним 11/03/23 Суб 11:24:20 869726 216
>>869723
Так это для кретинов вроде >>869715 этого, если не написано для %движокнейм%, значит придется пердолится с конвертом или еще какие-то действия, им нужно чтобы взял - вставил - работает.
Аноним 11/03/23 Суб 11:40:08 869733 217
>>869726
короче бизнес-схема, конвертим 3D модель в .import годота и продаем как специализированный готовый формат для движка, за дополнительную плату можем конвертить в форматы других движков, план-огонь
Аноним 11/03/23 Суб 11:41:05 869735 218
>>869726
>>869723

Сообщество годота полнится долбоебами.
Аноним 11/03/23 Суб 11:49:01 869737 219
>>869735
А может ты долбоеб? Что тебе нужно от ассет стора?
2500+ пак материалов или десяток скролл бекграндов за 70 баксов?
Аноним 11/03/23 Суб 12:23:15 869742 220
>>869688
> GDScript достаточно похож на Python. Я не понимаю, как ты умудрился пройти официальный туториал и не знаешь про GDScript
Знаю, на нем и писал игрулю. Мне он понравился, прикольный и понятный зык. Но есть ли профит учить его полоценно, как какой-нибудь С++ или Пайтон - вот в чем вопрос.
>>869689
Тож уже шерстил эту тему, но эт костыли ебаные
>>869690
Сыглы)) Пацаны, походу, смотрели видео-туторы чуваков из гайда "Как рисовать сову" - сначала рисуем круг, потом всё остальное))
Аноним 11/03/23 Суб 12:30:35 869744 221
>>869742
>Но есть ли профит учить его полоценно, как какой-нибудь С++ или Пайтон
Так он маленький, меньше питона. А с++ можно учить и 20 лет и не выучить.
Аноним 11/03/23 Суб 12:35:01 869745 222
>>869434
>>869490
Я пришёл к выводу, что заморачиваться с навороченными террейн-ассетами нет смысла. Опенворлд в соло не запилить (если кто-то желает возразить, запилите в соло и покажите здесь опенворлд хотя бы уровня скайрима, 2011 года, слабо?) поэтому стоит сконцентрироваться на камерных проектах (камерность, это когда ворлд не опен), а тут террейны не нужны, тут нужнее генерация динамических коридоров с комнатами.
Аноним 11/03/23 Суб 12:47:18 869747 223
Аноним 11/03/23 Суб 12:52:10 869749 224
>>869745
скайрим в одно лицо не вывезешь тем, что там физически контента столько одно лицо не сделает
Аноним 11/03/23 Суб 13:37:36 869751 225
>>869749
А я вот пилю свою игру мечты потихоньку. Полагаюсь на генерацию, в частности на блендер геометри ноды. Прикол в том, что надо просто сосредоточиться и продумать схему, тогда потом контент клепать легко. Прямо как в какой то книге сказано, work smart, not hard.
Аноним 11/03/23 Суб 14:43:42 869757 226
>>869715
Разве лицензия годота позволяет торговать? Я где-то читал, что лизенционое требование, чтобы всё было бесплатно.
Аноним 11/03/23 Суб 15:02:46 869760 227
Аноним 11/03/23 Суб 15:05:43 869762 228
>>869757
Нет, такого требования в принципе не может быть. Даже в блендере аддоны под gpl продаются.
А сам Годот вообще под MIT лицензией, то есть можно продавать даже его. Более того, такая лицензия специально выбрана, чтобы ни у кого, делающего под движок контент, не возникало проблем.
Просто, поскольку сам движок опен сорс, то в сообществе считается хорошим тоном делиться своими наработками в опенсорс, выкладывать аддоны, показывать код, делать туториалы.
А то бывает в реддит других движков заглядываешь - а там только хвастовство картинками или реклама платного, а в годот заходишь - сразу с радостью рассказывают, что и как сделано.
Аноним 11/03/23 Суб 20:24:11 869851 229
>>869695
>Другие люди отличаются от меня = все вокруг инфантильные дебилы
Как-то так ты рассуждаешь

>>869705
>Зачем вообще разделять текстовые/видео гайды, лутай инфу из всего до чего дотянешься
Двачаю.
Я сам начинал с видосов, потом перелез чисто на доки, щас посматриваю некоторых мудрых семпаев, которые скорее делятся размышлениями, фишечками и опытом, чем дают какие-то конкретные гайды.

>>869745
>запилите в соло и покажите здесь опенворлд хотя бы уровня скайрима, 2011 года, слабо?
Ну ты дал. Но вот уровня Тени Чернобыля - вполне реально в соло запилить..

>>869717
>И какой прирост? Ты замерял?
Хз, мне аноны в треде посоветовали, когда самый первый проект у меня люто тормозить стал. Переделал на scn, больше не тормозил.
Аноним 11/03/23 Суб 20:49:10 869865 230
>>869690
>Всё созраняю в бинарных .scn
Сам виноват. Пересохрани в tscn в версии 3.5.
>во имя быстродействия
Вряд ли там существенная разница. Если разница и есть, то можно перед релизом всё пересохранить.

>Нет, это таких, которые видят картинки в процессе чтения технического текста, вот таких как раз 2%.
Сомневаюсь. Когда ты читаешь технический текст, там в любом случае описывают что-то, что ты обычно видишь глазами: GUI, 2D/3D сцены, ноды в дереве сцены, код в редакторе и т.д. Вот читаешь описание и видишь перед глазами как вживую.
>У всех остальных всё-таки знания лучше усваиваются в мультимедийном формате.
Пруфы есть? Нет у тебя пруфов.

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

>ты видишь готовый код
В тексте я его тоже вижу. Проблема видео:
1. Нужно найти кадр с кодом и поставить на паузу.
2. Часто качество видео плохое и текст испорчен.
3. Картинку зачастую невозможно приблизить.
4. Невозможно скопировать часть кода с картинки.

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

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

>Чувство причастности - если ты повторяешь за показанным в ролике
Мне не 5 лет, мне нужны знания, а не чувства.
>Развлечение - авторы видосов заинтересованы делать их увлекательными
Опять же, я открыл ссылку для получения знаний, а не чтобы тупо поржать над мемами. Все эти шутки растягивают видео и отвлекают от сути. Я прекрасно понимаю, почему их добавляют, но это не приносит пользы видео как обучающему материалу. Шутки только накручивают просмотры за счёт тех, кто смотрит только ради шуток.

>буквально за ручку тебя ведут
Не все видео, и не всегда это уместно.
>пропускают важные стадии
Не все текстовые уроки. Обычно это полезно, т.к. ты уже знаешь всё необходимое по предыдущим урокам серии, и тебя не нужно учить "как открыть Godot, создать проект и новую пустую сцену".
>повторяя за видео, ты ощущаешь уверенность
Особенно на видео двухлетней давности, к старой версии движка, у которой всё по-другому. Текстовые уроки намного проще обновить до актуального состояния, кроме того, хороший текстовый урок не зависит от изменений в GUI редактора, тогда как видео целиком переснимать придётся даже если одну надпись изменили или кнопку передвинули.

>Туда можно лезть только если ты уже точно знаешь, что хочешь получить, и тебе нужно просто узнать, какая функция в апи за это отвечает.
Изучил множество нод только через встроенную в редактор документацию по API этих нод.

>Это как если бы в школе были только учебники, никаких учителей.
В школе учителя нужны, чтобы навязать дисциплину, угомонить и заставить балбесов читать книги. Если ты не инфантил с СДВГ, учитель тебе не нужен.
Аноним 11/03/23 Суб 21:22:05 869872 231
>>869745
>Я пришёл к выводу, что заморачиваться с навороченными террейн-ассетами нет смысла.
Всё так. Статичный ландшафт можно в блендере смоделировать и на чанки порезать. Динамически его создавать в движке имеет смысл только для игр типа Майнкрафта, но там воксели лучше.

>Опенворлд в соло не запилить (если кто-то желает возразить, запилите в соло и покажите здесь опенворлд хотя бы уровня скайрима, 2011 года, слабо?)
В Скайрим не играл, но это вопрос количества контента, а не используемых технологий и не геймдизайна. Даже если ты будешь делать такое же количество контента в коридорной игре, ты не сможешь сделать быстро и в соло. Напротив, ты можешь сделать опенворлд с малым количеством контента.

>поэтому стоит сконцентрироваться на камерных проектах (камерность, это когда ворлд не опен), а тут террейны не нужны, тут нужнее генерация динамических коридоров с комнатами.
Ты путаешь несколько понятий.

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

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

Т.е. опенворлд - это не про тип ландшафта, а только про свободу перемещения. Ранние игры могли показывать игроку широкие просторы, но ограничивали его узкими коридорами невидимых стен, либо просто не давали никаких задач за пределами узкого коридора. В то же время могут существовать игры про закрытые пространства вроде подземелья, башни или гигахруща, но с максимальной свободой движения, разбрасывая контент по большой площади/объёму и разрешая проходить контент в произвольном порядке - это оперворлды. Настоящих опенворлдов весьма мало...
Аноним 12/03/23 Вск 04:40:39 869929 232
>>869865
>пересохранить
Сцена-предок, от которой наследует некоторое количество потомков, к тому же размещённых на уровнях. Такое пересохранять - это, считай, половину проекта создавать заново.

>Вот читаешь описание и видишь перед глазами как вживую.
Эта стадия наступает уже после того, как ты освоился и изучил редактор. А видеоуроки смотрят новички, ещё плохо с ним знакомые.
>Пруфы есть? Нет у тебя пруфов.
https://youtu.be/rhgwIhB58PA
Видос, да, но под ним в описании ссылки на научные публикации.

>Изучил множество нод только через встроенную в редактор документацию по API этих нод.
Антош, не как что-то плохое, но ты аутист и ёбаный терминатор, помноженный на вечность. Таких, как ты, совсем мало. Большинству людей, чтобы лучше понимать тему, нужно получать информацию через несколько каналов, развлекательный формат помогает им сфокусироваться, а чувство причастности удерживает интерес. И большинству людей комфортнее видосы, как раз потому что полезная информация в них не так плотно сконцентрирована, как в текстовых туторах и доках. Большинству людей нужен живой человек-учитель, искренне эмоционально вовлечённый в предмет, а не бездушный текст. То, что тебе это всё не нужно, это не люди дебилы, а ты дохуя умный. Просто смирись с тем фактом, что другие люди не такие целеустремлённые, сфокусированные и душные, как ты.
Аноним 12/03/23 Вск 04:57:01 869931 233
1553801766511.png 1280Кб, 1920x1080
1920x1080
ЖТА - начало.
Пока продолжаю искать причину фризов, и в сцене с 5 домиками и 10 человечками.
Еще идея что возможно начинает свопить оперативку. Но непонятно из-за чего - ведь в редакторе все работает плавно.
Аноним 12/03/23 Вск 05:07:59 869932 234
>>869929
> это не люди дебилы
А я вот не уверен. Я вот тоже учил программирование по книгам, причем у меня и компьютера тогда толком не было, я читал даже про несуществующие у меня пролог, PL/1 и паскаль, диалекты бейсика от другого компьютера, а так же про ассемблер 6502 в немецкой книге не зная немецкого. Потом по дороге в метро я читал книги по алгоритмам. И вот как то не требовалось чтобы кто то за руку по шагам вел (авторы качественной книги если только, поскольку дают материал структурировано) и какие то клоуны увеселяющие (хотя в книгах немного юмора было, но уместно и деликатно, а не как VSause посередине объяснения достает из под стола Йоду и начинает ебошить им об стол с воплями).
Я бы осторожно относился к ютуберам, которые поясняют за learning - это их хлеб, они могут навязывать нужную им точку зрения
Аноним 12/03/23 Вск 07:07:22 869935 235
>>869932
> это их хлеб, они могут навязывать нужную им точку зрения
Но книги то.... ладно неважно.
Аноним 12/03/23 Вск 07:12:44 869936 236
>>869929
чел, это ты не такой, оскорбляешь другого анона, перекладываешь с больной головы на здоровую
давайте уже ближе к движку и играм, а для подобных срачей есть соседний тред
Аноним 12/03/23 Вск 21:57:21 870032 237
>>869935
Согласен, я попал в логическое заблуждение, ведь среди книг тоже есть всякие инфоцыганские.
Могу только сказать в оправдание что нормальные книги обычно проходят редактуру и рецензию издательства, то есть планка повыше чем у обычного ютубера.
Аноним 12/03/23 Вск 22:48:17 870039 238
>>869931
>ЖТА - начало
Ты решил полноценную игру делать?

>начинает свопить оперативку
Так ты проверь потребление памяти у процесса и сколько у тебя доступно сейчас. Windows всегда берёт в приоритет приложение, имеющее фокус, так что если у тебя хватает физической памяти для игры, она будет всегда в физической памяти, пока ты не альт-табнешься в другое приложение. Попробуй поиграть немного, ОС должна все фоновые приложения убрать в своп, если твоя игра занимает большую часть физической памяти. Выяснил это на собственном опыте работы с 1 ГБ оперативной памяти и единственным мобильным HDD.
Аноним 12/03/23 Вск 22:52:47 870040 239
>>870039
>Ты решил полноценную игру делать?
Из этой - нет, но мне надо знать возможности для своей полноценной игры. Там планируется какой-никакой город.
Я пробовал и только экспорт релиз запускать, с закрытым браузером и редактором годота, ничего не улучшилось.
Буду искать дальше, когда время будет.
Аноним 12/03/23 Вск 23:46:11 870053 240
>>870040
> планируется какой-никакой город
> в одно рыло
Охоспаде! Литералли ми 4 года назад. Удачи!
Аноним 13/03/23 Пнд 00:19:50 870056 241
>>870053
Это еще что! Мне еще надо персонажей замоделить. Ну и сидеть вникать в анатомию, мышцы, кости (человеческие)...
Аноним 13/03/23 Пнд 00:20:31 870057 242
>>870040
Так что город тут еще самое простое... Тупо коробки как ты говоришь.
Аноним 13/03/23 Пнд 00:46:05 870058 243
А какой язык программирования нужно знать, чтобы делать игры на Godot?
Где-то говорят про сишарп, где-то про плюсы
Аноним 13/03/23 Пнд 00:53:40 870059 244
>>870058
Самый простой - gdscript, похожий на питон
Есть версия движка где пишешь на c#, но им меньше пользуются, профит не такой большой.
C++ для тех кому надо уже перепиливать сам движок или подключать готовые либы на нем.
Аноним 13/03/23 Пнд 01:09:41 870061 245
>>870040
>Я пробовал и только экспорт релиз запускать
А в диспетчер задач пробовал смотреть?
Лайвхаки для новичков, бесплатно:
1. ctrl+alt+delete
2. ctrl+shift+escape

>своей полноценной игры
>планируется какой-никакой город
Время настало советов мудрых, хорошо.

Реализуй самые важные геймплейные элементы на статичной сцене из пары домов и участка дороги или маленького квадратного квартала, огородив все выходы заборами, чтобы игра была на 100% играбельна и хорошо отражала Суть™ полной игры. Отладь все ключевые Системы а.к.а. Механики на этой сцене, отбросив все незначительные функции и контент. Не задумывайся об оптимизации "целого города" и его планировке: это пустая трата времени, пока у тебя нет реальной игры. Ты должен добиться того, чтобы ты мог запустить свой проект и поиграть в Свою Игру, даже если заборы не дают выйти с пятачка доступной для перемещения сцены.

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

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

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

Во-вторых, нужно осознавать, что если твоя игра предполагает управление персонажем, то игрок 99% времени не будет видеть весь город целиком. Ему, по большому счёту, насрать на некий абстрактный город, количество квадратных километров и домиков. Игрок играет в каждый момент времени на какой-то сильно ограниченной локации. Он взаимодействует только с небольшими предметами и персонажами, а не целыми кварталами и километрами автодорог. Поэтому ты должен фокусироваться на опыте, который игрок получает, стоя между двумя домами или в каком-то переулке. И общую карту мира ты будешь рисовать, опираясь на то, как игрок будет играть на отдельных участках карты. Если ты поступишь наоборот, пытаясь заполнить большую карту локальным геймплеем, ты рискуешь слишком растянуть пустые участки, на которых игроку нечем заняться. Игроку нет пользы от гигантской горы в центре карты, на которой совершенно нечем заняться, и ты вряд ли сможешь придумать кучу развлечений для таких пустых, сильно растянутых участков. Даже в Майнкрафте это поняли и начали переделывать слишком пустые биомы, лол, а в игре типа ГТА от пустых пространств вообще никакой пользы. Поэтому рациональнее будет расширять маленький участок до большого города, а не натягивать геймплей на некий абстрактный большой город. Хотя, опять же, зависит от геймплея (ну, дальнобойщик въехал в город и почти сразу выехал, достаточно коробок накидать и готово, 10/10, буду возить контейнеры ещё, дайте повозить цистерну).

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

Чтобы развеять твои сомнения по поводу движка: во-первых, оптимизировать можно что угодно, тем более в опенсурсе, а во-вторых, пока ты будешь делать игру на маленькой локации, выкатят уже не то, что 4.1, а даже 4.2, со всеми обещанными оптимизациями и багфиксами. Даже если ты решил флипать халявные ассетики, на достойный геймплей много времени уйдёт, движок сравнительно быстро развивается (уж точно быстрее 3D GTA от соло инди, оценивающего оптимизацию домиков до разработки игры вокруг/внутри этих домиков, говорю по своему опыту).

>>870053
>город
>в одно рыло
К чему такой пессимизм? Вполне реально, имея чёткую цель и мотивацию, не ленясь и работая.

>>870056
>Мне еще надо персонажей замоделить. Ну и сидеть вникать в анатомию, мышцы, кости (человеческие)...
Ну вот пока ты на это года два-три убьёшь, движок уже начнёт плавный переход к 5.0 версии...
Аноним 13/03/23 Пнд 01:28:15 870062 246
>>870059
А совмещать языки можно?
Просто я представляю как напишу игру и решу добавить в неё рекламу, а не смогу на GDScript
Аноним 13/03/23 Пнд 03:49:13 870065 247
>>869929
Расписал тебе пост почти до лимита символов, но потом плюнул и удалил. Смысла объяснять тебе что-то нет, ведь ты текст не воспринимаешь - тебе обязательно нужно видео записать. С шутками и мемами. Растянув на несколько часов...
Аноним 13/03/23 Пнд 03:53:05 870066 248
>>870058
>какой язык программирования нужно знать
Обязательно нужно GDScript - это внутренний язык движка, на котором происходит разработка у большинства пользователей движка. Как минимум требуется понимать то, что пишут другие.

>>870062
>А совмещать языки можно?
Да, любые языки, в любых комбинациях.

>добавить в неё рекламу
Для 3.x видел готовые аддоны, для 4.0 не знаю.
Аноним 13/03/23 Пнд 06:06:11 870067 249
>>870058
> А какой язык программирования нужно знать, чтобы делать игры на Godot?
gsdcript, если потребуются производительные места, в которых будет упор, то немного плюсы на уровне для чайника за 21 день
Аноним 14/03/23 Втр 00:39:55 870156 250
>>870067
>потребуются производительные места
>плюсы на уровне для чайника за 21 день
Честно говоря, сомнительная рекомендация. Реально оптимизировать алгоритмы нужно уметь, со знанием работы компьютера, структур данных, затрат на конкретные операции и т.п. Так что способности написать хэллоу ворлд на C++ вряд ли достаточно.

Может так получиться, что после месяца перевода алгоритма с GDScript на C++ у новичка не будет существенного выигрыша производительности, но зато появится утечка памяти, которую он не заметит. Вот весело ему будет дебажить всё это...
Аноним 14/03/23 Втр 01:31:44 870161 251
https://www.youtube.com/watch?v=ynZVK_XyaRc

Есть ли лучше примеры разрезания мешей в Годоте? Чёт тут всё так топорно и лагает пиздец. В юнити и анриле намного лучше примеры видел.
Аноним 14/03/23 Втр 05:14:06 870173 252
>>870161
>всё так топорно и лагает
Код на гитхабе смотрел? Там велосипед на 600+ строк генерации меша на GDScript. Конечно, это глючно и медленно, тут матан задействован.

>примеры разрезания мешей
Если хочешь без матана и из коробки:
https://docs.godotengine.org/en/stable/tutorials/3d/csg_tools.html
https://docs.godotengine.org/en/stable/classes/class_csgmesh3d.html
1. Делаешь объект из CSG шейпов.
2. Добавляешь CSG коробку нужного размера.
3. Выбираешь OPERATION_SUBTRACTION.
4. Готово, от меша остался огрызок.
Всё это производится на ЦПУ, так что ожидай лагов при слишком хайполи геометрии, алсо результирующий меш зачастую говно и может иметь небольшие артефакты, но зато это встроено в движок на C++ и для использования не нужно знать никакой матан, как обезьяна кидаешь ноды и радуисся результатам.

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

Это ты, >>870056? Хочешь людей резать на мясо?

Забей на матан, делай как в Dead Island 1 - заранее заготовленные куски тел, которые отрубаются строго в определённых местах. Главное чтобы игра была, а это всё лишние декорации, пустая трата сил.
Аноним 14/03/23 Втр 08:54:01 870182 253
>>870156
в плюсах уже около 15 лет также просто баловаться динамическим выделением памяти и не следить, что что-то не высвободил, держу в курсе
Аноним 14/03/23 Втр 09:02:38 870185 254
>>870173
>Делаешь объект из CSG шейпов.
Ну нет, ты не пони, я хочу загружать любой меш и рубить его.

>Всё это производится на ЦПУ, так что ожидай лагов при слишком хайполи геометрии, алсо результирующий меш зачастую говно и может иметь небольшие артефакты, но зато это встроено в движок на C++ и для использования не нужно знать никакой матан, как обезьяна кидаешь ноды и радуисся результатам.
Пичаль/бида, на анриле и юньке всё это без проблем

>Если хочешь прям что-то супер-пупер, тут остаётся только самому пилить велосипед низкоуровневый.
Пиздос. Мне игру делать надо а не это ваше низкоуровневое говно!

>Это ты, >>870056? Хочешь людей резать на мясо?
Не, я вообще тут почти не сижу. Выбираю сейчас на каком движке игру пилить.

>Забей на матан, делай как в Dead Island 1 - заранее заготовленные куски тел, которые отрубаются строго в определённых местах. Главное чтобы игра была, а это всё лишние декорации, пустая трата сил.
Ну не, если можно это реализовать с меньшим гемором на другом двигле, я просто выберу другое двигло. У меня есть набор параметров, по которым я выбираю, и сейчас лбами столкнулись анрил и юнити, годот с каждым разом всё больше и больше уходит на второй план, у него из очевидных плюсов только бесплатность пока что.

>>870182
Тогда зачем страуструп в своей книге такое пристальное внимание уделяет этому?
Аноним 14/03/23 Втр 12:45:45 870216 255
1678787145025.png 86Кб, 676x545
676x545
>>870185
> Ну нет, ты не пони, я хочу загружать любой меш и рубить его.
Нет ты не пони. Берешь CSGMesh и грузишь в него свой меш. Узнаёшь обезьянку на пикче?
Аноним 14/03/23 Втр 12:50:12 870218 256
>>870216
Сложные меши плохо режутся. В Holer стримеры ныли что из простреленной утки торчат цилиндры.
Аноним 14/03/23 Втр 13:01:00 870221 257
>>870216
>Узнаёшь обезьянку на пикче?
Когда-то давным давно пытался вкатиться в блендер. Не удалось, но с обезьянкой успел познакомиться.
Аноним 14/03/23 Втр 13:08:44 870222 258
1678788523466.png 701Кб, 2500x1700
2500x1700
>>870221
> Не удалось
У тебя не было этой пикчи. Забирай.
Аноним 14/03/23 Втр 15:24:31 870242 259
>>870185
> Тогда зачем страуструп в своей книге такое пристальное внимание уделяет этому?
1) потому что это часть возможностей языка и она сложнее прочих
2) она требуется буквально небольшому количеству кодеров на плюсах, у остальных уже готовые контейнеры и алгоритмы в библиотеках есть, которыми они просто жонгрлируют
3) потому что остальная часть плюсов уже простая, поэтому и кажется, что им уделяется не столь важное место, хотя там просто почти и не о чем рассказывать, там все не сильно сложнее хипстерских питонов, на которых тоже байтоебством занимаются к слову, что также не избавляет от того, что программисту все равно стоит это знать
Аноним 14/03/23 Втр 16:43:48 870254 260
>>870222
Годно, схоронил. Но не вкатился я тогда в по той же причине почему тогда же не вкатился в геймдев - я был другим человеком.
Аноним 14/03/23 Втр 19:19:03 870287 261
1594102046637.png 367Кб, 1920x1080
1920x1080
1671223589745.png 726Кб, 1920x1080
1920x1080
1656098083911.png 374Кб, 1920x1080
1920x1080
1660085615395.png 730Кб, 1920x1080
1920x1080
>>870061
>А в диспетчер задач пробовал смотреть?
Смотрел, но там ничего не понятно. Впрочем, в process explorer тоже непонятно. Выделение памяти в винде это еще те загадки, с working set-ами.
>Реализуй самые важные геймплейные элементы на статичной сцене из пары домов и участка дороги
Я с этого и начал, но 4-ка уже на этом пукнула. Она не пукает только совсем в простом тестовом случае с кубами и текстурами для прототипинга.
С самим геймплеем все в порядке, я его уже тестировал год назад, правда его никто особо не заценил, но с тех пор я еще поиграл в схожие игры и буду копировать оттуда многое, что понравилось.
Собственно, и город я тоже собирался скопировать, ведь на этом же компе в той игре он не тормозит, значит в нем никаких проблем нет. Алсо, город в основном на фоне, не обязательно даже чтобы туда везде ходить можно было (хотя было бы неплохо). Но тут вот какой то фундаментальный затык в 4-ке.
Да, если ты не понял, меня не интересуют советы по геймдизайну. Тут меня только интересует, как пофиксить 4-ку.

Больше всего удивляет, что в редакторе нет никаких тормозов, я могу свободно летать по городу, то есть отличия только в полной версии, которая запускается. Даже если закрыть все и запускать только экспорт.
причем я пробовал и свет удалять, и ворлд энвайронмент, и понижать разрешения атласов.
Сейчас попробовал минимальные условия. Контроллер+ворлд работает, контроллер+директ лайт работает, контроллер+ворлд+директ лайт уже пукает. Но, контроллер+домики без ворлд и директ лайт тоже пукают.
Но почему в редакторе не пукает, в чем разница. Пока только мысль, что что-то включается и жрет неадекватно много памяти.
Аноним 14/03/23 Втр 23:38:35 870361 262
>>870287
А может у тебя комп не тянет?
Аноним 14/03/23 Втр 23:43:42 870362 263
1562480413828.png 950Кб, 1920x1080
1920x1080
>>870361
Но в редакторе то тянет.
Попозже соберу эту же сцену в 3.5 и сравню.
Аноним 14/03/23 Втр 23:52:30 870364 264
>>870362
У четвёрки вообще проблема с релизным билдом. Я ранее жаловался. Там тупо пустой проект притормаживает, экспортированный. Но видать Хуану не до того. Ждём фиксов.

А пока что экспортируй в режиме дебага.
Аноним 15/03/23 Срд 02:30:31 870372 265
>>870287
>GTX 750 Ti
У меня такая же модель, можешь скинуть мне свои пукающие проекты? Я попробую запустить, может, смогу найти причину тормозов. Если не лень будет.

Ну, ты удали лишнее, конечно. Сами модели скинь, или ссылки на официальную страницу с ними.

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

Хм... А ты компьютер часто выключаешь? Не в режим гибернации, а полностью. Т.е. полную перезагрузку часто делаешь? У меня сейчас 50 дней непрерывно компьютер работает, и я совершенно случайно обнаружил медленную утечку (видео)памяти в Explorer, которая, по слухам, из-за драйверов видеокарты. Если ты долго не перезагружаешь комп и у тебя похожая версия драйвера, вполне может быть, что у тебя сейчас почти вся память заполнена Explorer'ом, из-за чего возникают проблемы. Обнаружил так: у меня суммарно 24 ГБ памяти, 8 физической и 16 виртуальной, было занято 20/24 ГБ и Майнкрафт крашился во время загрузки, а когда я перезапустил Explorer (рабочий стол), память освободилась до 3/24 ГБ и всё заработало. Очень странная утечка, раньше замечал её, но не придавал значения и не понимал, откуда она. В диспетчере задач не было точного потребления Explorer, только то, что он выделил под себя почти 2 ГБ видеопамяти и 500 МБ оперативной, куда он заныкал 17 ГБ - непонятно. В интернете нашёл мало обсуждений, но говорят, что это может быть из-за компиляции шейдеров видеокартой, потому что Explorer что-то неправильно рисует.
Аноним 15/03/23 Срд 09:29:02 870387 266
1622194853272.mkv 22418Кб, 1920x1080, 00:00:30
1920x1080
>>870362
Поужимал текстурки, избавился от некоторых тяжелых моделей, и заработало в релизе.
Очевидное неудобство в том, что одновременно редактор и дебаг у меня комп не тянет, поэтому для запуска приходится закрывать редактор. Но все таки думаю, что что-то там нездорово память кушает, если даже с пустой сценой с человечком были траблы.
Аноним 15/03/23 Срд 09:35:21 870388 267
1588854849531.mp4 22289Кб, 1920x1080, 00:00:30
1920x1080
1523806857570.png 2160Кб, 1920x1080
1920x1080
>>870387
Опс, случайно конвертнулось.
>>870372
Как нибудь попозже. Может немного еще оптимизну, папка (и пак) весит 750 Мб, как то многовато для такого лоу поли контента. У машинок еще что-то продублировалось. А в остальном около 60 уникальных домиков, там вроде нечего уже ужимать, но думаю для моих задач достаточно.
Аноним 15/03/23 Срд 12:36:52 870418 268
>>870387
а оно точно уже подходит для такого рода 3d игр?
у нас после бэток еще не совсем идеально гладко с мобилочными 2d, хоть и ничего критичного
думаю, что для gta-подобных игр там на одних скриптах не уедешь, нужно будет спускаться на уровень плюсов
Аноним 15/03/23 Срд 12:55:49 870424 269
>>870418
А в чём тогда смысл 4 версии? Презентовали же как полноценное 3d.
Мимо
Аноним 15/03/23 Срд 13:10:30 870428 270
>>870387
> одновременно редактор и дебаг у меня комп не тянет
Будет очень тяжко девелопить видеоигру на калькуляторе. Сочувствую.
Аноним 15/03/23 Срд 18:00:00 870495 271
1667814907471.png 6Кб, 528x124
528x124
Главное что при разрастании проекта, стали проявляться снова косяки вулкана, которые были в альфе. Когда картинка сыпется.
Аноним 15/03/23 Срд 19:19:38 870508 272
1561317589540.png 3140Кб, 1920x1080
1920x1080
С ассетом травой и террейном 30 фпс, но они конечно не готовы для проды.
Но в целом некая вера в 4 появилась, это уже сравнимо с тем, что я на 3 делал 3 года назад
Аноним 15/03/23 Срд 20:15:53 870513 273
>>870508
каким из способов траву делал?
Аноним 15/03/23 Срд 20:31:20 870517 274
>>870513
Пока просто эту тиснул не разбираясь https://godotengine.org/asset-library/asset/1623
Он на основе мультимеша, есть ветер, должна еще приминаться, но что-то координаты игрока в шейдер не передались.
Есть какая-то оптимизация по дальности.
Ну и она криво расставилась, местами в воздухе висит.
В террейне тоже заявлена трава, но ее еще не пробовал, скорее всего там мало чего есть.
Аноним 15/03/23 Срд 20:57:35 870518 275
>>870517
Надо еще попробовать траве тени отключить.
Аноним 15/03/23 Срд 21:00:14 870519 276
Аноним 15/03/23 Срд 21:00:57 870520 277
1678860788075.png 1506Кб, 1920x1080
1920x1080
>>870495
Во, совсем посыпался вулканчик.
Аноним 15/03/23 Срд 21:14:58 870526 278
>>870520
А эта посыпка подтверждена в ишьюсах, или это у тебя видюха сыпется?
Аноним 15/03/23 Срд 21:17:02 870527 279
>>870519
Вдохновляющая демка. Класс! Так и хочется сесть уже и начать делать игру, только вот за годы изучения годота мотивация окончательно ушла.
Аноним 15/03/23 Срд 21:33:08 870533 280
1590153631039.png 554Кб, 1180x311
1180x311
Аноним 15/03/23 Срд 21:34:23 870534 281
>>870527
Но сцена опять небольшая. Но приятная. Немного Black Mesa Xen напомнило.
Аноним 15/03/23 Срд 23:09:48 870556 282
>>870527
>Так и хочется сесть уже и начать делать игру, только вот за годы изучения годота мотивация окончательно ушла.
Не понял. Godot лишает мотивации к геймдеву?
Аноним 15/03/23 Срд 23:39:28 870565 283
>>870556
Ты пытаешься понять каждого рандома написавшего что-то в интернете? Бросай, это бесполезное занятие.
Аноним 16/03/23 Чтв 01:17:22 870582 284
1658845774165.png 20Кб, 603x170
603x170
Едрить заявочка, лол.
Аноним 16/03/23 Чтв 17:04:34 870702 285
Мда, на слабом ноуте четверка вообще не работает. Просто фризится намертво каждые несколько минут, даже если редактируешь простую 2D-сцену и не используешь вулкан, хотя 3.5 версия как работала отлично, так и работает. Придется ждать 4.1 похоже, может пофиксят.
Аноним 16/03/23 Чтв 17:18:19 870706 286
Аноним 17/03/23 Птн 00:48:56 870827 287
1549989895039.png 1064Кб, 1280x720
1280x720
Ну че погнали
Аноним 17/03/23 Птн 01:40:28 870833 288
>>870827
Пока не смог 4.0.1 открыть свою гташечку сделанную в 4.0.
Аноним 17/03/23 Птн 01:48:04 870836 289
>>870833
С 3 раза открылась. Сначала просто упала, потом ругалась на то, что класс скрывает сам себя, видимо закешировался. В остальном вроде все так же.
Аноним 17/03/23 Птн 03:00:24 870849 290
>>870836
Полчаса пытался заставить работать на андроиде. Вулкан версия рисует 2д гуй, но вместо 3д черный экран и куча ошибок в логах про vulkan. Как нибудь соберу инфы на багрепорт. ОпенГЛ версия просто падает без объяснений, но она, возможно, и не экспортнулась, так как там какие то траблы с переключением рендера в свойствах проекта. Печально.
Алсо телефон не новый, вулкан на нем до этого не пробовал, но и обновить я на нем ничего не смогу.
Аноним 17/03/23 Птн 03:23:15 870855 291
>>870849
>телефон не новый
AIDA64 > Отображение > Рендерер ГП
Копируешь долгим нажатием и ищешь:
https://www.notebookcheck.net
Если телефон старше 2016, вулкана в нём нет.
Аноним 17/03/23 Птн 03:34:29 870857 292
>>870833
>гташечку сделанную
Не могу понять, ты всерьёз ГТА делаешь?
Просто так много шутят про "свою ГТА"...

>>870387
Машина - KinematicBody? Почему не VehicleBody? Видел маленькие проекты с VehicleBody на Godot, нормально шло на телефоне.
Аноним 17/03/23 Птн 03:34:49 870858 293
>>870855
Если бы в нем не было, то гуй не отрисовался бы. Игра не падает, но вот под 3д там много ошибок вулкана, я в нем не разбираюсь. Что-то про то, что не создан буффер, и что не то количество каких то данных при вызове.
Аноним 17/03/23 Птн 03:37:25 870859 294
>>870857
>Не могу понять, ты всерьёз ГТА делаешь?
Конечно, вот завтра поменяю домики на хрущевки и тачки на жигули и будет ГТА в Питере, как мечтали в детстве.
На самом деле стриминга же в движке нет, поэтому просто статичный город для теста.
>Машина - KinematicBody?
Машина - за полчаса сделанный порт "аркадного шарика".
https://kidscancode.org/godot_recipes/3.x/3d/3d_sphere_car/
Для 4-ки не было под рукой ассета с машинками. Потом видел парочку, но там как то заебисто все, и колеса там на рейкастах.
Аноним 17/03/23 Птн 03:45:24 870862 295
>>870859
>стриминга же в движке нет
Всё есть: add_child(load("путь").instance())

>за полчаса сделанный
>не было под рукой ассета
Что мешало использовать встроенные ноды?
https://docs.godotengine.org/en/stable/classes/class_vehiclebody3d.html
https://docs.godotengine.org/en/stable/classes/class_vehiclewheel3d.html
Они никак с тройки не изменились (вроде бы).

Параметры по умолчанию не очень, но ехать можно.
Аноним 17/03/23 Птн 03:47:54 870863 296
>>870862
Да помню я как там было, надо двигать пружины, и все равно колеса проваливались под хейтмап и застревали. Ну, после жесткого приземления с холма скажем. Плюс кодить поворот колес.
Аноним 17/03/23 Птн 04:02:25 870864 297
>>870863
>колеса проваливались под хейтмап и застревали
Не замечал такого. Может, ты слишком ослабил пружины, т.к. в объектах они вообще застрять не могут - там вроде рейкаст используется.

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

>>870859
>Конечно, вот завтра поменяю домики на хрущевки и тачки на жигули и будет ГТА в Питере
Я тебя серьёзно спрашивал. Смысл тестировать вот это вот всё, если у тебя совсем другая игра?
Аноним 17/03/23 Птн 04:02:27 870865 298
1557050343310.png 737Кб, 943x796
943x796
>>870862
Полноценный стриминг это минимум 1000 строк. Как минимум надо многопоточность, текстуры же грузятся, но по хорошему пул, чтобы проверял, что такой материал уже есть в чанках. Также неизвестно пока как этот террейн себя поведет на стыках и вообще можно ли его перенести с 0,0,0. Надо смотреть что будет с навигейшн мешем, который я еще не делал, сможет ли он сам бесшовно склеиться, аналогично коллайдеры, посмотреть не будет ли подпрыгивать на стыках. Не забыть про грамотную выгрузку, чтобы что-то не провалилось под землю.
Лоды теперь есть автоматические, но глаз цепляется за какой то артефакт, либо это тени, либо изменение лода. На этом видео >>870388 на первых секундах заметно, если смотреть куда я отметил, перед камерой как бы бежит "волна" смены качества на одном расстоянии.
Аноним 17/03/23 Птн 04:07:14 870866 299
>>870864
> т.к. в объектах они вообще застрять не могут - там вроде рейкаст используется.
Так физ объекту достаточно на большой скорости пройти сквозь, и обратно у него уже выйти не получается. Ну потом могу показать, если время будет.
>чем делать с нуля более-менее реалистичную машину на основе катящейся сферы.
Там строчек 30 копипастнуть, конкретная физика заносов для тестов не важна.
> Смысл тестировать вот это вот всё, если у тебя совсем другая игра?
Количество домиков, разрешение текстур, количество персонажей, количество объектов эквивалентных машинкам с блестящими поверхностями, террейн, будет в таких же количествах. Естественно проект на дваче палить я не буду, а этот собран из ассетов, так что его можно будет и выложить без проблем со временем.
Аноним 17/03/23 Птн 04:22:10 870867 300
>>870865
Ты вроде писал, что у тебя уже игра полностью готова на тройке и ты её на четвёрку планируешь перенести, когда баги рендеринга пофиксят?

>Полноценный стриминг
Честно говоря, с таким уровнем графики вряд ли он вообще нужен, сейчас не начало 00-х всё-таки.

>этот террейн
Так у тебя же нет террейна на видео...

>Лоды теперь есть автоматические
С таким полигонажем лоды вряд ли ощутимы.

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

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

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

>проект на дваче палить я не буду
Ой, всё...
Аноним 17/03/23 Птн 04:32:30 870869 301
>>870867
>Ты вроде писал, что у тебя уже игра полностью готова на тройке
Это кто-то другой писал, может быть? У меня есть демка, где был геймплей, но сейчас все равно переделывается весь визуал и много чего еще.
>Так у тебя же нет террейна на видео...
Да, я его добавил позже, на скриншоте он есть. Холмик и горы вдали >>870508
> Если смотреть на плоскость с текстурой под крутым углом, на ней будут заметные артефакты от сжатия текстуры.
Может быть, пока забью на этот момент.
>А потом окажется, что в твоих собственных ассетах ошибок нет, либо совсем другие ошибки
Маловероятно. Тогда это уже какая-то лотерея была бы. Допускаю, что геометрия может заролять, но поэтому и домики достаточно разнообразные.
>Кстати, во время альфы и беты людей просили портировать свои игры на четвёрку и репортить баги, чтобы успели найти и пофиксить до релиза, где ты был?
Я даже ПРы отправлял, чел...
>Ой, всё...
Я уже давно для себя выводы сделал, что сюда идет, а что нет. Вот метание говна могу добавить, будет гта про метание говном.
Аноним 17/03/23 Птн 06:55:53 870878 302
1581989243744.png 2344Кб, 1920x1080
1920x1080
В общем, концепция изменилась.
Аноним 17/03/23 Птн 07:32:12 870882 303
>>870878
о, возрождение lada street racing
Аноним 17/03/23 Птн 16:15:39 870938 304
>>870859
> На самом деле стриминга же в движке нет
Ну так возьми движок со стримингом, проблемс?
Аноним 17/03/23 Птн 16:16:50 870939 305
>>870938
И че, как я из него стриминг перенесу в годот? Ебать ты разумист конечно.
Аноним 17/03/23 Птн 16:28:21 870942 306
>>870939
Откуда перенесёшь стриминг в годот?
Аноним 17/03/23 Птн 16:34:45 870944 307
Аноним 17/03/23 Птн 17:14:05 870949 308
image.png 69Кб, 883x532
883x532
Аноним 17/03/23 Птн 17:23:51 870954 309
Аноним 17/03/23 Птн 18:23:56 870965 310
1679066637271.png 1Кб, 130x52
130x52
>>870944
Возьми движок, в котором есть стриминг и повтори в годоте. Что вообще такое стриминг? Не гуглится по очевидным причинам. Почему стриминг есть в каких-то упорно неназываемых тобой движках, но его нет в годоте?
Аноним 17/03/23 Птн 18:47:09 870968 311
1579321948958.png 65Кб, 572x616
572x616
Аноним 17/03/23 Птн 19:40:40 870973 312
>>870954
реклама на почту упала от Zenva
Аноним 17/03/23 Птн 19:41:32 870975 313
>>870965
>Не гуглится по очевидным причинам.
Не понял твою "очевидную" причину.
https://duckduckgo.com/?q=gamedev+asset+data+streaming

>>870939
>как я из него стриминг перенесу в годот
В другом движке наверняка есть что-то вроде load(), а всё остальное вообще идентично - массивы, циклы, условные выражения... Просто берёшь общий алгоритм и переносишь, в чём проблема?

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

>>870869
>что сюда идет, а что нет
Боишься, что агрессивные битарды набегут на твою игру и заспамят отрицательными отзывами?
Аноним 17/03/23 Птн 19:46:19 870977 314
Screenshot2023-[...].jpg 347Кб, 1080x2400
1080x2400
Есть хорошие, годные туториалы по созданию фонарей с динамическим освещением? Типа, двигается игрок - двигается свет. При этом предметы свет блокируют. Плюс мерцание и прочий фарш
Аноним 17/03/23 Птн 19:51:36 870979 315
>>870977
https://docs.godotengine.org/en/stable/tutorials/3d/lights_and_shadows.html

>двигается игрок - двигается свет
>При этом предметы свет блокируют
Просто даёшь игроку в руку эту ноду:
https://docs.godotengine.org/en/stable/classes/class_spotlight3d.html
И получаешь свой фонарик. Могут быть артефакты с тенями, исправляется настройками.

>мерцание
А это ты уже сам делай, управляя настройками ноды SpotLight3D в своём скрипте фонарика.
Аноним 17/03/23 Птн 19:54:17 870982 316
Аноним 17/03/23 Птн 20:24:11 870999 317
1679073851813.png 21Кб, 717x130
717x130
1679073851827.png 90Кб, 545x507
545x507
>>870975
> Не понял твою "очевидную" причину.
Да вот же она, на скрине страницы по твоей же ссылке. Но ладно, проблему я понял. Однако в результатах поиска по ссылке я обнаружил форумы "другого движка" где народ кодит на шарпе велосипеды с асинхронщиной.
>>870968
Скачай годот шарп и кодь велосипеды с асинхронщиной, если тебе так хочется заниматься преждевременной оптимизацией.
Насколько я знаю, ларж террейн датасетс в годоте прекрасно стримится при помощи мипмапов, которые годот самостоятельно генерирует при экспорте лардж хайтмап дата.
Аноним 17/03/23 Птн 20:50:50 871005 318
Аноним 17/03/23 Птн 21:07:55 871009 319
>>870999
>мипмапов
Значение знаешь? Это набор сжатых версий одной и той же текстуры. Генерируются они для того, чтобы текстуры не слишком портились при сжатии и быстрее читались видеокартой. Если ты накладываешь текстуру на маленький квадрат далеко от камеры, то на него накладывается не твоя 4К оригинальная текстура, а мипмап версия размером, допустим, 16x16 пикселей. А если ты подходишь к этому квадрату ближе, то видеокарта постепенно выбирает мипмап разрешением больше и больше, вплоть до оригинального. Естественно, затраты памяти в данном случае увеличиваются, поэтому стриминг данных становится более необходимым.

Стриминг решает проблему нехватки оперативной и видеопамяти, по необходимости считывая новую порцию данных с диска и отправляя их в видеокарту, а также по необходимости удаляя из памяти лишние данные. Если у тебя игра весом 100 ГБ на компьютере с 2 ГБ видеопамяти и 8 ГБ оперативной, то тебе придётся постоянно обращаться к диску за новой порцией данных. Если же у тебя весь контент игры умещается в 750 МБ, то забей на стриминг, ты можешь хоть целую планету размером с Землю крутить и тебе не придётся обращаться к диску, т.к. все твои данные влезли в оперативную и видеопамять. Но тебе по-прежнему понадобится чанковая система, если у тебя много копий одного и того же объекта далеко от игрока, чтобы компьютер не делал лишнюю работу - это уже не стриминг, то есть не оптимизация памяти, а оптимизация по циклам процессора (объекты) и видеокарты (меши на экране).

Короче, для ЖТА анона сверху стриминг не нужен, но может потребоваться чанковая система. Я пробовал, чанковая система весьма проста.

>Скачай годот шарп и кодь велосипеды с асинхронщиной, если тебе так хочется заниматься преждевременной оптимизацией.
Асинхронный код можно и на GDScript писать.
https://docs.godotengine.org/en/stable/classes/class_thread.html
C# может быть более производительным на больших массивах данных, но в остальном не нужен.
Аноним 17/03/23 Птн 21:26:50 871011 320
>>871009
> Короче, для ЖТА анона сверху стриминг не нужен, но может потребоваться чанковая система. Я пробовал, чанковая система весьма проста.
Да и я пробовал. Я в общем-то уже 4 поста как намекаю тому анону, чтобы он выкатывался в соседний движкосрач тред, откуда он и прикатился сюда, рассказывать нам, чего у нас тут нет в движке.
Аноним 17/03/23 Птн 21:36:35 871013 321
>>871011
>выкатывался в соседний движкосрач тред, откуда он и прикатился сюда, рассказывать нам
Хм? Разве? Он же вроде свой проект на Godot 3.x собирается перекатывать на 4.0? А то, что у нас чего-то нет, ни для кого не секрет. Просто тот же стриминг сильно зависит от типа игры и поэтому сделать универсальное решение невозможно. Какие-то движки имеют стриминг, подходящий определённому жанру, но шаг в сторону - и приходится пилить велосипед или костыли... В некоторых случаях да, конечно, лучше взять специальный движок под конкретный жанр, но Godot в своей основе универсален, поэтому сильно узкоспециализированных решений в нём стараются избегать.
Аноним 17/03/23 Птн 21:54:32 871016 322
>>871011
Может ты сразу огласишь сразу весь список, что мне можно и нельзя делать в треде и с годотом, чтобы твоя чувствительная натура не разнервничалась.
Аноним 17/03/23 Птн 21:55:57 871017 323
>>871013
Ты мне это объясняешь? Я это и так знаю. Ты вот этому обесни, у которого некий другой волшебный движок обладает неким стримингом искаропки. (На ютуб стримить штоле можно как делоешь игру?)
Аноним 17/03/23 Птн 21:56:24 871019 324
>>871016
Стримить на ютуб разрешаю. Стримить на твич - нет.
Аноним 17/03/23 Птн 22:00:19 871020 325
>>870859
> На самом деле стриминга же в движке нет
Как это нет стриминга в движке? Это какая-то чудовищная ошибка! Срочно звоните товарищу Хуану!
Аноним 17/03/23 Птн 22:46:32 871031 326
Есть туториалы по созданию RTS на годоте? А то везде 2D-платформеры.
Аноним 18/03/23 Суб 10:58:01 871069 327
>>871031
Тебе понадобится quadTree, как выделять персонажей и как они будут искать путь
Аноним 18/03/23 Суб 11:02:58 871070 328
Я влезу в спор по поводу подгрузки текстур.

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

Ну или нанимать местных анонов писать этот потоковый загрузчик текстур.

Проблема в том, что напишешь ты его, а игру нет и всё.
Аноним 18/03/23 Суб 13:35:03 871083 329
>>871020
Да он в курсе, я от него и узнал.
Аноним 19/03/23 Вск 00:45:37 871175 330
>>871083
>от него и узнал
Какой товарищ Хуан всё-таки умный. Отсутствие стриминга в движке - это не баг, а спланированная фича! Верной дорогой идём, товарищи! Godot 5.0 за три года запилим и будем печь АААА как пирожки!
Аноним 19/03/23 Вск 00:50:11 871179 331
>>871070
>преждевременная оптимизация
>напишешь ты его, а игру нет и всё
Всё верно. Ведь даже если компьютер слабый, можно сделать полноценную игру с лоу-поли модельками и текстурами низкого разрешения, которые целиком в твою память залезают, а уже потом можно менять модельки и текстурки на более тяжёлые и пилить загрузчик, который будет как-то хитро жонглировать данными в памяти, впихивая невпихуемое.
Аноним 19/03/23 Вск 00:56:59 871180 332
>>871179
Разница тут проходит между градостроительным симулятором и гта. В первом тебе надо видеть все домики сразу, поэтому ты вынужден зарезать им качество, игрок будет терпеть. Во втором случае, когда ты едешь по разным районам, в них разные тематические домики. Без стриминга тут именно невозможно сделать всю игру, поскольку невозможно деражть все домики всех районов в памяти.
Аноним 19/03/23 Вск 01:10:45 871181 333
>>871070
>Я влезу в спор по поводу подгрузки текстур.
Ты то куда лезешь
Аноним 19/03/23 Вск 15:33:40 871310 334
>>871175
> Отсутствие стриминга в движке
Нахуя в движке стриминг, если стриминг очень сильно зависит от реализации конкретной игры? Зачем пихать в движок стриминг, если им всё равно большинство пользоваться не будет, потому что под свои задачи будут с нуля велосипедить? Вопросы, вопросы. Ответов нет.
Аноним 19/03/23 Вск 15:37:17 871316 335
>>871310
> если стриминг очень сильно зависит от реализации конкретной игры
Это просто значит, что должны быть гибкие настройки.
Аноним 19/03/23 Вск 15:46:15 871319 336
>>871316
Ну у буллета были гибкие настройки - целый сервер с полным доступом к физике. Управляй - не хочу. И что? Не захотели. Поэтому буллет был выпилен в чётверке, как никому не нужный. Так же было бы и с этим вашим стримингом. Такие алгоритмы пишутся под конкретную игру.

Да ты просто логически подумай. Твоя игра должна знать, какие объекты и в каком порядке подгружать с диска, что кэшировать, что уничтожать. Игра, а не движок. От движка требуется предоставить инструментарий: треды, файловые ассоциации, чтобы на их основе уже игроделы организовывали прикладную логику. Стриминг, в том виде, в котором он описан выше ( >>871009 ) - это чисто прикладная логика.
Аноним 19/03/23 Вск 15:55:46 871322 337
>>871319
>какие объекты и в каком порядке подгружать с диска, что кэшировать, что уничтожать.
Это просто значит, что это указывается в свойствах объектов.
А в идеале, конечно, движок сам определяет точными вычислениями.
Аноним 19/03/23 Вск 16:01:58 871326 338
А кто-нибудь юзал ChatGPT, на других языках он очень хорошо объединяет и объясняет инфу, которые иногда задолбаешься искать. Я полный нуб и думаю его использовать как помощника, но у него база только до сентября 2021, для годот это устаревшее все будет?
Аноним 19/03/23 Вск 16:06:28 871329 339
>>871326
Не рекомендую новичку пользоваться ChatGPT ни для чего. Он часто начинает сочинять отсебятину, а новичок не сможет отличить от правды и проглотит.
Аноним 19/03/23 Вск 21:45:42 871406 340
Хочу пилить игру по типу вальхейма, с процедурной генерацией воксельного мира (сглаженного), который также является разрушаемым. По уровню графики опять же вальхейм.
Изначально я изучал для этого ue5, но вдруг меня осенило, что я не собираюсь использовать ни люмен, ни нанит, и даже без них моя игра скорее всего будет очень требовательной (а вальхейм вот на калькуляторах работает!!1).
Так вот, в чем вопрос, аноны. Я правильно пришел сюда?
P.S. сам работаю в машобе, геймдев это хобби, и как показалось годот больше подходит для любителей, а уе для серьезных дядь с серьезными планами на проект
Аноним # OP 19/03/23 Вск 22:17:33 871410 341
>>871406
> Я правильно пришел сюда?
Да.
Добро пожаловать. Выполни квест из шапки.
Аноним 19/03/23 Вск 22:35:54 871412 342
1521847290589.png 263Кб, 800x306
800x306
1579892622574.png 876Кб, 1018x589
1018x589
1565299748064.png 1118Кб, 1920x1080
1920x1080
>>871406
Анон, есть готовый модуль https://github.com/Zylann/godot_voxel
Я читал что автор пилит его сейчас для 4 версии движка.
Для 3-й тоже когда то была демка, но кажется она не поддерживалась в актуальном состоянии.
Сейчас есть кастомные билды у автора в гитхабе
https://github.com/Zylann/godot_voxel/actions (надо быть залогиненым)
И есть демка https://github.com/Zylann/solar_system_demo
https://www.youtube.com/watch?v=8OrZX347MoE
Я ее сейчас запустил, могу сказать, что все работает, но видны стыки (которые я сначала принял за реки).
Сам пробуй, решай.
Аноним 19/03/23 Вск 22:49:13 871416 343
Аноним 19/03/23 Вск 22:57:27 871418 344
1582938271534.png 1222Кб, 1920x1080
1920x1080
>>871412
Хотя, заметил что коллайдеры там работают плохо, и пролетает сквозь поверхность. Но я смог высадиться на какой то клочок и выкопать туннель. Так что, как и 4, пока сыровато, но сделано много.
Аноним 19/03/23 Вск 22:57:42 871419 345
>>871412
Спасибо, анон, что затестил демку. Я решил попробовать годот как раз потому, что нашел этот репозиторий искал подобное для уе5, нашел говно за 350 баксов.
Посмотрим, что из этого выйдет
Аноним 19/03/23 Вск 22:57:44 871420 346
>>871412
Зилан ваще гений нашего времени! Какую мощную штуку накодил, и главное, отдал людям бесплатно. Воксельные миры до него я только либо за круглые суммы в продаже видел, либо как часть сторонней игры без возможности пилить свой отдельный продукт, только как мод к существующей игре. Либо как дохлые концепты с танчиками, существующие только на ютубе.
Аноним 19/03/23 Вск 23:04:06 871421 347
>>871418
Ну блять, придирки конечно, как будто ты 350 баксов за это заплатил. Сыровато? Что сыровато? Это не игра, это демка технического инструмента. О какой сырости тут может идти речь?
Ты когда если будешь на зилановском модуле игру делать, сам должен лично прописать и настроить коллизии, точность, ограничения.

Я вот этого никогда не понимал и не пойму. К инструментам относятся как к готовому продукту. Требуют от них готовой реализации ВСЕХ механик. А, извините, ты что будешь делать, когда Хуан с Зиланом тебе поставят под видом движка готовую игру? В чём будет твой вклад разработчика?
Аноним 19/03/23 Вск 23:11:06 871423 348
>>871421
Нет, лол, я про коллайдер террейна. Подразумевается, что коллайдер террейна повторяет визуал 1 в 1. Собственно на видео он садится где угодно, но видео старое. Очевидный серьезный баг, ну так их никто и не торопит, 4 ка только релизнулась.
К механикам игры это отношения не имеет.
>звините, ты что будешь делать, когда Хуан с Зиланом
Прописывать урон врагам, например. Не юродичай.
Аноним 20/03/23 Пнд 02:53:11 871440 349
Помочь с простым кликером они не могут... А создать новый вархаммер с нуля сразу знатоки с помощью прибежали и начали советы раздавать! Что с этим миром не так?
Аноним 20/03/23 Пнд 11:40:45 871460 350
>>871440
>Помочь с простым кликером они не могут
Всмысле?
Где не смогли?
Ссылку на пост плиз. Как мы могли так проебаться? Щас поможем.
Аноним 20/03/23 Пнд 14:50:53 871478 351
>>871460
Ему 2 треда помогали, но он морозился.
Ну думаю сейчас чатгпт может помочь с простыми 2д кликерами, а мы сосредоточимся на сложных 3д опенворлдах.
Аноним 20/03/23 Пнд 17:39:29 871501 352
Запилил уже первое 2д по документации. Мне нравится простота этого движка, больше фокусируешься именно на логике игры. Не думал конечно, что он такой маловесный, немного смутило, что движок состоит только из вьюпорта, ide и дерева с инспектором. Конечно, я еще многого не видел в этом движке, но на первый взгляд, функционала намного меньше из коробки, чем в уе. Хотя, справедливости ради, в уе была тысяча и одна функция, которые я вообще не юзал. Но наличие отдельных средств для работы с мешами/анимациями/материлами/итд мне очень нравилось.
Насколько я понял, движок идет с минимальным функционалом, а остальное можно прикручивать как модули, лишь бы было реализовано кем-то. Если не так, то поправьте.
А я пошел чекать 3д
Аноним 20/03/23 Пнд 17:48:39 871502 353
1654085312423.png 51Кб, 235x841
235x841
1633525205002.png 24Кб, 728x139
728x139
1533642162634.png 139Кб, 584x590
584x590
1664629869981.png 1202Кб, 1579x974
1579x974
>>871501
Если у тебя будет материал, то соотвтетственно откроются проперти матиериала, а если анимация - то редактор анимации. А если дерево анимации или визуальный шейдер - то редактор нод.
Аноним 20/03/23 Пнд 17:57:59 871504 354
1566848178828.gif 1591Кб, 506x440
506x440
1577880423770.png 49Кб, 362x443
362x443
>>871501
Редактора мешей там нет, но есть CSG для прототипирования (который в принципе можно экспортнуть в меш), а так же какие то базовые операции с импортированными моделями - скажем, если она состоит из нескольких мешей, то их можно по отдельности сохранить, делать невидимыми и т.д.
Аноним 20/03/23 Пнд 18:07:41 871508 355
36.mp4 102Кб, 1280x720
1280x720
>>871501
>на первый взгляд, функционала намного меньше из коробки, чем в уе.
Аноним 20/03/23 Пнд 19:41:06 871537 356
>>871508
Неловкий момент.
Аноним 20/03/23 Пнд 23:28:57 871578 357
Аноны, вы код для управления игроком накидываете прям в ноду игрока, или создаете отдельную ноду-контроллер и к ней игрока крепите?
Аноним 20/03/23 Пнд 23:42:18 871580 358
>>871578
Скорее похоже на ECS, когда к игроку крепятся ноды описывающие поведение в конкретных ситуациях (прыжок, плаванье и тд)
Аноним 20/03/23 Пнд 23:48:13 871581 359
>>871580
то есть ты грубо говоря пилишь компонент InputDriven и туда выносишь логику инпута?
Аноним 20/03/23 Пнд 23:50:27 871582 360
>>871580
>>871581
Но тогда получится, что ребенок будет изменять состояние родительского узла, это не будет противоречить идеям годота? Я нуб если что
Аноним 20/03/23 Пнд 23:53:35 871583 361
>>871582
Возможно. Ну можно написать типа - в самом player перебираешь чайлдов, получаешь от них векторы и применяешь.
Аноним 21/03/23 Втр 01:21:30 871596 362
>>871583
Идею понял, спасибо
Аноним 21/03/23 Втр 08:22:31 871612 363
>>871582
>ребенок будет изменять состояние родительского узла, это не будет противоречить идеям годота?
Это не может противоречить идеям годота, это напрямую развивает идеи годота.
Потому что идея годота как раз в том, что поведение сцены (родителя) - это и есть сумма поведений всех её детей.
Главнейший пример здесь: ноды-наследники PhysicsBody, которым обязательно нужны дети CollisionShape, изменяющие поведение родителя, а именно, придающие родителю физическую форму.
Аноним 21/03/23 Втр 08:28:58 871613 364
>>871578
>Аноны, вы код для управления игроком накидываете прям в ноду игрока, или создаете отдельную ноду-контроллер и к ней игрока крепите?
Сначала я лепил код прямо в ноду игрока.
Теперь же я доразвился и креплю в отдельные ноды. Причём эти ноды не просто контроллеры, а стейты стейтмашины. Как верно заметил анон в прошлом треде, дизайнить игру следует начинать с создания стейтмашин, которые и будут обрабатывать игровой процесс. Любой туториал, который не даёт инфу по стейтмашинам следует отбрасывать как фейловый, он вас ничему полезному не научит.
Аноним 21/03/23 Втр 09:41:24 871616 365
>>871612
Принял к сведению, спасибо
>>871613
Я тоже, пока читал документацию думал, а почему fsm не упоминается. Как минимум это бы упростило написание внутриигровых менюшек, инвентарей и тд. Спасибо за наводку
Аноним 21/03/23 Втр 09:59:22 871617 366
1679380872.png 96Кб, 790x643
790x643
1679381080.png 101Кб, 866x661
866x661
1679381605.png 80Кб, 835x608
835x608
1679381873.png 89Кб, 776x641
776x641
Туториал в треде!
Аноним 21/03/23 Втр 10:32:32 871618 367
1679383817.png 108Кб, 829x725
829x725
1679383836.png 59Кб, 669x442
669x442
>>871617
Вы ещё не видите проблему? А она нарастает, как снежный ком. Даю подсказку. Строка 17.
Аноним 21/03/23 Втр 11:04:27 871621 368
1679385670.png 83Кб, 764x548
764x548
1679385710.png 92Кб, 773x748
773x748
>>871618
Переделываем нашу стейтмашину. И тут мы вспоминаем, что на предыдущем шаге добавили стейт fly в стейты. И хватаемся за голову! Как же так?? Швятая волшебная штейтмашина не упрощает девелоп, а усложняет?

Внимание, уважаемые знатоки. Где же мы проебались в построении стейтмашины?
Аноним 21/03/23 Втр 11:30:32 871626 369
>>871621
Не понял, а при чем тут fly? Типа сложно новые состояния добавлять?
Аноним 21/03/23 Втр 11:49:33 871627 370
>>871626
Не то чтобы сложно, а дело в том, что в таком виде добавление новых состояний приводит к постоянному переписыванию кода.
Аноним 21/03/23 Втр 12:08:03 871631 371
>>871627
А какой паттерн более целесообразный?
Аноним 21/03/23 Втр 12:35:16 871634 372
>>871613
Если у тебя платформер на 10 сущностей это ок. Чих на каждую ноду лишнюю нагрузку создаёт, в итоге у тебя 20000 нод снихуя в каком-нибудь рогалике и начинается пиздец.

Ноды это конечно удобно, но чтобы годо-вей в полной мере работал там нужен массивное переосмысление производительности.
Аноним 21/03/23 Втр 12:37:59 871635 373
>>871621
Все разносится по отдельным файлам.
Заводится базовый BaseState
Все _handle_... заменяются одним current_state.handle()
StateMachine переделываешь так, что она занимается только обслуживанием собственно машины, а не логикой.
Выполняет всякие request_state_transition
Смотри как делают другие
https://github.com/GDQuest/godot-3d-mannequin/tree/master/godot/src/Player/States
https://github.com/selgesel/godot4-third-person-controller/tree/master/player
Аноним 21/03/23 Втр 12:47:09 871638 374
>>871635
Приз в студию! У нас победитель!
Аноним 21/03/23 Втр 12:48:41 871639 375
>>871634
> Чих на каждую ноду лишнюю нагрузку создаёт
Хуан в своей статье писал, что нагрузка там минимальна.
Аноним 21/03/23 Втр 15:43:34 871662 376
Насколько хорошо годот подойдет для создания лоуполи 3д клона вальхейма? Почему все готовые проекты в 2д? СОМНЕНИЯ ВСЕ ЕЩЕ ТЕРЗАЮТ МЕНЯ
Аноним 21/03/23 Втр 16:02:58 871665 377
>>871662
> Почему все готовые проекты в 2д?
Потому что годот-комьюнити в основном из пиксельартеров состоит.
Аноним 21/03/23 Втр 16:06:31 871670 378
bandicam 2023-0[...].mp4 462Кб, 1280x720, 00:00:10
1280x720
Версия 3.5.2
Работаю с Light2d, lightoccluder2d и occluderpolygon 2d для tilemap
Сейчас есть такая проблема:
Для tilemap использую clockwise при этом наблюдаю эффект "шестеренки". Правильно понимаю, что это решается только ручным выставлением occulder полигона на сцене?
Есть ли решение "поставить галочку" и убрать такой эффект?

Алсо, есть годные туториалы по системе инвентаря? А то большая часть - это хтонический пиздец
Аноним 21/03/23 Втр 16:27:19 871674 379
>>871670
> Есть ли решение "поставить галочку" и убрать такой эффект?
Извини, не знаю.
> годные туториалы по системе инвентаря?
Вот этот смотрел? Вроде неплох.
https://www.youtube.com/watch?v=dMYv6InQgno
Аноним 21/03/23 Втр 16:35:59 871681 380
1679405758158.png 108Кб, 466x460
466x460
Аноним 21/03/23 Втр 17:05:30 871696 381
>>871670
А какой эффект ты хочешь получить?
Аноним 21/03/23 Втр 17:14:16 871697 382
image.png 97Кб, 920x505
920x505
image.png 88Кб, 1501x796
1501x796
>>871674
Спасибо, вроде годный. Поизучаю
>>871696
См. пик 1 - хочу, чтобы не было угловых теней на тайлмапе
Пик 2 - как сейчас настроена окклюзия на тайлмапе
Аноним 21/03/23 Втр 17:15:29 871698 383
>>871697
Я понял чего ты хочешь чтобы не было. Я спросил, что ты хочешь чтобы было.
21/03/23 Втр 17:22:28 871700 384
>>871698
пососав хуй сказало быдло
Аноним 21/03/23 Втр 17:53:02 871709 385
image.png 26Кб, 955x643
955x643
Аноним 21/03/23 Втр 17:54:43 871711 386
image.png 24Кб, 647x538
647x538
image.png 26Кб, 636x467
636x467
Хотя даже при ручном назначении окклюзии тени уходят в пол, что не очень красиво
Аноним 21/03/23 Втр 17:57:18 871713 387
>>871711
Разнести по разным слоям? Чтобы тени работали только на воздух, но не на тайлмап.
Аноним 21/03/23 Втр 18:08:10 871716 388
>>871713
С light mask не работает, насколько могу судить.
Аноним 21/03/23 Втр 18:10:34 871718 389
1612475919104.png 25Кб, 742x128
742x128
>>871716
Может быть это поможет?
Аноним 21/03/23 Втр 18:24:58 871723 390
1679412297824.png 21Кб, 955x643
955x643
>>871711
>>871709
> Хотя даже при ручном назначении окклюзии тени уходят в пол
Подожжи. Так значит тебе нужно как-то так?
Аноним 21/03/23 Втр 19:33:35 871764 391
image.png 24Кб, 771x541
771x541
>>871723
Не совсем, см пик 1 - нужно чтобы часть "земли" aka тайлмапы освещалось, чтобы игрок видел, по какой поверхности идет. Но, если впереди преграда, тень от которой загораживает то, что впереди, то часть тени перекрывает и тайлмапу. Вот от этого мне нужно избавиться.
(конкретно на этом пике у куска земли перед игроком отдельная окклюзия)
Как костыльный вариант - квадратный источник света ровно под предметом, но думается мне, что идея не самая верная.

>>871718
Спасибо, попробую
Аноним 21/03/23 Втр 19:49:04 871770 392
Есть тут гуру, что поведает мне почему в годо координаты прямоугольника с цветом округляются при отображении, хотя по факту дробные?

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

На большом масштабе такое естественно не заметно.

В настройках смотрел, но ничо не нашёл, разве что обратил внимание на bvh
Аноним 21/03/23 Втр 19:50:08 871771 393
>>871770
> но на мелком масштабе он двигается скачками
Имеется ввиду маленькие значения Camera.Zoom
Аноним 21/03/23 Втр 19:55:03 871775 394
>>871764
Мне кажется ты хочешь невозможного. Либо тайлы оклюдят, либо нет. Тогда для земли юзай один набор тайлов, для преград - другой. Либо мы друг друга не понимаем.
Аноним 21/03/23 Втр 19:57:42 871779 395
>>871770
> координаты прямоугольника с цветом округляются при отображении
Control-нода?
Не стоит её масштабировать в камере. Интерфейсы масштабируются своими внутренними алгоритмами, а их координаты (как я понимаю, поправьте, если ошибаюсь) округляются до целых.
Аноним 21/03/23 Втр 20:04:35 871784 396
image.png 20Кб, 703x550
703x550
>>871775
Ну вот тоже самое отдельным спрайтом
Аноним 21/03/23 Втр 20:06:19 871786 397
image 26Кб, 800x237
800x237
image 30Кб, 1048x765
1048x765
>>871779
Понятно, надо уточнить

На первой картинке то как вычисляются координаты ColorRectangle относительно координат мыши

Координаты мыши берутся из второго ViewPort
На второй картинке иерархия объектов, main корневой, круг рисуется в ViewPort с учётом масштаба и координат камеры
Аноним 21/03/23 Втр 20:07:40 871788 398
>>871784
Объект, бросающий тень рисуется первым вместе с тенью, поверх тайлмап
Аноним 21/03/23 Втр 20:12:36 871792 399
>>871786
Кажется я понял в чём проблема, сам движок округляет до ближайшего пикселя, хотя по факту координаты дробные

Один из вариантов решения в десять раз большее разрешение, но это такое себе
Аноним 21/03/23 Втр 20:38:57 871799 400
>>871792
Отбой, нашёл в чём проблема это особенность конкретно ColorRectangle
Аноним 21/03/23 Втр 20:39:10 871800 401
>>871792
Другой вариант решения, не использовать контрол-ноды с масштабированием, а использовать ноды2д. Например, накидай в пейнте белый квадрат, загрузи в спрайт и настрой селфмодуляцию цвета.
Аноним 21/03/23 Втр 20:40:04 871801 402
>>871799
> это особенность конкретно ColorRectangle
Это особенность всех интерфейсных контрол-нод. О чём я сразу и написал:
>>871779
> Control-нода?
> Не стоит её масштабировать в камере. Интерфейсы масштабируются своими внутренними алгоритмами, а их координаты (как я понимаю, поправьте, если ошибаюсь) округляются до целых.
Аноним 21/03/23 Втр 21:33:11 871805 403
>>871800
>>871801
Понятно, буду иметь ввиду, благодарю
Аноним 21/03/23 Втр 22:02:16 871814 404
>>871697
> Спасибо, вроде годный. Поизучаю
Вот ещё один https://youtu.be/hYRN0eYttLc
Этот несколько душнее, но зато тут рассмотрена реализация инвентаря на ресурсах, что может быть полезнее в некоторых случаях.
Аноним 21/03/23 Втр 23:24:28 871828 405
>>871478
>Ему 2 треда помогали
>Сходу обвинили в пълътике.
>После говорили что я тролль
Зря я обратно зашёл, пойду дальше своей дорогой.
Аноним 21/03/23 Втр 23:34:29 871829 406
>>871828
Насколько мне известно, лицензия MIT не запрещает делать политические, военизированные игры. Ну а мнение других тебе надо научиться фильтровать.
Аноним 22/03/23 Срд 11:44:11 871864 407
Аноним 22/03/23 Срд 11:46:39 871865 408
>>871828
Тебя затроллили тролльблэймингом (тролльным обвинением в троллинге). Растролливайся давай. Удачи!
Аноним 22/03/23 Срд 18:52:10 871943 409
>>871635
во втором примере состояние меняются не только внутри машины, но и внутри плеера тк к нему привязаны датчики воды. Это норм? Немного запутанно получается.
Аноним 22/03/23 Срд 19:03:10 871945 410
>>871943
Затрудняюсь сказать. Скорее всего нет, должно быть внутри стейтов.
Вообще идеально было бы иметь еще и схему стейтов нарисованную нодами чтобы наглядно видеть условия.
Аноним 22/03/23 Срд 19:47:05 871948 411
>>871578
У меня персонаж это стейт-машина. А инпут-контроллер манагерит все виды управления (клавамыш, джой, тач) и отсылает унифицированные команды как игроку, так и различным элементам интерфейса, если им нужно единое управление с разных устройств ввода.
Да, я знаю, что это велосипед в обход встроенного в Годо мотоцикла. Но он плохо понимает тач, да и контроль у меня получается попроще.
Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов