Доброго времени суток всем пользователям форума! Я руководитель небольшой команды разработчиков. Мы, среди прочего, занимается разработкой тренажеров подвижного состава. 3D-графика используется для создания визуализации вида из кабины управления. Пример того как это выглядит на нашем крайнем реализованном проекте на видео
В этом проекте мы использовали Unity, но вдоволь насладившись его тормознутостью переходим на Unreal Engine, благо и код открыт, и процесс разработки ложится в стек применяемых технологий.
Но есть одна проблема, которую мы не решили в юнити, и не можем пока решить в анреал. Из видео видно, что задача тривиальна - камера движется по сцене, траектория её движения это ось рельсовой колеи, положение камеры 3D-видеосистема получает от сервера, на котором идет симуляция. То есть, самое приложение как таковое имеет вполне четкую логику. Естественно, для реализации участков пути протяженностью в сотни километров, а так же обеспечения легкой смены участка, на котором происходит движение требуется разделить программную логику (загрузка уровня, движение камеры, TCP-клиент) от процесса создания контента, то есть локаций по которым происходит движение.
Мы перелопатили официальную документацию и кучу информации в сети, но ответа на вопрос не нашли. А вопрос таков: можно ли, однажды собранное приложение заставить загружать произвольные уровни созданные в редакторе движка. Пока все решения, найденные нами сводятся к запихиванию в проект всех нужных уровней с последующей упаковкой всего этого добра, а это, по понятным причинам нас не устраивает. Есть ли решение этой задачи средствами движка?
то есть нужно просто загружать случайный уровень?, или нужно что бы была возможность, создавать уровни после запаковки проекта и также их загружать?
и то и другое можно, но подход будет разный.
p.s. первый вариант супер прост, а второй вариант будет включать процедурную генерацию уровня, по сути уровень изначально будет 1 и пустой, все данные будут браться из переменной(переменных), и отстраивать уровень в реальном времени, что уже гораздо сложнее. Но тем не менее это можно сделать в Blueprints. И да, редактор уровней уже должен быть реализован в запакованном проекте.
Если же требуется подгружать модели, или действительно полные уровни, то это тоже возможно, но только для профессионального серверного программиста, который в совершенстве владеет с++.
или нужно что бы была возможность, создавать уровни после запаковки проекта и также их загружать?
да, именно это и нужно. Создавать уровни и добавлять их в проект без его перепаковки.
Prytaleks писал(а):
Если же требуется подгружать модели, или действительно полные уровни, то это тоже возможно, но только для профессионального серверного программиста, который в совершенстве владеет с++.
Недостатка в навыках у нас нет. Нет понимания того, какие разделы документации смотреть/туториалы читать чтобы достичь желаемого результата. Документация же заточено под гетинг старт и разработку типовых проектов игр с неизменяемым контентом.
Недостатка в навыках у нас нет. Нет понимания того, какие разделы документации смотреть/туториалы читать чтобы достичь желаемого результата. Документация же заточено под гетинг старт и разработку типовых проектов игр с неизменяемым контентом.
любая онлайн игра, подргружается когда происходит обновление, а на с++ можно все.
p.s. то есть вам нужна консультация, того кто имел подобный опыт.
Последний раз редактировалось Prytaleks 10 фев 2018, 20:50, всего редактировалось 1 раз.
у нас тут нет никого кто достигал подобного уровня
жаль, но форум на то и форум, чтобы обсудить проблему, и возможно решение и найдется.
Эта проблема сильно нас тормозит. Бьемся с движками уже второй год. Я уже подумываю смотреть в сторону кастомных графических решений ориентированных на коддинг, типа OpenSceneGraph или Ogre3d. Но там, качество картинки и близко не подходит к тому, что можно получить в анреал. Первые технологические демки на Unreal того самого кольца что на видео сделано в юнити нас сильно впечатлили и отказываться от этого не хочется
Наверняка огорчу вас, но то, что вы хотите сделать ни в Анриале ни в Юнити сделать не возможно. И там и там все локации запаковываются раз и навсегда. Генерировать уровень на лету для Анриала не самое хорошее решение. От картинки не останется и следа, потому что будет отсутствовать глобальное освещение, а оно рассчитывается до запаковки. Никакие знания плюсов тут не помогут, потому что это технически невозможно решить.
Хотя я где-то слышал что на больших картах глобальное освещение и не рассчитывают, потому как это сильно утяжеляет проект. Но в любом случае это ничего не меняет, потому что вы не можете при запаковке учесть все модели, что будут использоваться в проекте. При добавлении моделей нужно будет перезапаковывать проект, потом писать прогу, которая загоняет локацию с картой высот.... Брр... Короче - жесть ))) Нужно искать принципиально иное решение чтобы разделить программную часть и создание уровней, подгрузка локаций к запакованному проекту не получится. И уж точно такой инфы нет в офф доках. Если только какой безумец этим занимался. Поищите инфу по DLC для игр на Анриале, может там что полезное будет, если вообще что-то найдете )