Сложно ли создавать 3D игры, какие знания нужны для создания 3D игр?

Сложно ли создавать 3D игры, какие знания нужны для создания своего игрового движка? С чего начать создания своего игрового движка? Даже самого простого. В чем заключается сложность процесса ? Взять, например, компанию GSC Game World, создавшую игру сталкер, казаки. Большеннство из них не были раньше вообще связаны ИТ, тем не менее они создали движок xRay ,сделали на нём игру, откуда же они взяли тогда опыт создания игровых движков,если на то время это было начало 2000-х годов + многие из них только начали работать в сфере ИТ?
  • Вопрос задан
  • 1243 просмотра
Решения вопроса 1
Zoominger
@Zoominger
System Integrator
Да, безусловно сложно. Без знания высшей математики в написание 3D-движков лезть нечего.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
dollar
@dollar
Делай добро и бросай его в воду.
Знания нужны те, что соответствуют вашей роли в разработке игры. Если вы программист, то программирование. Если художник - арт, моделирование, дизайн, левел-дизайн, UI/UX. Если менеджер, то навыки управления. А если продюсер, то всего понемногу. И это не полный список.

Компании, которые вы перечислили, это именно компании, т.е. очень много людей. И у всех у них разные специальности. Там никто в одиночку игру не делает. И решение о создании своего движка тоже должно быть взвешенным, когда ни один движок на рынке не удовлетворяет требованиям разработки игры.

Сейчас, в 2019, для нормальной игры лучше брать уже готовый движок. Отлично подойдет Unity, заточенный под 3D, - это шедевр по современным меркам, даже не смотря на редкие кейсы неудобства. Еще можно Unreal. В любом случае, это гораздо дешевле, чем писать свой. Ну а так - дело вкуса, смотрите, сравнивайте, выбирайте, движков много, 2000-е годы уже прошли.
Ответ написан
Комментировать
@xfg
Знание линейной алгебры. Это первый курс технического вуза. Если каждую точку (представленную вектором) 3D модели умножить на одну и ту же матрицу, то все точки переместятся в другое местоположение относительно центра, но с пропорциональным сохранением расстояния между друг другом. Соответственно были вычислены матрицы преобразования, которые дают эффект перемещения, масштабирования и поворота точки в пространстве. Можно почитать о матрицах преобразований и самому порешать примеры, чтобы удостовериться, что они действительно дают нужный эффект. Далее это умножают на матрицу перспективы, таким образом создавая эффект отображения изображения в перспективе. Делают это на языке программирования GLSL. Пишут вершинный шейдер, который на вход принимает текущее положение каждой вершины, а также матрицы модели и перспективы, перемножая это всё в нужном порядке на выходе получается новое местоположение вершины. Далее результат передается в фрагментный шейдер, где каждый пиксель между этими вершинами раскрашивается в нужный цвет. Свет, тени и прочее, так же считают в фрагментном шейдере. Получившееся изображение выводится на экран.

Можете посмотреть видео по теме https://www.youtube.com/watch?v=HLbxyPwdlgI&list=P...
Ответ написан
Комментировать
profesor08
@profesor08
Ты не правильно ставишь вопрос. Тебе надо задаться вопросом о том, что есть движок для тебя, что он должен делать, какие функции выполнять, и какие решать задачи, необходимые для твоей игры. Вот допустим тебе надо сделать живую слизь, что она должна уметь? Она должна собираться в комок, перетекать с учетом физики гравитации, менять цвет, кипеть, леденеть, трансформироваться в разные формы. Вот таким образом появилась задача, теперь ее надо решать. Смотришь вокруг, если есть решение готовое, пробуешь применить, если нет, пишешь сам.
Ответ написан
Комментировать
samodum
@samodum
Какой вопрос - такой и ответ
Почитай цикл статей
https://habr.com/ru/post/248153/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы