Я должен пойти 3D для моей игры? Если так, как далеко и какие-либо хорошие учебные руководства? [закрытый]

Вы собираетесь иметь две основных проблемы, которые сделают это трудно:

1) Плавающая точка не является точным представлением, что означает, что, если у Вас есть часть "x/y", который приводит к значению "z", Ваш дробный алгоритм может возвратить результат кроме "x/y".

2) существует бесконечность намного больше иррациональных чисел, чем рациональный. Рациональное число является тем, которое может быть представлено как часть. Неразумного существа, которые не могут.

Однако в дешевом виде пути, так как плавающая точка имеет предельную точность, тогда можно всегда представлять его как некоторую форму фракции. (Я думаю...)

5
задан Relequestual 19 October 2009 в 17:48
поделиться

4 ответа

Использовать Изометрическую проекцию !

I не думайте, что «настоящее 3D» необходимо для воссоздания внешнего вида тематической больницы. Вам нужно только изображение для каждой ориентации (если вы хотите, чтобы пользователь мог выбирать из 4 направлений обзора, как в оригинале) и каждого объекта. Просто согните вертикальные растровые линии на 45 градусов и сделайте ваши объекты трехмерными (и начертите их над соседними ячейками), чтобы создать трехмерный вид, не добавляя дополнительных сложностей, таких как OpenGL, в ваш код.

Я надеюсь, что я ясно изложил свою точку зрения . В противном случае, пожалуйста, спросите :)

Хорошо, я не стал ' Я ясно выражаюсь - как и ожидалось :) Я тоже не эксперт, извините. То, что я назвал «изгибом» выше, называется «сдвигом» (по крайней мере, в GIMP). Основная идея состоит в том, чтобы создать трехмерный вид, не выполняя его, как если бы вы рисовали трехмерный куб на бумаге. Может быть, поможет (правда, довольно уродливый) пример:

looks 3D but isn't

Это не 3D - никакие координаты в трехмерном пространстве не нужны - только растровые изображения для создания единообразного вида.

4
ответ дан 18 December 2019 в 10:46
поделиться

Переход на 3D увеличит затраты на создание контента в 7 раз. (Извините, не могу сослаться на исследование, но NCsoft Korea изучила его и сообщила об увеличении в 7 раз). Это связано с тем, что для создания жизнеспособных, эффективных и красивых активов требуется множество навыков. Так что имейте это в виду. Многие думают, что переход в 3D волшебным образом сделает их игру «лучше». Это заблуждение. Это будет выглядеть лучше только в том случае, если ресурсы достаточно хороши, чтобы создать уровень погружения лучше, чем то, что было у вас раньше.

Пребывание в 2D дает вам много свободы. Вы действительно можете создать художественный стиль, сосредоточиться на игре и т. Д. Как только вы войдете в 3D, вы большую часть времени вы будете тратить на оптимизацию клиента, а не на создание лучшей игры.

Итак, в конечном итоге решение остается за вами, мы не можем принять его за вас.

Если вы все же решите перейти на 3D, вам нужно затем решить, какова ваша цель. Если это просто создание игры, то вы можете изучить движок, чтобы сократить время разработки. Если вы хотите узнать о механике, лежащей в основе трехмерной графики, переходите прямо к OpenGL с помощью JOGL или LWJGL.

Некоторые механизмы, в которые следует изучить:

  • jMonkeyEngine (здесь я предвзято).
  • Ardor3D
  • jPCT

Удачи.

9
ответ дан 18 December 2019 в 10:46
поделиться

Тематическая больница - хорошие воспоминания :)

Если это обучающий проект, я бы определенно начал с 2D. Вы сделаете гораздо больше, а рабочую игру - гораздо раньше. Добавление 3D на этом этапе только усложнит.

К тому же Theme Hospital будет просто странно смотреться в 3D!

2
ответ дан 18 December 2019 в 10:46
поделиться

Если вы собираетесь работать с 3D, вам почти наверняка лучше всего будет использовать что-то вроде OpenGL (например, через JOGL). В этом случае вы в основном описываете свои объекты в трехмерном пространстве (например, положения и цвета стен, положения и цвета источников света и т. Д.). Затем вы указываете текущее местоположение «камеры». Поворот (обычно) обрабатывается простым указанием другой ориентации камеры.

Изучение OpenGL API не является тривиальным делом, но есть вероятность, что вас беспокоят неправильные вещи - например, полное трехмерное вращение довольно тривиально. Создание реалистичного освещения (особенно если вы хотите включить тени) - это большая работа.

1
ответ дан 18 December 2019 в 10:46
поделиться
Другие вопросы по тегам:

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