Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (2)

Наибольший вклад в теги

Все теги (6)

Лучшие ответы пользователя

Все ответы (6)
  • Не пропускает AddForce в Unity?

    @DrSpritz
    Вероятнее всего Вы работаете в юнити 5.x, а гайды, которые Вы смотрели, ориентированы на Unity 4.x.
    Дело в том, что раньше в Unity 4.x rigidbody/rigidbody2d были представлены в виде свойства описанного в MonoBehaviour, содержащего готовую ссылку на компонент Rigidbody (если конечно такой имелся текущем GameObject). В Unity 5.x это свойство убрали из MonoBehaviour и теперь, Вам необходимо будет получить доступ к компоненту Rigidbody2d самостоятельно.
    Ответ написан
    Комментировать
  • Учебный материал по разработке игровой логики?

    @DrSpritz
    Почитайте Архитектура сервера онлайн-игры на примере Skyforge. Это конечно, не то о чем Вы спрашивали (это не учебное пособие), но думаю Вам будет интересно почитать. Лично я для себя нашел этот материал интересным.
    Ответ написан
    Комментировать
  • Возможно-ли сделать проект Unity 3D который запускается из командной строки, получает динамический контент, рендерит, сохраняет JPG и завершается?

    @DrSpritz
    В принципе это возможно. Используя unity можно собрать приложение, которое будет в себе содержать готовую сцену с выставленным освещением, окружением, камерами и подготовленной базой из составляющих компонентов мебели. Unity может собрать для Linux headless-приложение, которое можно будет запустить на сервере и в качестве параметров запуска передать конфигурацию мебели в виде пути к файлу JSON или XML, ну и какие-нибудь данные для сохранения результата работы, это может быть имя файла или путь к каталогу куда сохранять рендеры. Как только приложение инициализируется, оно автоматом начнет процесс сбора и рендеринга Вашей мебели и сохранит его результат на основании указанной при запуске информации. Также можно встроить callback, который по окончанию работы приложения дернет веб-сервер и скажет ему что рендер для такой-то моедли готов и лежит там-то.

    "Узкие места"

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

    2) Я не знаю как Ubuntu server будет рендерить, возможно необходимо будет установить какие-то дополнительные компоненты, так же я не знаю как будут использоваться ресурсы CPU для рендеринга, поскольку Unity это все таки real-time рендеринг и основная нагрузка ложится на видеоадаптер.
    В качестве решения, я точно могу сказать что такой вариант будет работать на обычной десктопной машине с вменяемым видеоадапетром

    3) Зашивать базу в приложение тоже не очень хороший вариант, поскольку администрировать такую базу будет неудобно и каждое внесение в нее изменений будет требовать ребилд приложения и его обновление на сервере.
    В качестве решения, я бы вынес все модели из приложения путем их экспорта в assetbundle и сложил бы их куда-нить, откуда приложение их бы подтягивало. Можно запилить для него backend, который позволит администратору контента удобно работать с наполнением базы, а так же будет выдавать модельки приложению. Это незначительно увеличит скорость рендера, поскольку при первом обращении модель будет сначала загружаться в приложение (ну и кэшироваться,) ну а при повторном обращении разумеется брать уже с кэша, что уменьшит время загрузки.

    Проведите исследование, я думаю все должно работать =)

    UPD

    Я думаю что-то подобное можно сделать и на Blend4Web, возможно это будет работать даже быстрее, но каждый делает выбор исходя из личного опыта и знаний, лично я знаю Unity лучше чем Blend4Web, так что и делать бы я стал это на Unity.
    Ответ написан
    1 комментарий

Лучшие вопросы пользователя

Все вопросы (3)