Ответы пользователя по тегу 3ds Max
  • Как создать коллайдер для сложной фигуры (скриншот)?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Чаще всего берут и просто расставляют BoxCollider'ы, это долго и нудно, зато производительно и гибко. В качестве альтернативы можно использовать MeshCollider, но он дороже и с ним сложнее итерироваться. Ускорить работу с ним можно с помощью ProBuilder или аналогичного плагина. Иногда ещё пишут утилиты для редактора, которые расстанавливают коллайдеры по заданному пути. Если уровень не собираетесь сильно менять, то я бы посоветовал использовать BoxCollider, в ином случае берите ProBuilder.
    Ответ написан
    Комментировать
  • Как лучше сделать 3D модель?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Со стороны редактора - как вам удобнее, так и делайте. Со стороны движка есть разница в производительности и скорости интеграции. Если моделька цельная, то и в видеокарту она отправится целиком, если она разбита на куски, то каждый кусок будет рисоваться отдельной операцией. Если кусочки достаточно маленького размера, то есть шанс, что их склеит динамическим батчингом, но тогда встаёт вопрос, а на кой чёрт было разбивать модельку на куски, чтобы потом тратить время процессора на склейку обратно. Помимо производительности нужно ещё помнить про стоимость интеграции моделек в движок, если в модельке сто кусочков и сто материалов, то настраивать её внешний вид будет гораздо сложнее, чем один кусок с одним материалом. В целом, если со стороны движка не нужны отдельные подвижные части, то и не надо их экспортировать, а вот как у вас в редакторе всё будет, это уже от вашего рабочего процесса зависит.
    Ответ написан
    Комментировать
  • Как устрена 3D графика?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Очень хорошо всё расписано на сайте Scratchapixel. Ещё советую почитать Render Hell.
    Ответ написан
    Комментировать
  • Как связываются ресурсы с кодом?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    А вот зря отказываетесь от изучения движков, на живом примере проще понять внутреннее устройство.

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

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

    Импорт ресурсов, сериализация настроек, разработка и поддержка редактора - это всё задачи нетривиальные и трудоёмкие, поэтому в наше время никто больше не парится с разработкой своего движка.
    Ответ написан
    2 комментария
  • Ортогональная или ортографическая проекция?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Оба термина используются, и в некоторых случаях они взаимозаменяемы. Ортогональная проекция это ортографическая проекция, но ортографическая не всегда является ортогональной. Обе проекции являются проекциями без перспективы, но есть различия в употреблении терминов.

    У ортогональной проекции определение немного расплывчатое. Ортогональный означает перпендикулярный, то есть ортогональную проекцию можно назвать перпендикулярной проекцией. Перпендикулярный чему? Тут начинаются расхождения. Если считать, что перпендикулярность означает то, что проекционные лучи перпендикулярны плоскости, на которую проецируется изображение, то да, ортографический и ортогональный взаимозаменяемы. В английской википедии прям так и написано "orthographic projection (or orthogonal projection)". Но в большинстве случаев, когда говорят "ортогональная проекция" подразумевают, что проекция осуществляется на плоскости координатных осей, как в черчении: glass2.jpg
    В зарубежной литературе бесперспективные проекции не всегда объединяют термином "ортографическая", и выделяют, например, oblique projection. Тем не менее, если говорить про компьютерную графику, то все проекции на картинке ниже кроме верхней левой можно смело называть ортографическими, и, обычно, "ортографический" используют как антоним для "перспективный": перспективная/ортографическая камера, перспективная/ортографическая матрица.

    600px-Graphical_projection_comparison.pnhttps://ru.wikipedia.org/wiki/Проекция_(геометрия)
    https://en.wikipedia.org/wiki/Oblique_projection
    https://en.wikipedia.org/wiki/Orthographic_projection
    Ответ написан
    2 комментария