генерирую меш через код и, полагаю, именно из-за этого неправильно работает wireframe shader, так как он основан на остатках деления VERTEX_ID, а у меня айдишники тоже генерированные, пусть и треугольники правильные. то есть 1 и 2 вершина могут быть на разных концах мира, но треугольники правильные (1, 101, 103). что делать? есть идеи насчет шейдера без vertex_id? или алгоритм нумерации вершин стандартизированный какой-то...
>>1017835 >>1017804 пока я придумал сделать меш в блендере, распарсить его obj и таком порядке генерить в годо кодом. пока нет возможности проверить, идея норм? так возможно же?
Из-за корявости модера, прикрепленная ссылка на годот ведет не на каталог всех тем с тегом годота, а на утонувшую тему. Люди пишут в ту утонувшую тему.
>>1017930 >1. не нужно. Классическое отмазка ленивого комьюнити. Перевод официальных доков просто на порядок притягивает ньюфагов, а значит популяризирует продукт. Просто потому что читать на родном языке удобнее и быстрее.
>>1017935 Пчел, привыкай, ВСЕ тебе никогда не переведут. Рано или поздно тебе понадобится плагин, библиотека, чужой код из демо, что угодно нишевое и специфичное, и ты будешь радоваться что оно хотя бы на английском, а не на китайском или японском. Тру стори.
Не говоря уже о том что неофициальной "документации" типа ответов на форумах или туториалов на ютубе гораздо больше на английском, и никто тебе не будет переводить совет со стековерфлоу 2018 года.
>>1017940 >>1017944 Кто сказал что я не владею анг? Я говорю про популяризацию. Всегда вижу какое у нас ленивое комьюнити (за 23 летний опыт айтишечки).
Проблема в том что ньюфагам и так трудно вкатываться, а ты ленивая жопа предлагаешь еще английский выучить параллельно (который по объему больше чем твой годот).
Кринжовики. Сами любите/выбираете технологию и сами ничего не делаете для популяризации это же опенсорс
>>1017950 >Я тебе уже перечислил почему это тупиковый путь. Да мы уже записали это в отмазку, успокойся. Думаешь я эту херню первый раз слышу за овер 20 лет?
>>1017963 Нет, я человек который давно в айтишечке и лазаю по разным техам и каждый раз заходя вижу одну и тужу техническую бедность. Тут даже сравнение кинул. Немецкий вообще пограничный с английским языком, но комьюнити посчитало почему-то нужным перевести. Кстати, с украинского можно автопереводом сделать в пару минут
Я сам исключительно читаю только англоязычные доки (какое можно вообще ожидать качество от такого комьюнити). Единственно что я впервые бегло прочитал на русском, это доку раста. не знаю в каком она сейчас состоянии, наверняка заброшена уже
>>1017969 Ну я всегда что-то отдаю сообществу (чаще ньюфагам), когда мой уровень потребление техой становится выше уровня нуб. И это не перевод, а какие-то узкие фишки с которым мне пришлось разбираться самому.
Это позволяет не чувствовать себя паразитом, который только потребляет и срет на бордах в движкосрачах. Осталось только определиться хочу ли я работать с годот дальше.
>>1017973 Ну меня бы устроило 0% перевода, или больше 80% (если сравнивать с другими) Но не заброшенные 33%. То есть, начали перевод, по-прокрастинировали и потом с великом еб..лом рассказывают, что ненужно. Это какое-то позорище.
>>1017976 Вот человек который занимался переводом говорит ненужно вместо - я ленивая жопа >>1017930
В любом случае, ты уводишь от разговора, тут пол треда говорит что "ненужно". Кто и как сказал это неважно, важно что 33% выглядят жалко. И заброшенные переводы это беда ру-комьюнити.
>>1017979 Там не написано что он переводил годот. Там написано что он бывший переводчик. >В любом случае, ты уводишь от разговора Хочу и увожу, что ты мне сделаешь? >тут пол треда говорит что "ненужно" Это совпадает с моим мнением, не вижу причин его менять. >выглядят жалко. Такими аргументами ты никого не замотивируешь. > беда ру-комьюнити. Иди и переводи, опен сорс же.
Спасибо популяризаторам за трафик крови, которая ничего не умеет, ничего не хочет и не будет импрувиться, в коммьюнити. Контрибутите в то, чтоб персонажи типа пикрил встречались еще чаще. Шоб вы понимале, на пике весь изначальный контекст проблемы. "Моб" "отказывается" "бежать" за "игроком", разберитесь кто-нибудь. Ну и упоминание нейроночки как вишенка на торте. Через 14 часов там еще узналось, что код списывался из какого-то курса на русском) на ютубе. Тоже тот еще рак, литературно воронка для айпад кидов в вайб кодинг геймдев пайплайн
>>1017981 Самое смешное впереди. Люди ещё не вполне осознают, какой ящик пандоры открывают нейронками. В природе всё продумано миллионами лет эволюции: неиспользуемые ткани и органы отмирают. Спроси у чата ЖоПоТы, так ли это.
>>1017980 >Там не написано что он переводил годот А это важно? Может быть тебе нужен пруф какал он сегодня или нет? Это важнее? >Хочу и увожу, что ты мне сделаешь? Заигнорю, нафиг мне чудо которое говорит сам с собой? >Это совпадает с моим мнением Ты не поверишь, но всем насрать на тебя. Мы обсуждаем конкретный пример про перевод. >Иди и переводи, опен сорс же. Спасибо, было очень интересно с тобой поговорить нет
>>1017993 >А это важно? Важно что? Тебе не пришла в голову простая мысль, что он мог быть переводчиком стихов с французского, а не переводчиком тех документации годота? >Заигнорю И чего ж не заигнорил? >Ты не поверишь, но всем насрать на тебя Не поверю. Ты так бежал за мной по треду чтобы сказать об этом. >Мы обсуждаем конкретный пример про перевод. Эти вы все еще у тебя под кроватью? >>Иди и переводи >Спасибо, было очень интересно с тобой поговорить Почему ты меняешь тему, вместо того чтобы идти и переводить самому? Ты бы уже страницы три перевел. Это же стыдно что ты до сих пор ничего не перевел.
Вайбкод на гдскрипт буксует. Нейронки не успевают за изминениями в гдскрипте, им все еще мерещится гдскрипт 3. Хуану надо специально натренировать лору под годот чтобы мы все об-вайб-кодились...
Какая нейронка меньше галюцинирует когда речь заходит о помощи с нетухлой версией годота?
>>1018004 Из четверки действительно вырезали нужный мне функционал, аналог питоновского struct.unpack("2L3fh4b", bytedata). Но я хочу под стэндалоне вр делать. Импортировать ассеты прямо из архива AAA игры, сначала меш, потом текстуры и матерьялы, анимацию, физику, логику.
>>1018008 Дело не в багах, а в галюцинациях, я пол часа с энтузиазмом изучал функционал которого нет. Нейронка вычитала гдето фичер реквест и считает что это есть в движкн. Из галюников: my_var = myarray[4:8], и var1, var2, var3 = [1, 2, 3]. Пытаюсь скрипт из блендер импортера переписать в годот. Magic_dword, fsize, fnumblocks, fnumtextures = struct.unpack("<4b3L", infile.read(4*4))
Уже давно сижу на юнити делаю всякие 3д/2д игрушки для души так сказать. И в последнии пару лет уже пересел плотно на онли 2д, и все бы классно и нравится, но вот подумываю, а не лучше ли будет перейти на годот ради такого? Мне всякие супер штуки не нужны, гоняю спрайты по экрану, анимирую, и все вообщемто. С# нравится и проблем с ним не возникает, но перейти на чтото похожее думаю не сложно будет, все люблю делать только кодом в скриптах если возможно.
Из того что обычно требуется это - Шифрование ресурсов и кода чтобы не могли вскрыть, платформеность ПК-Андроид, ну и все.
>>1018130 >Стоит вкатываться и изучать Всегда стоит. >Шифрование кода C# как раскрытая книга легко вскрывается. Впрочем как и гдскрипт. Более-менее сложно вскрывается только C++, об этом было в прошлом треде. >перейти на чтото похожее В годоте основные языки это GDscript (больше похож на питон), C# тоже есть (но утяжеляет билд рантаймом) и C++ для более тонкой работы. >платформеность ПК-Андроид Ну эти из коробки. Из коробки нет только всяких нинтендо свичей, которые надо портировать самому или у издателя. Единственное что для доступности мобилок и веба традиционно продолжаю советовать делать игру на 3 (gles2), а не 4 версии. Алсо в 4-ке C# пока не экспортируется в веб. >Шифрование ресурсов Какие нибудь сейвы-Json-тексты относительно легко зашифровать, а вот насчет 2д спрайтов не припомню готовых решений. Возможно можно наколхозить что то самому, изменяя пиксели, склеивая спрайты из тайлов, подменять что то в шейдерах.
>>1018239 Что странного ты тут увидел? Кто-то не хочет отдавать часть своей души, кто-то не хочет чтобы его для-души кто-то украл и начал продавать от своего имени, кто-то мечтает что для-души взлетит и начнет приносить миллионы, кому-то интересна просто техническая сторона этого вопроса. я например рипал модель со скетчфаба и одну плейстейшн игру, там заморачиваются с обфускацией, это интересно само по себе
С неделю ебался с тем что бы понять как сделать аналог черных полос keep аспекта в 2д, только что бы за ними рендерилась затемненая карта ака туман, но не рендерилось все остальное. Нахуя?, спросите вы - яндекс игры, отвечу я.
Сначала не мог понять как вообще заставить рендерится определенную область. Первое что попробовал это сабвьюпорт расстянутый на весь экран для карты и другой фиксированного размера для всего остального. Получиться то получилось, но результат не удовлетворил. Во первых какого то хуя спрайты были в линейной фильтрации, даже с отключенной фильтрацией у сабвьюпорта. Во вторых картинка рендерилась в разрешении на 0.5-1? пикселя больше заданного из за чего появились халфпиксели, пробовал и уменьшать и увеличивать разрешение, но избавиться от них так и не получилось. В третьих спрайты двигались как то масляно, как будто они не передвигаются, а их как масло размазывают, хуйня странная короче.
Вторым попытался клиповать детей, это в теории звучит даже хуево, но я один хуй реализовал, расписывать как делал не буду ибо аналогично делаются всякие индикаторы местонахождения. Хоть это и работало отлично, но все же лишние ресурсы жрало нормально так из за колличества объектов.
Третьим попытался тупо скрывать объекты вышедшие из заданной области. Хоть тоже и работало, но это не то что нужно.
И вот пока возился с партиклами, добавляя материал для анимации, заметил такой параметр как light mode на который до этого вообще не обращал внимания.. Боже блять, ебаный тупой хуан, нахуй ты его в такие ебеня запихнул, почему то как объект реагирует на свет определяет ебаный материал а не сам объект. Вобщем light mode - light only и pointlight с текстурой нужного размера - решили проблему рендеринга определенной области полностью. Правда не ебу скажется ли это на производительности в вебе, надеюсь что нет ибо пока все заебись.
С самими прозрачными черными полосами не так уж долго и ебался, с помощью контейнеров и colorrect сделал что и хотел, проблема была только в том что интуитивно настройка параметров якорей нихуя не понятна, пришлось кучу комбинации перетыкать чтоб понять че да как.
>>1017767 (OP) Сталкивался кто с вылетами из-за ебучего ResourceLoader? Вылеты игры в рандом момент при загрузке\выгрузки из памяти. Нет никаких ошибок, даже в .log нихуя нет. Просто рандом вылеты без нихуя.
>>1018936 >Четверка? 4.3 >Джолт? Хз что это >Интеграт форсес юзаешь? Вот щас попробовал, ничего вроде не изменилось, может использую неправильно. А так даю силу в физическом процессе.
>>1018940 Вот какое у меня предположение, попробуй настроить веса элементам цепи (твоя косичка собрана как цепь, поэтому будем называть её цепью, ок?) настрой так, чтобы самый тяжёлый был у точки крепления, а следующие за ним всё легче и легче. Должно сработать. Ну, с дивана выглядит как план.
>>1018942 Не, не вышло, ещё больше наоборот крутить начал. Он как бы при начале смены позиции дёргает конец на себя и раскручивает, а потом стабилизируется, как-то с гравитацией это кароч сувязано мне кажется. Лан пофиг, потом может к чему-то приду
>>1018891 Ты слепой. Тред по сравнению с несколькими месяцами назад просто стоит. Ты прополосни свой гноящийся рот, и скажи нормально если есть что сказать.
>>1019023 Раньше аноны постили свой прогрес, сейчас никого нет. Все сидят на жопах и с умным видом размышляют о таких глобальных темах как значение синглтонов в рамках современной культуры игростроения. Разбавляя иногда техническими вопросами, без постинга прогресса того - получилось, у них или нет. Предположу что показывать просто нечего. Те кто спрашивал просто поняли у себя в голове ответ на свою проблему, и не стали дальше развивать свои поделки...
>>1019025 Я не могу свой прогресс постить, но могу поныть что скоп большой и что дизайн уровней мозг выносит объемом работы. Следующую игру сделаю буквально на одном экране и напихаю туда систем аля кликер, чтобы юзер сидел и пыхтел там до охуения и никуда не бегал.
>>1019184 Демопати - это где обычно присылают что то для ретро 8 битных компьютеров, или хотя бы для ДОС, там есть категории программы 128 байт, или 1 Кб, 4Кб, 8Кб, но есть и категория ПК, туда обычно шлют что то самописное, допустим c++/opengl. А тут вот кто-то прислал демку на Годоте.
>>1019205 Нет. Ну смотря как считать конечно, вот сейчас попробовал минимальный PCK с простым эффектом и весит около 8Кб, наверняка можно в нем еще что-то почистить. Но еще рантайм же движка несколько десятков мегабайт. Так что если движок уже предустановлен в каком нибудь линуксе можно натянуть сову на глобус и сказать что распростаняешь только PCK. Что-то вроде распространения .Net и Java программ.
Но это неважно потому что у него была 3д демка в которой PCK весит 8 мегабайт. Хотя он без текстур, наверное если упороться то и ее можно ужать до 8кб (сделать на CSG например, или процедурно генерить из гдскрипта - тексты хорошо сжимаются)
>>1019209 В принципе можно пересобрать, выкинув лишние модули, но ниже ~15мб, вроде, никак. А текстуры нагенерировать нойзом/градиентом сразу в движке.
>>1019230 Я про его PCK 8 мегабайт говорю, это не включая рантайм. У него еще и несколько картин в коридоре. Сходу не скажу получится ли меньше чем PNG сделать какой нибудь полигон. SVG модуль тоже что то весит.
>>1019237 Я так понял они предлагают избавиться от серверного кода между клиентом и базой данных, и запихнуть весь код, всю логику в базу, вместе с собственно данными.
Я не вижу какую проблему оно решает. Просто перекладывает код из текстовых файлов в БД.
Буду тихонько пилить просмотрщик моделей и анимаций из одной игры.
extends MeshInstance3D
func _ready() -> void: . . var file = FileAccess.open("res://kas00.emp", FileAccess.READ) . . if file == null: . . . . push_error("Failed to open the file!") . . . . return
. . # Read the entire file into a PackedByteArray . . var data = file.get_buffer(file.get_length()) . . file.close() . . var buffer = StreamPeerBuffer.new() . . buffer.data_array = data . . buffer.seek(0)
. . var dwChunkId = buffer.get_32() . . var dwMDLSize = buffer.get_32() . . var dwMDLMagic = buffer.get_string(4) . . var dwNumObj = buffer.get_32() . . var dwNumTxt = buffer.get_32() . . var _dwUnk0 = buffer.get_32() . . var dwNumIVBuf = buffer.get_32()
>>1019271 Как же ты заебал своими кнопками, даун блять. Почему навязчивые форсы не запрещены в /гд/? Репортить бесполезно. Идиотина, тупорылая, казёл, выпей таблетки свои, шизоид ебучий.
>>1019325 Замечательно! Я вам музыку, а вы мне что? Негодяи! Мне ещё свою игру делать!
>>1019327 Ну накинь референсов каких-нибудь и напишу. От одного трека не растаю, думаю. Ненавязчивое фентези понятие растяжимое, а вот так вот без каких-либо более-менее подробных пояснений или примеров я нахуеверчу совсем что-то своё. Уже сталкивался с разным виденьем подходящей музыки.
>>1019313 Ты че? Мультиплеерные кнопки это лучшее что произошло с гд за последний год. Максимально интересная сложная техническая задача. Тебя просто злит то, что ты не знаешь как ее решить.
>>1019332 > ты не знаешь как ее решить Знаю. Через синглтон. Мультиплеерный пир - это синглтон, который создается при активации мультиплеерной сессии и регулирует её до самого её завершения. Причём тут кнопки вообще? Вот это меня и бесит. Кнопки просто выполняют команды из модели бизнес-логики (частью которой может быть и мультиплеерная сессия).
>>1019350 > Ну и если ты ещё не понял, и без тебя есть кому раздать. Не переживай. Обойдёмся. Не переживаю, но и вы не расстраивайтесь. Обидеть никого не хотел.
Ну ёб твою мать, граждане товарищи! Одним постом пожалуйста такие вещи делайте. Это Годот-тред, а не /mus/-реквест. А троллингом в срачельнике занимайтесь. Как дети малые, ей богу.
>>1019338 >>1019344 Ну нихуя себе у тебя ненавязчивое фентези. Это в каких играх именно под такое обычно ходят по городу и пиздят с неписями? Толстота толстот.
>>1019353 Ну это ещё звучит как нечто ненапряжное первую половину, дальше начинается РОООООООК, но всё равно не слишком уж "фентези", максимум для пещеры какой-нибудь.
Затролюнькали вы короче бедного меня. Я хотел искренне помочь, а вы взяли и начали путать своими эпическими оркестрами.
>>1019360 Мне нравится ненавязчивость уровня Зельды ботвы. Там 90% времени музыки никакой нет вовсе, и только временами происходит редкий проигрыш тремя аккордами. И дальше под звуки среды аутируешь.
Как правильно загружать уровень, чтобы ничего не сломалось?
Сейчас так у меня: 1) Из глобального скрипта запускаю get_tree().change_scene_to_file() 2) Потом у всех объектов, у которых может быть разное состояние на уровне, в _ready() использую await get_tree().process_frame 3) После также у этих объектов запускаю кастомный скрипт загрузки состояния
Простой пример для позиции игрока: func _ready(): await get_tree().process_frame Load_player_data()
>>1019372 Как тебе удобнее - так и правильно. Затем, когда игра будет готова на уровне предрелизного билда, можно пройтись по уже готовым системам и пооптимизировать. > чтобы ничего не сломалось? Главное сам не запутайся в своей лапше. Для этого всё документируй. Например(!) Прямо вот с блоксхем начинай и прямо в пейнте или где удобно рисуешь блоксхемы происходящего у тебя в коде. Затем сверяясь с блоксхемами пишешь код. Если код не работает, идёшь по коду, сверяясь с блоксхемой, ища где код делает не так, как ты спроектировал. Ну и блоксхемы не абсолют, их тоже придётся править по мере появления новых обстоятельств и по мере увеличения твоего скилла в принципе.
>>1019372 > Все делаю правильно или через 10/50/100/etc объектов/их параметров на уровне у меня все наебнется? Пару тредов назад обсуждали это. И не знаю, кто как, но лично я пришёл к выводу, что если у тебя ожидается сохранение больших обьёмов данных, но недостаточно больших, чтобы заморачиваться с СУБД, но достаточно больших, чтобы встроенные утилиты загрузки файлов непричтно зависали читая одним буфером весь файл сразу,
то
сохранять надо примерно так же как браузеры сохраняют куки. Знаешь как? текстовый файл со строками ЖСОН-ами. Одна строка - один жсон-обьект. Текстовый файл можно читать построчно, и это можно разбить на фреймы, и можно снять нагрузку с основного потока. Мелкие жсоны будут обрабатываться молниеносно, в отличие от попытки распарсить один глобальный гиперсловарь с миллионами вложенных параметров.
Поэтому к вот этому вот > .game_data["player"]["position"] подходи осторожно. Допустим в памяти у тебя лежит одна структура, но в файл её следует разнести так, чтобы можно было считывать частями. Посмотри как организованы tscn файлы, подумой над ними.
Пытаюсь сделать просмотрщик для моделей из одной игры. Читаю встроенную dds текстуру из файла игры в PackedByteArray, и нейронка говорит что можно загружать с помощью image.load_dds_from_buffer(dds_data). Но среди доступных форматов для загрузки из буфера, dds отсутствует. Какие еще есть варианты?
>>1019382 Этот челик => >>1019402 троллирует. Я просто пока занят кое чем.
Хотя должен предупредить, что совсем в таком стиле писать не умею. Мне всё же ближе более мелодичная музыка. Поэтому настолько эмбиентовый звук у меня вряд ли получится.
>>1019427 Что получится, то получится. У меня много пространства для фоновой музыки. Главное чтобы по ушам не ездило. Если захочешь какое-либо авторство - вместе с треком напиши как в титрах указать, к концу года себя погуглишь.
>>1019311 Ну я создаю. Тащемта музыка это моя основная работа, а геймдев - хобби.
Но по реквестам писать в любом случае ничего не буду. Музыка должна быть прям под игру, надо погружаться в настроение, идеи, ритм, темп; это заёбисто. А дженерик дрисню, которая подойдёт куда угодно, даже начинать не хочется.
>>1019535 > draw.io Я для похожего использую обсидиан с канвасом и плагином на рисование. Профит в том, что там еще кодовые задачки вести можно в виде, например, тикет-трекера или канбана. Возможность перекинуть задачу из колонки TODO в колонку DONE - добавляет мотивации.
Ведь все равно, когда игрок взаимодействует с инвентарем, использует предмет (например, аптечку) и т.д. обращение за инфой о предмете будет идти в один скрипт-базу данных обо всех предметах.
При этом можно сделать одну универсальную сцену с кучей @export var и тупа клонированием запихивать ее сколько надо раз в сколько надо сцен и настраивать оттуда - ТОЧНО ТАКЖЕ КАК РЕСУРСЫ.
На выходе получим почти такую же логику, но без кучи лишних телодвижений. В чем я не прав? Хочу разобраться на берегу, чтобы потом не переписывать код
>>1019621 > можно сделать одну универсальную сцену Ноду. Ресурсы не ноды и не занимают места в дереве. В этом их польза. Если тебе нужна нода в дереве, со всеми фичами ноды - то ты делаешь сцену, если тебе просто нужна куча экспортов - ты делаешь ресурс. Всё. Вся разница.
>>1019621 >пикрил Литерали мое ебало после прочитанного. О чем речь? Что за монстр эта универсальная сцена? Че за дб такая странная? Я ваще нихуяне понял че ты хочешь, но прикину хуй к носу и высрусь.
Ну смотри, вот тебе надо заспавнить аптечку, че делать будешь? Пойдешь делать отдельную сцену под аптечку? А если еще и патроны какие нибудь? Опять же новая сцена, ну либо какая то ебанутая одна сцена которая будет содержать абсолютно все предметы в игре с прописаным всем говном в коде. В случае с ресурсом тебе понадобится лишь 1 сцена и скрипт у которого будет ссылка на ресурс. Нужна аптечка? Инстантишь итем, вставляешь ресур из дб под нужным идшником, все, итем готов. При подборе итема в инвентарь, ссылка на ресурс из итема просто переносится в слот, в случае если такой итем есть и он стакается то просто увеличивается в ресурсе колличество тех же аптечек, все блять. Я хуй знает че ты там предлагаешь, монстра какогото, хуй знает, франкенштейн штоле. Не, конечно можно сделать мегамонстра, но как ты с ним работать будешь янеебу. Ну и как анон выше написал, ресур не нода, а как мы знаем, даже пустые ноды влияют на производительность. Вот и думай. Ваще советую глянуть то как делают инвентарь на юнете, нет, не для того что бы научиться его делать, а шоб наглядно понять че такое ооп, тебе это сейчас важнее.
>>1019636 Правильный ответ под спойлером, чтобы ты мне мозги не ебал, а вернулся к игре: потому что меш-ресурс это и есть та самая "куча экспортов", данные о вершинах на диске, которые мешинстанс загружает в себя и подготавливает для отрисовки.
Привет ананасы, помогите деду. Вот я хочу настроить уровень, заполнить его нодами с коллизиями, отправляющий сигнал в шину (при вхождении в коллизию и по нажатию кнопки). Так я настрою квесты (получение\отдачу), инвентарь (получение предметов), переходы на другие локации. После чего, так как я не особо понимаю наследование сцен (скрипты изначальные меняются, я хз почему), я при построении новой локации просто скопирую в проводнике сцену локации и буду заново ее настраивать ручками. Норм\не норм? Сильно это изменит вес игры, если сцены, как я понимаю, это просто куски кода?
>>1019675 Используй лучше композицию. Наработай небольшие куски уровня, которые общаются между собой сигналами либо вставляются друг в друга, и лепи из них уровни как из лего.
Если общая структура уровней похожа - сделай сцену-шаблон с базовой структурой из своих кусков-композиций, и каждый уровень начинай строить с нее.
>>1019676 >Объясни какую хочешь механику, объясню, как построить код Хочу сделоть простенький паззл, где есть поле с врагами и герою нужно выбирать через них путь, а после выбора пути убитые враги пропадают и враги перестраиваются. Всё это конечно со своими правилами под своих врагов етц. Корованы не забудь
>>1019699 Это из него так желчь вытекает. Он считает что любой кто обращает внимание на женщин не достоен уважения. И он пытается это пресечь, чтобы род игроделов загинул вместе с этим тредом.
А насчет механики. Тебе надо воссоздать для начала что-нибудь классическое, вроде пасьянса или три-в-ряд, чтобы получить общее представление о годоте и о том как делаются игры. Найди туториалы или поговори с нейронкой чтобы она тебя направляла. Спроси как реализовать что-нибудь очень простое. Пусть накидает предложения.
>>1019634 >Опять же новая сцена, ну либо какая то ебанутая одна сцена которая будет содержать абсолютно все предметы в игре с прописаным всем говном в коде.
Зачем? Вот как "подключить" ресурс к ноде? Пишем в нодовом скрипте: >@export var item_data : Item_resource
Но не будет же этот ресурс содержать в себе ВСЕ данные об аптечке, верно? Он будет ссылаться на какой-то скрипт, где прописаны все предметы и их характеристики. Иначе как нормального из разных мест в игре получать данные об аптечке? Только из одной бд (в виде скрипта в переменными/реальной бд/json-файл/etc).
Так вот. Почему бы мне вместо ДОПОЛНИТЕЛЬНОЙ ПРОКЛАДКИ в виде ресурса: >@export var item_data : Item_resource Не написать сразу >@export var item_data : String Где item_data - это название переменной, типа "small_medkit", за характеристиками которой мы сразу обращаемся к бд?
Чет я вообще не вкуриваю прикол ресурсов. Или весь их смысл только в том, чтобы раскидать все по отдельным tres-файлам? Типа для удобства?
>>1019721 >лучшую девочку импортируй Это более ранняя версия игры. Лучшую девочку пока не завезли. Может позже запилю импортер под пятую версию. Но есть сомнения что третий Мета Квест потянет ее модели.
Эни-вей... Импортер: Если бы не нейронка то хуй бы я разобрался. Разобрался с моргающей прозрачностью прописав вручную порядок рендеринга для прозрачных поверхностей. Жаль glosiness из материалов годоту не нужна, пилить свой шейдер чтобы воссоздать магию directx9 чет не охота. Теперь надо найти где в игровой модели хранится инфа указывающая если поверхность двухсторонняя.
Заодно узнал что это за большие обьекты хранятся с моделью. Оказывается что это заготовленные Shadow Volumes.
Пикрилы. Запустил в виртуальной реальности. Полет нормальный. Но чувствую запал на исходе. Надо аыбрать что-то одно, для последнего рывка.
>>1019724 glossiness это инверсия roughness, вроде. Можешь попробовать просто 1.0-gloss, либо там 1.0-sqrt(gloss). Несколько лет находил формулы, но cейчас что-то с набегу не получилось. Вроде это называлось specular/glossiness workflow, а сейчас в PBR распространен metallic/roughness.
>>1019724 >Пикрилы. Запустил в виртуальной реальности. Полет нормальный. Но чувствую запал на исходе. Надо аыбрать что-то одно, для последнего рывка. Анон, а в чем смысл твоей игры? Я просто раньше интересовался темой, собирал что-то типа 3д визуальной новеллы на Playcanvas. Плейканвас потому что это веб-движок и можно игрокам с Квестом 2/3 показывать непотребства прямо в шлеме без установки левых апк или стриминга с ПК. А если на Годоте, то какой смысл? Не думаешь же ты что тебя пропустят в магазин с чужими полуголыми бабами.
>>1019747 А он хоть работает на мобильных браузерах для Квест 3? Так-то и у Юнити тоже есть экспорт в веб, но на Квесте он такой производительный что лучше бы его вообще не было.
А Playcanvas и Aframe были очень шустрыми движками, почти не хуже нативных приложений в браузере можно было получить.
>>1019736 Glossines color rgba, а не Glosines glow. Glow я пристроил. А Color виден на первом из двух изображений, где я его подсунул вместо альбедо.
>>1019746 Так это же не игра, а недоделаный инструмент для тех кто создает или использует моды, то есть для модсцены. То что модели можно будет пинать в виаре это просто стресс тест. В игре их еще сильнее пинают.
>>1019746 И это не экспорт на квест. А запуск годот едиторе который сам работает на квесте. Производительность у веб вр низая по сравнению с нативным запуском.
Причем тебе не нужно ковыряться с установкой апк. Скачиваешь годот в квест3 из прямо встроенного магазина мета. И копируешь проект годот в папку Документы. Все как задумано.
>>1019706 Не хочешь использовать ресурсы - не используй, тебя кто то заставляет? Ресурсы легковеснее нод (в них нет базового класса ноды, всех этих _ready и прочего). И вообще емнип они изначально для иммутабельных клонов данных (когда один меш или текстура переиспользуется несколькими моделями).
>>1019831 >Не хочешь использовать ресурсы - не используй, тебя кто то заставляет? Так я и не говорю, что заставляет кто-то. Просто пытался вкурить, как и нужно ли вообще мне их использовать
>>1019992 Расскажешь, как такой графоний, как у тебя делать? Вопрос скорее про освещение и всякие фишки интересные сами текстурки буду заказывать на стороне. Да, в инете есть сотни профильных статей, но интересны какие-то неочевидные вещи.
>>1020023 В основном всю картинку делает шейдер около постеризации. Из освещения у меня только 1 омнилайт внутри, 1 снаружи и среда настроенная под подводную тему. Плюс водный шейдер на окно.
перекатился из юнити в годот, вроде все отлично, все, что нужно мне есть, но существует ли какой-то аналог адекватный для реализации интерфейса?
просто то, что в годоте накрутили - это какой-то неудобный для меня функционал с этими якорями, привязками, хотя я и не сильно в него вникал (в этом плане Unity UI Toolkit был имбой, потому что я так сказать привыкший к верстке а-ля XAML (WPF/Avalonia) или HTML+CSS (Blazor + Razor))
я видел бридж для авалонии, не обновляющийся бридж для впф (тут сразу обрез по платформам), еще костыль-подвязку к WASM-Blazor приложению, но не знаю как оно будет работать для всей игры, учитывая что она буквально вся будет интерфейсная
>>1020040 >не вникал В этом твоя проблема. Как бывшая вебмакака, повидавшая кучу уй-фреймворков, скажу что в годоте довольно удобный уй, позволяющий творить с собой что угодно. Отчасти поэтому на нем часто уй-приложения клепают. Так что давай, не городи абстракции пока не разобрался.
Те, которые сходу вспомнились. Все на годоте, все формошлепство на стандартном годотовском UI, все приложения-а-не-игры. В годоте есть даже low-processor mode специально для этого.
>>1020056 На самом деле я тут как по нотам сыграл. В прошлый раз я спрашивал можно ли сделать годные приложения на годоте и мне никто ничего дельного не ответил. Вот я и решил пойти от обратного, анон тут же побежал примеры гуглить в ответ на пост с двумя словами. Учись.
>>1020057 Я хз кто тут кого троллит, но я бы тебе и так ответил, потому что сам имею уй-приложение для изучения языков, выложенное в гугл-плей. В разы проще чем то что выше накидал, но все же.
>>1020064 А если у меня окно в центре с 3D сценой, которую я хочу крутить мышкой, а вокруг сцены обычный UI. Будет ли моя 3D модель правильно рендеритсься с этой настройкой?
Так блядь. Относительно свежий туториал по созданию игры на годоте с почти лямом просмотров. Он тут пишет функцию проигрывания анимации внутри метода расчёта физики, который вызывается каждый кадр ака каждые ~15 мс при 60 фпс. Нахуя это делается и почему анимация проигрывается правильно, если по логике она должна стартовать каждые 15 мс заново мммммммммм??????
>>1020042 спасибо, скорее всего ты прав, дам 2 шанс, но тогда у меня еще вопрос есть, может тут кто за ECS шарит?
просто мне захотелось потыкать его. с базой (компоненты, сущности, простые системы) все понятно, я их реализовал, а вот как подвязать более сложные системы к UI, у меня есть пару идей
1. использовать события (EventHandler + свои EventArgs) или годотовские сигналы (в них я тоже еще не сильно углубился, потому что до этого проект был только в контексте юнити), но мне кажется, что получится слишком громоздко
2. использовать нечто схожее на шину данных (типа Кафки, Рэббита, тот же MessagePipe), мне эта идея кажется перспективнее, да и MessagePipe довольно шустрый
3. была еще идея использовать «компоненты, как события», но удалять/добавлять компоненты затратная операция, осложняется все еще тем, что просто так добавить/удалить нельзя это делается через буфер команд, который доступен только внутри системы и срабатывает раз за Update в его конце
>>1020068 > почему анимация проигрывается правильно, если по логике она должна стартовать каждые 15 мс заново мммммммммм?????? Читай документацию Анимейшн плеер не сбрасывает анимацию, он только нажимает кнопочку плей на условном видеомагнитофоне, если она уже нажата, то все продолжится - ты же ее не перематывал в начало. (Да, это отличается от аудиострима - там функция play получает параметр с какого момента играть - и по умолчанию это 0 секунда, поэтому там вызов play() эквивалентен play(0 sec) ) >который вызывается каждый кадр ака каждые ~15 мс при 60 фпс Это может быть и неважно, если таких объектов всего десятки или сотни в игре. Но конечно лучше так не делать. А вот что точно плохо написано - это каждый кадр искать ноду по ее имени get_node("NodeName"). Ее можно один раз в _ready закешировать в переменную и уже оттуда обращаться. Кол-во просмотров туториала ничего не говорит о его качестве, к тому же в туториалах многие вещи упрощают, чтобы сконцентрироваться на теме которую объясняют - если каждый туториал вместо объяснения простой темы будет сначала целиком цитировать Clean code, далеко не уедешь.
>>1020090 >А вот что точно плохо написано - это каждый кадр искать ноду по ее имени get_node("NodeName") О, я как раз недавно занимался рефакторингом этой хуйни у себя. На бенчмарке в десятки тысяч прогонов get_node("nodename").some_field=1 VS nodename.some_field=1 - второе оказалось быстрее раза в 3. Так что я напрягся и переписал свою длинную плотную по вызовам портянку _process на кешированные ноды, и проверил разницу уже там. Таких _процессов у меня - на каждого нпс по 1, а нпс под 30 на карте. Так вот, реальный прирост в игре - ноль фпс. Так что теперь я считаю это экономией на спичках и пустой тратой времени.
Заморачиваться стоит разве что ради частых переименований/перемещений нод, чтобы потом апдейтнуть код в одном месте, а не в десятках.
>>1020093 Бенчмарки это хорошо, лайк. >Так вот, реальный прирост в игре - ноль фпс. А ты с отключенным vsync посмотри. Может быть у тебя в обоих случаях был лимит 60фпс. А если разница будет 3000фпс и 2600фпс, разница уже есть, и она может у кого то на слабом железе превратиться в 30 vs 26 fps, условно.
>>1020092 Уже утонуло, почему и не перепостить Пик 1 - корневой контрол Full Rect занимает весь экран Пик 2 - контрол с custom anchor, как раз и означает в процентах - 0 это край, 1 это другой край, 0.2 это 20 процентов и тд Пик 3 - контрол с custom anchor и anchor offsets, то есть когда относительно процентов еще и margin в пикселях Пик 4 - это уже с контейнерами, контейнер сам расположен на 10 процентах, и растягивает контрол в нем под это.
>>1020096 Кроме этого есть всякие контейнеры в которые уже по какой то логике набиваются дети, например grid container, horizontal box, vertical box, их можно вкладывать друг в друга, сейчас вроде бы есть и flow Контейнер управляет лейаутом детей, но дети могут указывать как они хотят размещаться в контейнере, полями container sizing; fill или shrink, а также галочкой expand. В таком случае параметр Stretch будет уже задавать пропорции между такими элементами. На пик 2 - пропорции 3-2-1.
margin container он используется чисто для отступа в дереве контролов, то есть даже если у ваших контролов нет возможности явно задать отступ, можно всегда обрамить это в margin.
Еще какие то настройки бывают не в настройках контейнеров, а в настройках темы, например отступ между элементами контейнера. (пик3) Вот их похоже в процентах не задать. Но наверное можно из скрипта как то получить общий размер контейнера и высчитать.
P.s. Посту 2 года, может с тех пор что-то обновили.
>>1020090 >если она уже нажата, то все продолжится Нелогично же, так вызовы методов никогда и нигже не работают. Вангую это создает миллиард проблем с паузой и продолжением воспроизведения при различных ивентах и необходимо городить костыли.
>А вот что точно плохо написано - это каждый кадр искать ноду по ее имени get_node("NodeName"). Ее можно один раз в _ready закешировать в переменную и уже оттуда обращаться. Он там поясняет за это и меняет код, говоря что так делать не стоит.
Да и вооще что это за мода объявлять новую переменную каждый фрейм на пятой строке, если по логике нужно создать переменную один раз и её просто обновлять каждый фрейм? Он это не только здесь делает, но и дальше по коду. Это так сегодня кодят современные игры, ищя в памяти свободную ячейку каждые 15мс и гадя туда рандомными байтами? Я сам не кодер, но в юношестве участвовал в олимпиадах по кодингу на скорость и нас там за такое по ебалу пиздили тапками.
>>1020094 Да, всинк конечно выключен. 1500 вс 1500 по итогу, средний фпс за замеренные 2 минуты тоже не изменился. Возможно масштаб недостаточен, но по итогу я не планирую заморачиваться с кешированными нодами - только код переменными загрязнять и время тратить.
>>1020099 Так в серьезной игре у тебя все равно AnimationTree, как бы пофиг. Ну и ты всегда можешь проверить is_playing/current_animation/assigned_animation, ничего сложного. Тут в любом случае нужна стейт машина, хоть встроенная хоть своя, чтобы не запутаться в своих событиях. Создание локальных переменных как и их удаление всем скопом кек в современных языках дешевое. Локальная переменная хороша тем что не хранит стейт - если у тебя будет классовая переменная, будет соблазн обратиться к ней из другой функции, честно скажу что я так раньше делал и потом долго вычищал баги, потому что в каком то кадре в движение записалось "иду влево", а при не нажатых кнопках забыл записать туда 0, и потом часа два искал баг, почему анимация не та играется.
Может ли годот вообще в материалы как анриал? Я искал туториал по материалам на годоте, но ничего даже похожего на https://youtu.be/iZgbzwBQTPY не видел.
>>1020188 Благодарю. А можешь потестить и показать как работаете вариант CSGPolygon3D плиз? Просто выдави мне квадрат или цилиндр в коде во время работы игры и мне этого будет достаточно. Я просто еще годот даже не поставил и вот решаю какой движок подходит.
>>1020217 В теории ничем не считая багов которые иногда обнаруживают, обычный запуск сейчас в 4-ке запускает такое же окно с меню отладки, просто есть опция показать его плавающим или встроенным. (там есть пауза, след. кадр, отключить ввод и выбирать мышкой ноды, перечислить все ноды в месте клика, двигать камеру). Это отдельный процесс, в Compatibility mode OBS не захотел его даже захватывать (надо было в Forward+ переключиться, не догадался, записывал экран)
>>1020284 > учить с нуля по старым гайдам Ненене, я имел ввиду, если есть редкий гайд по малоизвестному вопросу, от автора, который давно ушёл, тогда его вполне реально перекодить на четвёрку. А с нуля конечно быстрее по актуальному учиться.
>>1020381 А я знаю, а я вообще пихаю сигнал бас в корень, очень удобно, и он всегда существует, автозагрузки не нужны, когда можно установить скрипт в корень дерева, существующий всегда, имеющий по дизайну функцию вызова. > if get_tree() is SignalBus: get_tree().load_next.connect(...) Скрипт с класснеймом прописывается через редактор настроек, указанием класснейма. > class_name SignalBus extends SceneTree > signal load_next
>>1020421 Еще не придумал. Может в джем впишусь, хотя уже мало времени осталось. Хм, бесконечный однокнопочный уровень. О, можно раннер про Хоппу сделать, все равно собирался.
>>1020447 Аниме-тяночька с мышиными ушками, из рисовача в /Б/, и больше не знаю о ней ничего. Рисовачеры в /Б/ злостные пидарасы и ничего не рассказывают.
Мне давно не дает покоя сделать рофлоигру про Ваномаса, который бы пытался отвоевать свою арену... Идея сделать эту игру вообще нахуй без текстур неплоха...
>>1020563 Давайте! Чур я сторителлер-евангелист, геймдизайнер. Согласен на должность директора. Стори уже готова для теллинга, и я её запостил в АААА-треде уже три года назад >>834219 → это на голову выше этих ваших експедишенов.
Вот вы смеетесь, а я реально не так давно составил в голове диздок динамичной жрпг с боевкой вдохновленной фф10-2 и валькирия профайл, и все жду когда кто-нибудь украдет эту идею...
>>1020638 Лишний раз показывает насколько эти ваши диздоки бесполезная мемная хуита. Актуальна разве что для корпов, которые деньгами могут вывезти реализацию диздока 1-в-1. Путь индюков - идти по пути наименьшего сопротивления и позволить игре дизайнить саму себя, потому что у индюка нет ресурсов как баран переть в закрытые ворота.
>>1020682 Знание умных названий одних ошибок не позволяет тебе избегать других ошибок, братан. Не говоря уже о том что половина из написанного нерелевантна. Не факт что ваш охуенный диздок окажется чем-то фановым по-итогу, но же будете натягивать его как сову на глобус годами игноря фидбек и механики которые сами идут в руки, пока я заброшусь в дискорд и проведу 3-5 плейтестов и пойду туда, где реально фан лежит. Если тебе хочется умных слов, то вот мой appeal to authority - посмотри, например, интервью Jonathan Blow (braid/witness), где он говорит что его игры, фактически, дизайнят себя сами по ходу разработки. Или фортнайт, который знаменито по диздоку вообще не то, чем он стал. И уж сорян, дальнейшую дискуссию я вести не буду, для меня само слово "диздок" железный маркер либо долбоеба, наслушавшегося сказочек, либо корпа с которым у нас разные категории и которых на харкаче все равно нет.
>>1020685 Да ничего страшного, братан, конечно мы разные. И да, я пришел из ААА и знаю какие практики стоит использовать. Но конечно если ты делаешь гиперкеж однодневный тебе они не нужны.
>>1020689 >странно что ты не понимаешь что практики одних не всегда применимы к другим. Ничего себе какая глубокая мысль! Попробуй воспользоваться ею в следующий раз, когда будешь давать советы другим.
>>1020690 Так и представляю анонимуса с охуилиардами денег на разработку ААА по диздоку, а рядом с ним вся его команда проверенных ветеранов геймдева. И сидят они тут, с нами, в двачетреде. Среди нас! Ну ничего, вот напишем все по диздоку тоже такими станем.
>>1020692 А что если я скажу тебе, что точно так же как игра могущая дизайнить сама себя, так же и диздок может себя переписывать? И переписывая себя диздок продолжает нести свою основную функцию: не давать тебе превратить игру в кашу.
>>1020692 Подмена понятий с инструмента/практик на бюджет и размер команды. Что-то уровня чела который отрицает гит и хранит все в раре. Или как отрицать паттерны проектирования.
>>1019621 1. Хранилище анимаций для персонажа, а благодаря возможности выполнять скрипты прям из редактора - можно эти самые анимации ещё и нарезать руками из спрайтшита (потому что годотовский ублюдский спрайтатлас не умеет так делать, как в нормальном юнити) - нахуя под это иметь сцену? 2. Прокси ресурс - например у меня был случай - нужно было перекрасить определенный узор пикселей на текстурах, соответственно нужно было либо извращаться с шейдером и рантайм генерируемыми масками/шумами, а так у меня есть proxytexture ресурс, который сам генерирует что мне нужно и без шейдера, так как хранит внутри себя уже готовую генерацию постоянно а ноды требующие texture - воспринимают его как родного. 3. Твой спич про сцены вообще непонятен, тем более ее подрузка обойдется дороже, а ручное управление через редактирование в нотпаде tscn будет ещё сложнее из-за лишней информации. А такое придется проделывать, если сильно меняется структура твоего хранилища игровых данных по любым причинам.
>>1020783 Название то нормальное, а вот лого это пиздец, как будто не двигло запускаешь, а какую то детскую хуйню. Уж лучшеб просто половина шестерни было, а не этот кринжобот.
>>1020788 Лол, я пытался эту классику посмотреть, Ниасилил. Надо быть глубоко погружённым в контекст, чтобы данную пьесу понять, наверное. Олсо, в этом году на Бродвее ставят её с Киану Ривзом и Алексом Уинтером. Литералли возвращение Билла и Теда. А ещё есть тоже бродвейская постановка с Магнето и Ксавьером, отрывок валяется на ютубе, деды прям отжигают; причём существует полное видео, и его даже можно бесплатно посмотреть, если лично прийти в Библитеку Конгресса в Вашингтоне, лол, но в интернетах нет.
>>1020829 Хорош под дурака косить, если мне не нравится лого при запуске, а оно внезапно не только при запуске, то очевидно мне ненравится само лого, а не то что его показывают при запуске. Я хуй знает чому ты так яростно пытаешься дефать это говно предлагая костыли.
>>1020830 >не хочешь срать на унитазе, сри на кортах как мужик, техническая возможность есть >ряяя зочем мне решения мне не нравится само существование унитаза!!1 Это не ты там выше бурлил на тему "нет текстур - детская игра"? Тебя детскими игрушками пиздили, гримдарковый ты наш?
>>1020831 Братан, аналогии не твое, да еще и те которые не к месту, прекращай с этим. Я не хочу итт устраивать срач, поэтому отвечаю в последний раз, фиксить дерьмолого должен не я костылями, а ебаный хуан редизайном. Ты видимо нюфажина раз так яростно готов защищать говно, либо просто долбаеб которому хоть ссы в глаза - все божья роса. И я понятия не имею о каких ты там текстурах говоришь, так что мимо.
>>1020875 Я тоже не знал, но к счастью нет нужды надеятся на ответ клоунов-вахтеров вроде этого >>1020944 и можно просто получить исчерпывающий ответ от ИИ.
а мне нравится перплексити, по сравнению с Алисой(даже на Про) он выглядит, как нормальный инструмент, сегодня отсортировал мне мои закладочки, поменял ссылки с онлайн кинотеатра на ссылки на кинопоиске, сделал в формате маркдауна, отсортировал по году и распределил по типу(фильмы, сериалы, аниме) не знаю, что там с кодингом, но в своё время, когда там была другая модель распространения, он помогал мне со всякими языками типа clojure, elixir и т.д. годотю думаю не потянет, слишком нишевая и специфическая вещь, но какие-то концептуальные вещи объяснить может, особенно сейчас, когда там модель можно выбрать типа того же жпт
>>1017767 (OP) Заебали эти бленд шейпы и отсутствие примеров того как использовать все эти ихние задумки в движке.
Нужно импортировать меш, разрезаю его по материалам и импортирую вместе с blend_shapes, с помощью add_surface_from_arrays. Никак не получается этим морфам присвоить названия. Вроде бы имена надо добавлять сразу после var array_mesh = ArrayMesh.new(). Но если это сделать. Получаю ошибки от add_surface_from_arrays, иду вслепую, не нашел нигде рабочего кода, нейронка расказывает небылицы.
>>1021073 >движок по документации. Нету документации. Лишь краткое описание методов которые непонятно как использовать. Для блендера существуют аддоны на питоне, по которым можно ориентироваться. У годота в этом плане нихера нету. Сто раз пробуй и так и сяк, и гадай почему никак не выходит.
делал проект на годоте, подредачил сцену, пошли жалобы мол вон там нал вместо объекта, хотя я блять вообще в другом месте кусок удалил. затриггерило жестко. забил хуй. спустя неделю (щас) опять запустил. чтобы войти в контекст опять эту сцену запустил. БАЦ. запустилась. ну пиздец. ну что это? самое поганое, что это касается и юнити, и уж тем более анрила. прогеры пишут херовое, а мне токо хавать остается. фуух, ладно. пиздец какой-то.
>>1021087 Ставлю жопу ОПа, что это ты в своем говнокоде запутался. В 100 случаях из 100 это криворукие разрабы игры на чужом движке срут в штаны себе и заодно будущим игрокам.
>>1021089 Я бы небыл так уверен. У самого несколько раз сцены с нихуя ломались, приходилось в блокноте открывать и смотреть че не так. То что по моей вине ломалось не исключаю, но годот если позволяет мне так ломать не выдавая никакие предупреждения то считаю что это не моя вина, а вина движка, ибо как ты поймешь что так нельзя делать кроме как не на своем опыте?
>>1021112 Ну так воспроизведи ошибку и напиши баг репорт. Я в блендере так и сделал. Сначала пол года подождав может они сами догадаются и исправят. Никто из них не догадался как я страдаю, пришлось им рассказать, до вечера пофиксили.
>>1021124 > Ну так воспроизведи ошибку Легко сказать лол. Вот к примеру у меня был такой баг, у сцены была переменная запакованой сцены, как только вложил туда другую сцену годот крашнулся и сцена перестала открываться, даже после перезапусков. Отредачив ее в блокноте, а после вставив ту же самую сцену в переменную, внезапно, все нормально заработало. Как воспроизвести в таком случае? Одно дело когда ты определенной последовательностью что то ломаешь, другое когда все ломается с дефолтных вещей, тоесть с нихуя.
Есть у меня функция save_ini (пикрелейтед), и есть переменная: var saved_copies: Array[Variant] (по факту это Array[Array[int], но нестед тайпед коллекшнс ар нот суппортед блять)
Делаю вот так: save_ini(copies_fn, "copies", {"saved_copies": saved_copies})
И получаю то такой файл: [copies] saved_copies=[[295, 1966], [1309, 1967], [86, 1968], [699, 1969]]
>>1021207 Ты заебал проецировать свое говно из головы на тред. Без диздока и гита шагу ступить не можешь, постоянно ебешь всем мозги своими антипаттернами, антисинглтонами, локальными минимумами, "а что если вдруг в мультиплеер захочешь", все у тебя ассетфлиты-гиперкэж-однодневки делают, только ты один такой умный сидишь и прешься от своего говна из головы, пиздос просто я хуею с содержимого твоей черепушки, душнила ебучий, и это даже не я там выше с тобой про гит говорил. Хртьфу нахуй.
>>1021210 Тихо-тихо, ну он же очевидно тебя на вот такие посты и разводит всё это время. Ты его покормил. И он теперь ещё два треда будет срать своим говном из головы.
Это залётный движкосрачер. Просто репортите его молча. Не говорите с ним вообще.
>>1021210 Да мне как то похуй, заебал я тебя или не заебал. Я буду и дальше делиться опытом как делать правильно, а если не нравится - не читай. Можешь хоть палкой копалкой дальше ковыряться, мне то что.
>>1021089 >>В 100 случаях из 100 это когда мы живем в идеальном мире, где популярный софт означает, что в нем нет багов. ну это не так, очевидно. поэтому 95 из 100, или того меньше. и вот в эти 5 я и попал.
>>1021219 Он все равно нихуя не делает, забей на этого клоуна. Детектится по своей чсвшной манере через весь тред, что позволяет удобно делить его единственно "правильное" мнение на ноль.
>>1021236 >Он все равно нихуя не делает Странная претензия, мы вроде не в субшота треде. А покажи, что ты делаешь без диздока. Ты же вроде хвастался что у тебя игра сама себя разрабатывает.
>>1021244 У меня диздок сам себя диздочить, а потом за меня игру разрабатывать будет, ведь при наличии диздока нихуя делать не надо, чем ты и занимаешься.
По итогам, если ты хочешь вкатиться в геймдев на годоте тебе надо: - изучить гит - написать детальный диздок от и до - продумать архитектуру таким образом, чтобы в любой момент переделать в мультиплеер - изучить все антипаттерны, избегать их как огня - никаких, блять, синглтонов - не использовать ассеты, сделать свою музыку, шрифты, модельки, звуковые эффекты - твой проект должен быть серьезным и серьезно спроектирован, серьезность определит дядя
Только после этого ты, ньюфажина, можешь запускать годот, иначе важный ААА дядя посчитает что ты лох однодневный а твой проект не проект.
>>1021272 Это знаешь как работает, его на гейдев галере в очко ебут и он думает что так и должно быть, сюда приходит, и оказывается что в гейдеве как бы в очко тебя ебать и недолжны. Вот он и трясется от обиды, мол раз меня ебут в очко то значит и вас обязаны.
Привет! Такой вопрос: реально ли сделать в разумные сроки (полгода на играбельное демо) среднюю по сложности игру (2D, большая карта, много локаций, минимум анимаций, вид сверху), не имея навыков программирования и опыта разработки игр и тратя 3-4 часа в день? Я знаю что вопрос звучит абстрактно, но хочется понять, есть ли вообще шансы. Ключевая идея игры - взаимодействие с персонажами на чужом языке. Необходимо искать разбросанные по миру подсказки, которые позволяют понять значение отдельных словоформ и с их помощью выстраивать синтаксические конструкции.
>>1021286 Вдохновляешься chants of sanaar? Смотря в какое визуальное качество ты целишься. Если на готовых 2д ассетах, чисто код, то демо за полгода вполне реально. Если сам рисуешь то хуй знает, я вот сегодня все утро убил на создание единственной лоуполи 3д модельки, но визуал не моя сильная сторона.
>>1021288 Я планирую рисовать по большей части сам, но мне кажется это легче чем моделирование. Еще есть вариант использовать нейросеть для генерации отдельных элементов опыта работы с AI у меня тоже нет. Я еще хотел спросить, насколько действенно использовать чат-ботов, например DeepSeek, для помощи с написание скриптов. Я попросил его сделать так, чтобы Player в тестовом задании телепортировался на другой край экрана, а не упирался в границу. Он справился. Но когда я попросил его написать код для плавной телепортации, чтобы края спрайта появлялись с разных сторон экрана, он не смог предложить действенное решение.
>>1021272 >иначе важный ААА дядя посчитает Делать больше нечего важному ААА дяде, кроме как шататься по чьим-то поделкам и оценивать авторов.
Твой план расчитан на труженников. Мы тут все хобисты. Этот тред на плаву бдагодаря одному или двум, энтузиастам, пытающимся всем помочь, и даже при этом, не сильно много чего происходит. Занятнее будет просто начать делать игру, и разбираться по ходу дела. Не мало существует хороших проектов, которые изнутри выглядят как кошмар на улице вязов. И тем не менее они подарили немало позитивных эмоций тем кто в них поиграл. Лучшее враг хорошего, достаточно сделать сносно.
>>1021273 Мне очень везло с работой, как раз никто не ебал, коллеги и начальники были охуенно умными, а полезные практики как раз вырабатывались и обменивались разработчиками, а не сверху. Потому что они появляются как защита от факапов, обычно по результатам этих факапов. А по поводу подходят ли они инди, так как раз еще больше подходят, потому что если инди выгорит в очередной раз переписывая все на мультиплеер или вычищая сингтоны, то он скорее всего просто забросит игру или геймдев вообще, в то время как контора просто назначит на другого. Но я вижу что ты пытаешься меня как то задеть, спровоцировать на что-то, не знаю на что, так что давай напрямую обсудим - как ты хочешь чтобы я поступил? Я могу покинуть тред и оставить тебя наедине с новичками, тогда ты окажешься возможно даже самым умным парнем на деревне. Можем даже попросить чтобы были удалены все мои сообщения, включая всякие полезные туториалы по годоту. Или ты хочешь чтобы только какие-то темы были запрещены для обсуждения в треде? Определись с позицией.
>>1021286 Хотелось бы добавить, что задача сделать игру целиком 0 to 100 в принципе не стоит. Хочется сделать играбельное демо, после чего найти такого-же вкатуна-энтузиаста, который заинтересуется проектом и будет готов заниматься технической частью, а самому сконцентрироваться на визуале и нарративе.
>>1021290 Дипсик для кода откровенно устарел. Мой личный топ нейронок для гдскрипта - чатгпт не помню какой там последний, гемини 2.5 про, клод 3.7, гемини 2.5 флеш. Все они бесплатные, нужен только впн/прокси.
Все они будут путаться с версией гдскрипта (годот 3 или 4), поэтому надо четко указывать для какой версии ты хочешь, а задачи дробить на маленькие части, фиксируя рабочие варианты бекапами или ГИТОМ
Чем дальше твой проект идет тем выше шанс превратить все в кашу, если ты не понимаешь что именно тебе нейронки нагенерили. Надо разбираться в их коде, контролировать его качество, переписывать самые безумные куски и распихивать результаты по правильным полочкам.
>>1021292 >Но я вижу что ты пытаешься меня как то задеть Во-первых ты как минимум с двумя анонами общаешься. Во-вторых, почему ты удивляешься что тебя пытаются задеть, если ты сам пытаешься всех задеть? Это ты растекся по треду, рассказывая то одному то другому что его проект не проект, что все мы гиперкежи-однодневки, и только ты тут делаешь правильно. Давай, виктимность офф, эмпатию он. Тебя не прогоняют. Делиться опытом - ок, отбивать у анонов желание что-то делать своими требованиями к гитам-мультиплеерам-архитектурам-синглтонам - не ок, принижать чужие проекты - тем более не ок. Мы к тебе не на работу пришли устраиваться, ты нам не платишь зарплату, и мы не должны соответствовать твоим галерам.
>>1021293 Вообще говоря я пока не начал никакой новый проект (а так у меня в очереди два прототипа на допиливание и релиз), так что можем попробовать сколлабиться, единственное что я предпочитаю 3-ю версию движка. Ну как сколлабиться, я могу тебе набросать какой то прототип в который ты будешь уже пробовать вставлять свое, параллельно разбираясь с движком.
>>1021286 Нет, не реально. Сколько бы тебе щас не говорили что это возможно, нет, нихуя это невозможно. Сам хуй к носу прикинь и пойми что ты нихуя не умеешь абсолютно. Тебе сначала нужно понять что такое яп и как его едят, потом понять что такое движок и как с ним работать, потом набить базу дефолтных знаний для говнокодинга, научиться псевдорисовать говном на холсте. Тем более ты собираешься тратить на это по 3-4 часа в день. Это просто смешно. Я по 14 часов в сутки сидел в движке, копался на форумах, копил знания, клепал прототипы с дефолтными механиками, рисовал убогие спрайты. Для того что бы мои поделия более ли менее стали похожими на зачатки игр я потратил, повторюсь, дроча по 14ч, около полугода. А ты блять хочешь с нихуя начать делать прототип. Это действительно смешно. Дам совет, перестань задавать тупорылые вопросы и просто блять начни делать хоть что то. В таком случае ты и сам поймешь сможешь ты или нет.
>>1021296 Во-первых, тебе тут больше одного анона пишет про вред синглтонов. Во-вторых, я как раз сам тему не поднимаю, но начинаю писать, когда ты (или кто-то еще) начинает форсить идею что всем не надо пользоваться гитом/диздоком/паттернами. Если бы ты писал просто что это тебе не подходит, и не пытался навязывать это как единственно пригодный путь разработки - я бы и не отвечал. В третьих, ну допустим я принижаю ПРОЕКТ, говоря что если ему не требуется проектирование, то он скорее всего маленький. А теперь давай посмотрим что пишут мне в ответ: >>1021273 >в очко ебут >>1021236 >клоуна >счвшной манере >>1020685 долбоеба да, это персональные нападки на личность, а не на аргументы.
>>1021299 >всем не надо Эти все сейчас с тобой в одной комнате? Тебе это приснилось маня? Это ТЫ сидишь гадишь итт что все обязаны иметь диздок и гит, а иначе проект не проект. Чмоня бля потешная. >а не на аргументы Какие аргументы у тебя шизик? От тебя не было ни одного адекватного аргумента, только шизовые корпоратовские пасты. Срыгни нахуй с треда. Опытом он делится бля. Че ты полезного высрал то? Линкуй свои блядские посты, хоть посмеемся.
Каждый раз ебало рвется с того что чмоня красящие кнопки кабанчику, возомнив себя гуру, начинает раздавать советы. Ты тапки индюки обуй и пройдись в них пидрила, а потом только советы раздавай. Советчик блять.
>>1021303 Ну гит реально лучше иметь, особенно сейчас, в эру source tree/vscode got/ github desktop на крайняк, никто ж не заставляет дрочить команды в консоли, кроме некоторого небольшого количества поехавших. Гит сейчас доступен как никогда, а его внедрение окупается на первой пошедшей по пизде сцене годота от чиха пролетевшего мимо клавиатуры попугая. Диздок может и нахуй не нужен, а вот про гит стоит подумать и потратить полчаса времени на освоение интерфейса гита который даже олигофрену будет понятен.
>>1021299 Тебе форсят в ответ на твой заебавший форс, пчел. Это ты на любую проблему пихаешь гит, но, заметь, никто не приходит и не говорит "а вот не пользовался бы гитом, твоей проблемы с мультиплеерными кнопками бы не было".
>>1021310 А теперь смотрим реальность: Чел пишет про диздок и тут же прибегает отрицтель диздоков и пишет: >>1020671 >Лишний раз показывает насколько эти ваши диздоки бесполезная мемная хуита.
>>1021306 Ну се, теперь у меня жаба будет в тапки-индюки обута, я уже давно думал о том че можно с ней оригинального сделать, а тут так сложилось что удачную ошибку допустил. Спасибо тебе анонче. жабич
создал сигнал X в глобальном скрипте. из A делаю емит, B слушает и добавляет на сцену ноду, которую читает из глобального скрипта в виде инстанциированной сцены, которая в массиве лежала. в результате всё наебнулось, теперь даже новый пустой сигнал не работает. у кого-то была такая хуйня? как фиксить блять.
>>1021360 Конечно я делал такие ошибки в начале разработки. Фиксить так: Добавляешь в каждую точку интереса print() Там где эмитишь сигнал Там где коннектишься к сигналу Там где получаешь Там где создаешь сцену.
Новый положняк треда: Теперь мы не добавляем свои сцены во вкладку autoloads, а создаём именованный класс-потомок SceneTree и его имя добавляем в настройках в поле "тип главного цикла".
>туториал на ютубе по годоту @ >платформер с передвижением по WASD @ >другой туториал на ютубе по годоту @ >другой платформер с передвижением по WASD @ >... Почему так? Других жанров что-ли нет? Вангую все эти учителя состнут большой жирный хуй, если их попросить написать выделение рамкой юнитов в 3д как в любой ртс или ситибилдере.
>>1021397 На тройке делай вручную через get_tree().set_script(...) как я неоднократно описывал со скриншотами в предыдущих тредах. Через set_script можно вообще подсадить скрипты и майнлупу и корню дерева, и разграничить между ними обязанности, и юзать их встроенные методы напрямую в их скриптах. В общем, для профи есть где разгуляться, чтобы все охуели как ты можешь.
>>1021398 Есть ещё 3д-шутаны с передвижением по WASD, их совсем слегка меньше, чем платформеров. Тащемта есть и 2д вид сверху типа первая зельда (хз как этот жанр называется).
Вообще, это объяснимо. 2д легче вкатунам. Для туторов нужен какой-то комплексный жанр с физикой перонажа - она привязана к движку. Игровая логика типа жрпг-боёвки или карточек не зависит от движка, диалоги тоже, в топ2д нет физики. Что остаётся? Ну вот.
>>1021674 Я по ним прошелся, там практически нулевая активность и в мастерской стима тоже как ни странно 2 темы в неделю создается с почти всегда нулевым количеством комментариев
Но игра сразу возобновляется, не дожидаясь закрытия рекламы. Как правильно реализовать паузу на время показа рекламы и возобновление после её закрытия? (аддон рекламы РСЯ от Noctis Salamandra)
>>1021701 > Как правильно реализовать паузу Загляни в документацию к этому своему yandex_ads. Ищи там сигналы наподобие showing_ended() затем ожидаешь этот сигнал: > func _ready(): > get_tree().paused = true > yandex_ads.show_interstitial() > yandex_ads.load_interstitial() > await yandex_ads.end_signal() > get_tree().paused = false Это будет самое правильное. Если похожего сигнала нет, тебе придётся найти переменную типа состояния, и найти нужное тебе состояние. И плясать уже оттуда.
>>1021701 По сути твой код аналогичен такому: paused = true $Label.show() paused = false То есть этот код выполнится мгновенно говоря абстрактно, не считая время которое может уйти на load() Алсо, выглядит странно что ты сначала что то покаываешь, и только потом загружаешь.
Сделал игру, ебало? Вы тоже делайте, раз-раз и готово. На самом деле, начал делать игру на подводный хоррор джем, но из-за работы не успел, был готов только скелет, так что не спеша доделал и выпустил.
>>1021830 Нет, никогда не пробовал в веб и как-то не хочется >>1021831 Спасибо, анон! >>1021832 Скоро третью выложим с товарищем, через пару недель наверное.
>>1021829 >>1021833 Настоящие мужики, пришли, сделали, сделали еще, сделали еще, все релизнули и денег попросили. А не вот это вот бесконечное мяние сисек, ожидание идеальной идеи с идеальной реализацией при нуле опыта, тряска за воровство, пиздец доебало уже. Успехов.
>>1021833 Но я бы на твоем месте освоил за пару дней (сам экспорт делается одним кликом, но конечно надо некоторые вещи настроить - типа размера окна, может быть музыки) - на итче джемах люди стали часто просто скипать игру, которую можно только скачать, и которую нельзя сразу запустить на страничке. Конечно желательно еще и оптимизаций навернуть чтобы тяжелое 3д не было.
>>1021861 Как знаешь. Я бы, возможно, советы по рисовке дал. Наверняка у тебя есть пара спрайтов которые не вошли в игру. А весь код своей игры не покажу, конечно, но релевантные куски - запросто, и сколько-то тредов назад показывал свое про сигналы и сохранения и еще что-то.
>>1021861 >>1021858 Не относится к движку, опять набег какого то тролля. Не кормите тролля, который даже пруфов не предоставляет. Вы прям как первый день на имиджборде.
>>1021866 Да ладно, даже если тролль - никакого срача пока не произошло, так что ящитаю все ок, можно пообсуждать. А если обсуждать _только_ движок то, например, и свою игру ИТТ нельзя запостить, и вообще, не то чтобы у нас тут треды в бамплимит за час улетают.
>>1021904 > Узнал знакомое лицо в 5 пикселях Вот именно поэтому мы помним видеоигры детства намного более красочными и детальными, чем они оказываются при попытке поностальгировать на эмуляторе.
Аноны, а что на счет графики? Я не анон выше Вот делаю я игру в 3d. И например, хочу сделать стену. В каких случая мне нужно заказывать модель, а в каких текстурку? Ведь можно обставить уровень готовыми моделями, а можно и примитивами с натянутыми текстурками или вообще совместить два подхода. Но в 3d графике я не шарю. Можете объяснить на пальцах или дать норм гайд?
Смотря какой стиль и какая стена тебе нужна. Разделяй в уме геометрию и текстуры. Нужна новая геометрия стены, например частично разломанная стена - делаешь новую модель. Нужна стена не кирпичная а каменная - делаешь новую текстуру.
Мир в террарии состоит из 20 миллионов блоков и примерно 15к текстур в тайлсете. Можно ли на годоте сделать что-то подобное, чтобы такой мир грузился моментально на любом калькуляторе? На ютубе я видел туториалы, но там дощик обычно делает процедурную генерация пары сотен блоков и называет это клоном террарии, что не совсем то, о чем я спрашиваю.
>>1021929 Такое можно сделать на любом API, который умеет выводить на экран двухмерные изображения. Террария сделана на MonoGame, C#. Старбаунд сделан на SDL, C++.
>>1021931 Твоя проблема не годот или юнити или что ты там возьмёшь, а то, как ты организуешь управление этими двухстами миллионами блоков. По факту все что тебе надо рисовать - пару десятков тысяч блоков на экране и за его пределами, сотню мобов (в лучшем случае, а скорее десяток) и может иметь предел в пару тысяч поднимаемых (интерактивных) объектов. С этим справятся почти все движки из представленных, а вот справишься ли ты с оптимизацией подгрузки/выгрузки чанков мира, сохранением отредактированных игроком чанков и удержание в памяти активных объектов с сохранением их функциональности вне зависимости от дальности к ним игрока - вопрос только к тебе и твоим ментальным и профессиональным возможностям.
>>1021929 Ты думаешь террария грузит все эти 20 миллионов/15к текстур? Нет, она делит мир на чанки, и грузит только нужные, как и майнкрафт. Так что вопрос твоего скилла.
Хочу сделать игру вроде Oxygen not Included, но нихуя не знаю о гейдеве, а годот ставил когда-то много лет назад просто для теста. Стоит вкатываться с такими кртнжовыми идеями в игрострой?
>>1021941 Да вот кстати важная тема. Если есть большой 3д уровень, то большие обьекты или ландшафт надо разрезать на более мелкие. Чтобы подгружать при приближении игрока и выгружать при отдалении. И при выгрузки из физического 3д пространства все обьекты попадают в логическое пространство с сильно упрощенными расчетами их взаимодействий. Помню видео где разработчик гта вайс сити делал код ревью для реверс инжинереной гта ревс. Расказывал что в команде был один поляк который спал прямо в офисе. И програмировал тяжелые вычисления в игре. Одиночкам такое трудно вытянуть. Может есть готовые решения, или отлаженые методы?
>>1021959 Поищи плагины или туториалы на ютубе - клоны майнкрафтов точно делали. А по-секрету тебе скажу что геймдев в одиночку вообще сложно вытянуть. Одна из самых комплексных, разносторонних и геморройных айтишных залуп.
>>1021959 Не знаю что там этот поляк программировал, но физика колёс есть в любом движке на выбор, даже в годотя-буилтин физике. По факту вся суть упрощения сводится к следующему - нпс и автомобили ездят по рельсам(заранее рассчитанным маршрутам), а как только вступают в контакт с игроком - сьезжают с рельс и начинают взаимодействовать с физикой. При таком подходе считать много не надо, хотя настроить взаимодействия заранее и управлять ими чтобы минимально давать нпс сходить с рельс - задача тяжёлая, но не по сложности вычислений, а по сложности организации. А поляк мог заниматься рендером или кастомной физикой и спать в офисе, да. Но сейчас это лишнее, твоя задача только правильно пнуть уже готовые решения по навигации, рендеру и подшрузкам локаций, физические решения. Это не сложно но требует время и усилия.
>>1021961 >А по-секрету тебе скажу что геймдев в одиночку вообще сложно вытянуть. Одна из самых комплексных, разносторонних и геморройных айтишных залуп. Пиздеж, единственное что было сложно это рисовать для тех, кто не может рисовать. Сегодня вообще поебать, спрашиваешь у ии и получаешь свои тайлы.
>>1021993 У движка есть модульные части, одни достаточно простые, другие сложные, третьи пиздец сложные, четвертые душные но не очень сложные. Какие-то части движка нужны всем играм (рендер), какие-то подавляющему большинству игр (ui, физика), ещё какие-то нужны многим играм (навигация, сохранения, локализация, анимационная стейтмашина и т.д.) И все это имеет разные уровни сложности и разную степень проработаности, а так же допускают разные степени квалифицированности реализатора. Потому я хз что там делал конкретно поляк, а тот парень в явном виде спросил какой уровень квалификации требуется на данный момент чтобы повторить бородатую гташку, приведя в пример умного поляка. Ну я и ответил, что в общем-то небольшой, но широкий.
>>1021959 Чтобы не пришлось разрезать, просто не склеивай его изначально. Например домики, деревья спавнятся по координатам, значит ты можешь просто по чанкам показывать только те что надо. Делать модульно и т.д. Полагаться на гридмапы. (Районы могут быть разными гридмапами повернутыми под разными углами, чтобы не было однообразно) Ландшафт скорее всего heighmap, а это 2д текстура, которую можно автоматически легко нарезать на тайлы. Во вторых, в крупной игре надо разносить визуал и коллайдеры. Лучше если это будут отдельно массив коллайдеров и отдельно массив мешей. Алсо, может быть постоянно загружен какой то лоуполи вариант коллайдеров. Я видел в геншине на отдалении титан спокойно ходит сквозь пол, потому что у него просто коллайдер одна большая коробка-поляна, и только при приближении всякие скалы начинают учитываться. Аналогично с навигацией если она отдельно от физики. А так наверняка есть и готовые аддоны для разрезания, их уже столько клепают в том числе нейросетками что я за всеми не слежу. В 3-ке все аддоны знал.
1) Внимание на 1 видео. Вопрос, почему у меня пидорасит пропорции куба, когда он сбоку поля зрения? Пидорасит не только его, но и в целом картинку. Как фиксить?
2) Решил я короче использовать ресурсы для предметов. Типа удобно, модно, молодежно. Ресурс содержит ссыль на модельку glb. Модель и ее коллизия загружаются вот таким образом для каждого предмета на уровне:
var model = item_data.Load_item_model() # Настройка меша var new_mesh = Find_new_mesh(model) %Item_MeshInstance3D.mesh = new_mesh.mesh %Item_MeshInstance3D.transform = new_mesh.transform # %Item_MeshInstance3D.material_override = new_mesh.material_override # Загружаем коллизию var mesh_aabb = %Item_MeshInstance3D.get_aabb() var box_shape = BoxShape3D.new() box_shape.size = mesh_aabb.size * 1.1 %Item_CollisionShape3D.shape = box_shape %Item_CollisionShape3D.position = mesh_aabb.get_center()
func Find_new_mesh(node): if node is MeshInstance3D: return node for child in node.get_children(): var result = Find_new_mesh(child) if result: return result return null
Только вот некоторые модели проваливаются сквозь CSGBox3D (видео 2). При чем если их сначала заспавнить на RigidBody3D, то они не проваливаются через него (видео 3), а еще не проваливаются и через CSGBox3D, если их потом скинуть на него. Какая-то магия ебучая. Дипотсосик посоветовал мне использовать ConvexShape вместо BoxShape3D. И это действительно помогает, но при этом полностью пидорасит коллизии других моделек.
Короче нахуй я вообще в эти ресурсы полез. Бля буду, лучший вариант - это тупа нахуярить сцен для каждого из предметов и настроить все индивидуально
>>1022009 >1) Внимание на 1 видео. Вопрос, почему у меня пидорасит пропорции куба, когда он сбоку поля зрения? Пидорасит не только его, но и в целом картинку. Как фиксить? Братан, ты в игры-то играл? Это FOV. Указывается в настройках редактора и камеры.
>>1022009 > Решил я короче использовать ресурсы для предметов. Типа удобно, модно, молодежно. Тебе неудобно - не используй. > Ресурс содержит ссыль на модельку glb. Модель и ее коллизия загружаются вот таким образом для каждого предмета на уровне: > Короче нахуй я вообще в эти ресурсы полез. Бля буду, лучший вариант - это тупа нахуярить сцен для каждого из предметов и настроить все индивидуально А что если ресурс будет содержать ссылку на готовую сцену? Тогда тебе не надо было бы маяться всей этой еботнёй, которую ты набойлерплейтил.
Тебе никто не запрещает нахуярить сцен, настроить их индивидуально, а после этого использовать ссылки на сцены в ресурсах! > @export var visible_object: PackedScene ... > if visible_object: var vis_obj_instns = visible_object.instantiate() > if vis_obj_instns is Node3D: spawner_node.add_child(vis_obj_instns)
>>1022009 А почему ты думаешь что дело в ресурсе? Ты спавнил точно такие же объекты в сценах для теста? Какого размера коллайдеры объектов? Какой толщины коллайдер пола? Выглядит так, что они слишком мелкие, и просто успевают набрать большую скорость чтобы пробить коллайдер и пройти его не заметив. Советы тут стандартные - 1) не делать слишком мелкие коллайдеры. Пол можно сделать и 10-100 метров толщиной если не видно что под ним. 2) не спавнить объекты на огромной высоте, спавнить их в 1-2 см над поверхностью (найти рейкастом например). Или в более простой игре вообще только на уровне пола, а на зданиях запретить. 3) если таки нужна физика где могут набираться высокие скорости падения, включить CI (continous integration), хотя по идее это влияет на перформанс с каждым таким объектом. 4) возможно надо подобрать параметры safe margin, на которых объект уже считается столкнувшимся 5) Если объекты слишком мелкие, типа 1см, подумать над тем, чтобы отмасштабировать всю физическую часть игры раз в 10. Вот тут рекомендованные параметры физики >>1015240 → Если пол слишком огромный, например километры, то подумать о разделении его на мелкие квадраты по 100м. но надо учесть проблему стыков плит. Насколько я понимаю ни в одном физ движке ее окончательно не решили, хотя и постарались сделать подпрыгивание на стыке менее заметным Менять BoxShape на Convex в такой ситуации не нужно. Бокс - один из самых быстро рассчитываемых объемных коллайдеров (быстрее наверное только сфера), конвекс же это цикл по всем треугольникам-поверхностям и более тяжелые рассчеты. Теоретически может быть что более долгие рассчеты и стали мешать пролетать тонкий пол, если мое предположение верно Что такое "конвекс пидорасит другие коллайдеры" без контекста - не понятно. В Хоппе куча домиков с конвекс коллайдерами и ничего не портится, можно скакать по всем крышам.
В твой код вникать лень, но смысл его существования немного ускользает. Ведь меш, материал и шейп коллайдера - это и так ресурсы, которые переиспользуются движком для всех объектов. Которая загружается всего единожды.