Ответы пользователя по тегу 3D
  • В чем секрет графики серии игр Crysis? Почему никому не удалось превзойти Crytek в этом плане?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Плохо смотрели, давно уже превзошли, из свеженького можно взять, например, Horizon Zero Dawn или Battlefield 1. И секрета никакого нет, просто они вложили все ресурсы в графоний и забили на всё остальное, по части геймплея-то Crysis так себе, обычная стрелялка. Техническая команда сильная была, поэтому и получилось сыграть на контрасте с другими играми.
    Ответ написан
  • Что необходимо знать, чтобы создать игру?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Большинство разработчиков-одиночек либо программисты, которые умеют работать с графикой, либо художники, которые немного умеют немного скриптовать. Среди музыкантов инди-разработчики встречаются очень редко, сходу на ум приходит только David Kanaga, который делал Panoramical и Proteus.

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

    Учитывая всё это, могу предложить пару вариантов. Вариант первый - взять готовую игру и озвучить. Например, для линукса полно молчаливых игр с открытым кодом, можно предложить свои услуги, никто не откажется. Либо найти какого-нибудь разработчика на TIGSource и переговорить с ним.

    Второй вариант - забыть про графику и взять Twine, вам же свою музыку надо рекламировать, а не успехи в моделировании. Возьмите какой-нибудь готовый короткий рассказ и переложите в интерактивный формат с музыкой, эдакий радиоспектакль для браузера. Если очень хочется, можете ещё найти художника для иллюстраций. Это и выглядеть будет прилично и работу свою показать будет проще.
    Ответ написан
  • Как делать красивые игры в Unreal Engine 4?

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

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Польза весьма сомнительная, работа программиста и тестировщика очень слабо пересекается, а обязательный опыт работы тестером вдвойне странный. Лучше делайте портфолио и ищите новую работу.
    Ответ написан
  • Почему треугольник хуже квадрата?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    При анимировании и деформации треугольники чаще создают артефакты. При рендеринге или импорте в движок на треугольниках чаще бывают проблемы с нормалями. Многие операции редактирования проще делать на квадах, а не треугольниках (выделение петель, сглаживание).
    Ответ написан
  • Как можно перевести персонажа игры вместе с реальной одеждой в формат 3д?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Берёте художника, сажаете в хорошо проветриваемую комнату и отправляете моделить на несколько недель. Сканирование подойдёт только для текстур, сетки моделей после сканирования получаются грязные, анимировать их будет тяжело. Если персонаж будет просто стоять на месте, то, например, анимацию дыхания можно зафейковать шейдером, в таком случае, возможно, имеет смысл попробовать сканировать шмотки. Но, опять-таки, где вы это будете делать? В СНГ таких контор штуки две, а за границу шмотки отправлять будет накладно. Делать свой стенд для сканирования вылетит в копеечку и много месяцев экспериментов и разработки. Многое ещё зависит от доступной вам информации, например, если у вас есть выкройки одежды, то, теоретически можно их экспортировать в Marvelous Designer. Может быть даже что-то автоматизировать. Но скорее всего выкроек у вас нет, шмотки только одного размера или только на фотографиях, денег нет, а времени в обрез. В таком случае самый жизнеспособный вариант это посадить несколько художников моделить одежду по рефам, при желании процесс достаточно хорошо масштабируется.

    Менять одежду под персонажей можно с помощью бленд шейпов, в разных редакторах оно по разному называется, но суть в том, что вы задаёте граничные положения сетки модели, а в движке потом параметризуете модель и получаете нужную форму. Опять-таки, это проще делать на моделях, сделанных вручную, а не отсканированных. Ещё как вариант, можно в шейдере двигать вершины по маске и делать модель худее-толще программно, но тогда будет сложнее управлять внешним видом модели и чинить самопересечения и прочие артефакты.
    Ответ написан
  • Что лучше Unity vs UE4 (для 3D приложений)?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    В Asset Store гораздо больше выбор по сравнению Marketplace, например можно купить готовые модельки планет. Документация у Unity и C# получше чем у Unreal и C++, а в остальном движки одинаковые. Если раньше на плюсах писали, то берите Unreal, не придётся одновременно изучать движок и язык.
    Ответ написан
  • Новые 3D-движки типа Alternativa?

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

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Это low poly, просто в определённой стилистике, термин "low poly" сам по себе означает только маленькое количество полигонов. Например, на картинках ниже изображены низкополигональные деревья, но выглядят они по-разному, потому что созданы в разном стиле.
    Деревья
    low-poly-trees-pack-3d-model-low-poly-obindie-lowpoly-tree-pack-3d-model-low-pol
    Точно также и "pixel art" означает только то, что при рисовании уделяется большее внимание индивидуальным пикселям, а стилей рисования много, взять хотя бы Sword & Sworcery и Fez. Если вам понравились модельки в определённой стилистике, то вам нужно просто обратиться к автору и заказать их у него, либо найти художника, который сделает вам такие же. Нет никакого единого стиля низкополигональных космических кораблей, который можно нагуглить, в лучшем случае можно зацепиться за название какой-то популярной игры, например "модельки как в майнкрафте".
    Ответ написан
  • Как устрена 3D графика?

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

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

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Напрямую из нормалей геометрию не получить, но это можно сделать из displacement map. Получить displacement map из карты нормалей можно например с помощью этой утилиты. Далее используете Displacement to Polygons в Maya, Displace Mesh в 3ds Max или аналогичную кнопку в своём любимом редакторе.
    Ответ написан
  • С помощью какой программы можно создать графику на подобие Crossy Road?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Maya, 3ds Max, Blender - любой тридэшный редактор такое умеет. Если хочется прям воксельный редактор, то можно взять MagicaVoxel или что-то аналогичное.
    Ответ написан
  • Как создавать модели как в игре SuperHOT?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Судя по скриншоту, лайтмапами вы не пользуетесь. Почитайте про Global Illumination и Lightmapping, начать можете с мануала и официального туториала:
    https://docs.unity3d.com/Manual/GIIntro.html
    https://unity3d.com/ru/learn/tutorials/topics/grap...
    Кроме лайтмапов явно используются постэффекты, может быть самописные, может быть из Standard Assets. Без них картинка будет совсем не такая. А вообще можете написать разработчикам и спросить как они добились такой картинки, контакты есть у них на сайте.
    Ответ написан
  • Ортогональная или ортографическая проекция?

    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
    Ответ написан
  • Моделирование в Unity3D, "лепка" объектов на рамках класса Mesh!?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Стандартных средств для моделирования нет, нужно самому всё писать или брать плагин.

    Посмотреть исходники можно с помощью декомпилятора, берите dotPeek или .NET Reflector и вперёд. Всё посмотреть не получится, Terrain и TerrainData написаны на сях, и их исходники можно достать только у разработчиков, но вот TerrainInspector и HeightmapPainter можно, там используются рейкасты по колладеру террэйна:
    public bool Raycast(out Vector2 uv, out Vector3 pos)
    {
        RaycastHit hit;
        Ray ray = HandleUtility.GUIPointToWorldRay(Event.current.mousePosition);
        if (this.m_Terrain.GetComponent<Collider>().Raycast(ray, out hit, float.PositiveInfinity))
        {
            uv = hit.textureCoord;
            pos = hit.point;
            return true;
        }
        uv = Vector2.zero;
        pos = Vector3.zero;
        return false;
    }

    Насколько я понимаю, в террейне не модифицируются вершины напрямую, он использует текстурные карты, а полученные координаты используются для рисования по карте высот, из которой потом строится меш.

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

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Потому что это никому не нужно. В большинстве игр всех персонажей можно поменять на кубики и не заметить разницы. Начиная с определённого момента повышение детальности анимации уже не даёт особого эффекта или наоборот может оттолкнуть игрока (проблема зловещей долины). Кроме того, слишком реалистичная и размашистая анимация может повредить геймплею, если персонаж перед каждым прыжком будет приседать и толкаться ногами вверх, то управление покажется игроку неотзывчивым, поэтому между нажатием кнопки и фазой полёта обычно проходит всего пару кадров. Не очень интересно, да, зато ощущается намного лучше.
    Иногда анимацию специально делают примитивнее и как можно более стилизованной, потому что так быстрее, оригинальнее и этого достаточно. Все графические свистелки и рюшечки зачастую нужны только первые полчаса игры, чтобы завлечь игрока, а дальше интерес должен поддерживаться за счёт геймплея. Если игра плохенькая, то да, можно дотащить игрока до концовки за счёт графона, например, так делают в Crytek. Другое дело, если вы делаете игру, где каждый персонаж очень важен, так делают в Telltale Games, у них половина игры это просмотр анимаций.
    Вообще в разработке игр очень активно применяют концепцию Minimum viable product. Если игрок понял что ему пытались донести, значит всё сделано правильно, а абстрактное «качество» никого не волнует.
    Ответ написан
  • Бывает ли в продаже дешевая 3d камера?

    BasmanovDaniil
    @BasmanovDaniil
    Геймдизайнер-телепат
    Можно сделать всё через вебкамеру на OpenCV, но придётся повозиться и точность будет хуже.
    Ответ написан