Нет, нужно выставить камеру в левый верхний угол карты, отрендерить, передвинуть камеру правее, отрендерить, передвинуть ещё правее, отрендерить.. Таким образом отработав всю ширину, затем сдвинуть камеру ниже и повторить всё то же самое. Есть и готовые плагины для этого.
Искал вроде плагины в эпик сторе, ничего подобного так и не нашел, если не затруднит скиньте название..
Да, именно такой вариант и возможен. Но это подразумевает асинхронную загрузку текстур в реальном времени. Не сказать, что какая-то прям сложная задача, но точно не для новичков.
В любом случае мне будет легче сделать это, чем нарисовать, я вроде и новичок, но как-то уже +-4к строк кода в своей игре написал для различных механик и физики, да и предстоит ещё написать не меньше явно, если выбирать между тем чтобы научиться рисовать кое как, и получить красивые ландшафты но разработать решение для оптимизации, я бы выбрал второе)
Ещё один момент, который сто́ит держать в голове (на всякий случай упоминаю про это) — крайне желательно все размеры текстур делать кратными степени двойки. 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096. Потому что только часть железа умеет работать с произвольными размерами текстур (но даже в этом случае это будет снижать производительность). А всё, что не поддерживает, будет увеличивать размер текстуры до ближайшей степени двойки. То есть, загрузили текстуру 1025×1025 пикселей, а в видеокарте она станет уже 2048×2048 (добавится пустое пространство справа и снизу).
Большое вам спасибо за ценную информацию, я к слову вообще на это не обращал внимание, и точно помню что у меня есть и 960х960 и 742х742 в проекте, нужно будет все перерендерить... Вообще конечно это не очень хорошая новость для меня, ведь 512 и 1024 большой разбег, при определенном размере спрайта 1024 может быть слишком много, а 512 будет мыло.
Поэтому гораздо выгоднее использовать настоящие 3d модели — хотя они и рисуются медленнее, чем спрайты, памяти они занимают на порядки меньше. А вот по производительности как раз это не особо критично (конечно же, если использовать нормально оптимизированные модели — если же засунуть хайполи/мидполи, то это может оказаться весьма чувствительно).
Я уже не один раз понял, что мне намного проще было бы решить некоторые моменты если бы я делал игру в 3Д, но я делаю игру с множеством механик, ARPG ориентированную на магию, билды и всякое такое, с управлением скилами как в доте, и поэтому выбрал Godot, потому что python-подбный язык стал для меня простым в освоении, если бы я начинал учиться в UE, сомневаюсь что у меня бы получилось с моим около нулевым уровнем программирования написать так много всего.
Дмитрий, У меня 1024-1024 текстуры в 25 кадров используются для анимации персонажа и врагов, чтобы было достаточно плавно, один кадр анимации весит для персонажа в среднем 400 килобайт, 250-300 килобайт весит кадр некоторых скилов, врагов стараюсь держать в пределах 200 кб кадр. Но везде +- 20-25 кадров в анимации, со скоростью 20-25 фпс.
Я уже столкнулся с тем, что отрендерил персонажа в 2к разрешении, 30 кадров на анимацию, там примерно 1мб весил один кадр, когда запустил в редакторе Godot проект, там наблюдались подлагивания каждые 2-3 сек, если запускал проект не из редактора то лагов не было, но суть я тогда еще понял, что нельзя просто так рендерить в огромном разрешении 2Д спрайты как вздумается.
Читал что в диско элизиум делали как раз 2Д задники, но они поделили это изображение на квадраты 1024 на 1024 и написали логику, которая не загружает эти изображения, а рендерит только в определенном радиусе эти квадраты, таким образом они смогли добиться что эти изображения локации не грузят слишком много, я думал сделать нечто вроде этого..
Я кое как смог добиться того чтобы выставить камеру в UE5 и сделать прозрачным фон, а потом рендерить эффекты скилов, теперь я всё что есть загружаю туда и рендерю от этой камеры, но с локацией сложнее ситуация, я не могу просто отдалить камеру максимально далеко и отрендерить весь остров, во первых я пробовал)) И у меня закрылся UE и сказал что не хватает памяти (RTX 4080 Super 16GB), во вторых у меня камера искажает изображения, там же есть эффекты глубины, а мне нужен изометрический вид в котором нету искажения пространства в зависимости от удаления от центра перспективы. Рисовать тайлами я пробовал, у меня получилось не очень, проблема еще в том, что мои спрайты из 3Д моделей выглядят четкими и реалистичными, поэтому мне нужно в этом же стиле получить ландшафт.
Пример спрайта.
"Первый скриншот — просто набор изометрических спрайтов. "
Я в курсе что деревья и домики это спрайты, мне по этой части очень всё понятно, мне здесь больше интересен ландшафт, да и эта картинка наверное минимально что я хотел бы получить от графики в игре, как максиум корректный пример это Beautiful Desolation только чуть более мультяшное, там тоже 2Д задники сделанные из 3д модели, в интервью разработчики об этом говорили, самый простой способ для меня был бы взять готовую 3Д модель какого нибудь ландшафта и получить его в изометрическом виде 2Д внутри движка UE5, попробовать реализовать логику по оптимизации в Godot 4, потому что нарисовать что-то приличное я точно не смогу, да даже из тайлов собрать.
Василий Банников, Ну в целом, карта нормалей мне сейчас не так важна как просто получить разнообразный ландшафт для своей игры, я тут еще нашел игру с реалистичной 2Д графикой, там нет двелогов у разрабов, но в интервью они говорили что 3Д модели отрендерили для 2Д изометрии. Beautiful Desolation называется. Там если посмотреть ролики, видно что красивое всё, вот мне интересно как они этого добиваются..
Василий Банников, я пробовал создавать ее самому, скачал тайлы, побаловался, у меня получилось непонятно что. Если ты про карту глубины, то я пока хз как это реализовать в Godot 4, не сталкивался
DrRen7, https://deziiign.com/project/a7535779439f4ac495619...
Судя по тому что тут написано Диско Элизиум и правда задники это рендер, доработанный и стилизованный дополнительно, но все таки рендер, а 3D объектов не так много и как раз они добавляют глубины и отбрасывают тени. Вопрос только как они нарезали этот рендер чтобы не было текстур 10к х 10к в игре. Может в анриле существует какой нибудь аддон который позволит выставить аксонометрической вид, поделить на квадраты и отрендерить.. тайловая система видится сразу, это однообразные плитки которые ещё долго придется дорабатывать вручную и она все равно будет выделяться на фоне той детализации которая будет у моих персонажей и врагов. Мне бы просто ландшафт получить, может какой нибудь процедурной генерацией, а наполнить его деревьями и строениями я смогу сам без проблем
Василий Банников, карта глубины? Я пока ещё не нашел этого в Godot, я нашел там y-sort и он по сути работает очень просто, если Y выше объекта то за ним, если ниже то перед ним. Я в UE брал только ассеты чтобы отрендерить их для 2Д спрайтов, в Godot очень простой для моего понимания язык программирования похожий на Python, я там уже написал много механик, физику, базовые классы персонажа, врагов, инвентарь, скилы, куча сигналов, механики урона, наведения скилов.. это десятки скриптов, 3-4 тысячи строк кода, и мне заново начинать изучая непонятный язык на новом движке.. я определенно начну изучать анрил для перехода на 3Д, но сначала хочу довести этот проект до релиза хотя бы.
Василий Банников, Вообще то как реализованно в Disco Elysium, именно то что я бы и хотел получить от графики, но сомневаюсь что там вся локация просто запеченная в 2Д картинку, потому что там есть объекты, комнаты, персонаж может заходить за них, проходить внутри объектов и это отображается как надо. Возможно они запекли слой без объектов, потом объекты добавили, но в любом случае мне не ведомо как это сделать. Я бы давно уже так и поступил)
Василий Банников, Карта находится в UE, ее нужно получить для 2D игры в Godot.
Я пробовал выгрузить в блендер, но эта карта сгенерированна шумом перлина, если я ее выгружаю в FBX, то она попадает туда без текстур и материалов, их нужно экспортировать из UE в PNG, а там довольно много травы и различных камней, каждому настраивать текстуру и материал отдельно не хватит и жизни =/
Удивительно что нет никакого инструмента, чтобы выгружать из UE сразу с вшитыми текстурами в модель. Пробовал экспортировать в формате gltf, но она выгружается с кучей ошибок и что в блендере, что в Godot имеет не корректный поломанный вид. Мне по всей видимости нужно делать из этой 3Д карты, 2Д именно в движке UE, но я не могу найти никаких инструкций или инструментов как это сделать.
Я уже много времени думаю над тем, как запечь 3Д карту в 2Д, но ума не приложу как это сделать. Карта в UE, выставляю камеру, пробую делать HighResScreenshot, но там если отдалилась камера слишком далеко то пропадают детали, текстуры сжимаются, область видимости не очень большая вообще, и самое главное угол обзора искажает пространство, т.е. не получится просто взять и сделать последовательно скриншоты по квадратам из-за искажения (глубины в центре и уменьшения ближе к краям изображения). Ищу инструменты в плагинах, но пока ничего особо не нашел.
Тут человек писал что Disco Elysium сделана подобным образом, что там запекли графику в 2Д, хотел бы я знать как это у них удалось
mayton2019, ну я думал тут есть люди с опытом разработки игр, инди команды, может кто то занимался переделыванием 3д модели в 2д карту или знает какие нибудь инструменты и решения для того чтобы сильно упростить эту задачу
@calculator212, в идеале хотелось бы что то вроде этого рисованного. Только по мрачнее.
Ну или каким то образом преобразовать купленный ландшафт из UE, сделать в нем анимированные траву и речку, добавить эффект обводки как в Blender и получить что то типо ландшафта из Диабло 4 (стиль) только с эффектом обводки.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Искал вроде плагины в эпик сторе, ничего подобного так и не нашел, если не затруднит скиньте название..
В любом случае мне будет легче сделать это, чем нарисовать, я вроде и новичок, но как-то уже +-4к строк кода в своей игре написал для различных механик и физики, да и предстоит ещё написать не меньше явно, если выбирать между тем чтобы научиться рисовать кое как, и получить красивые ландшафты но разработать решение для оптимизации, я бы выбрал второе)
Большое вам спасибо за ценную информацию, я к слову вообще на это не обращал внимание, и точно помню что у меня есть и 960х960 и 742х742 в проекте, нужно будет все перерендерить... Вообще конечно это не очень хорошая новость для меня, ведь 512 и 1024 большой разбег, при определенном размере спрайта 1024 может быть слишком много, а 512 будет мыло.
Я уже не один раз понял, что мне намного проще было бы решить некоторые моменты если бы я делал игру в 3Д, но я делаю игру с множеством механик, ARPG ориентированную на магию, билды и всякое такое, с управлением скилами как в доте, и поэтому выбрал Godot, потому что python-подбный язык стал для меня простым в освоении, если бы я начинал учиться в UE, сомневаюсь что у меня бы получилось с моим около нулевым уровнем программирования написать так много всего.