Удаленный 3D рендеринг объекта [игры]

В дополнение к ответу @ Daniel, если вы хотите вернуться в нормальное состояние, вы можете ввести prompt (без каких-либо аргументов) и нажать Enter

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

Вместо того, чтобы делать это, мы можем сопоставить наиболее используемый путь к виртуальному диску. как C:\Users\ram\Desktop\temp для виртуального диска X:. Таким образом, вам не нужно видеть ненужный путь, а также вы можете видеть навигацию по подпапкам, например X:\subfolder>.

Это более полезно для сопоставления вашего проекта с виртуальным диском и выполнения всех операций.

Чтобы отобразить путь к виртуальному диску

1) введите subst [Drive:] [path] Пример: cmd>subst X: C:\Users\ram\Desktop\temp

2) Затем перейдите на диск, набрав X: и Enter

Чтобы вернуться в предыдущий режим, вы можете просто ввести соответствующую букву диска. В этом случае C: и Enter

9
задан Ricket 19 June 2009 в 13:03
поделиться

8 ответов

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

  • Уровень деталь. Изложено выше.
  • Mipmapping. Для текстур.
  • Поле зрения. Ограничьте количество объектов, которые ваша камера может «видеть», выбрав соответствующий уровень масштабирования. См. Также отсечение усеченного конуса вида.
  • Дальняя плоскость отсечения. Окклюзия далеких мест: в большинстве игр используется туман, горы или какие-то другие предлоги, чтобы строго отсечь, насколько далеко вы можете видеть. Это может быть реализовано с использованием октодерева или другой подобной техники. Это может быть основано на целых объектах, или на полигонах, или на чем-то еще, и обычно происходит прямо за этими вышеупомянутыми горами.
  • Арены / уровни / области / что угодно - опять же, большинство игр искусственно ограничивают вас играть на одной арене на время; выгода очевидна (вы можете игнорировать объекты во всех других областях)
  • Предварительный рендеринг - это то, что вы предлагаете выше. Для удаленных статических сцен визуализируйте сцену в «типичном» виде и сделайте из нее текстуру фона или используйте ее для скайбокса / карты отражений и т. Д.

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

Существует ряд уже существующих наборов инструментов, которые будут делать эти вещи автоматически, но они, как правило, стоят денег. Если вы ищете серьезное приложение, я бы порекомендовал хотя бы изучить предлагаемые в нем решения.

просмотрите и сделайте из него текстуру фона или используйте его для скайбокса / карты отражений и т. д.

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

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

просмотрите и сделайте из него текстуру фона или используйте его для скайбокса / карты отражений и т. д.

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

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

7
ответ дан 4 December 2019 в 11:43
поделиться

Я думаю, это то, что вы ищете Уровень детализации (LOD)

7
ответ дан 4 December 2019 в 11:43
поделиться

Для 3D-моделей эта техника называется уровнем детализации . По сути, доступны несколько версий моделей, которые можно использовать в зависимости от контекста. Это не всегда только для расстояния, его также можно использовать для поддержания частоты кадров в других ситуациях.

Однако будьте осторожны, у вас должно быть включено MIP-отображение, иначе вы начнете сверкать на больших текстурах на моделях с более низким разрешением и будете осторожно анимации. Переключение модели под анимированный скелет сложно, поэтому один из способов - сохранить тот же самый скелет даже при LOD-изменении модели.

Существуют динамические системы LOD как для ландшафта, так и для объектных моделей, но они могут быть тяжелыми для процессора.

4
ответ дан 4 December 2019 в 11:43
поделиться

Вы можете визуализировать текстуры для удаленных объектов, однако вы должны повторно визуализировать текстуру каждый раз, когда перспектива изменяется за пределы некоторого порога. Он отлично работает для удаленных объектов, где перспектива не меняется так часто, как в вашем примере с горами на расстоянии, однако, если источник вида движется слишком быстро или вы слишком близко, вы получите эффект рыбьего глаза вроде первые дни рендеринга неба при землетрясении. Такая система предоставляет себя таким мирам, как eve online, которые содержат огромные расстояния.

Это, конечно, всего лишь еще одна уловка в вашем арсенале, и вам все равно потребуется LOD в некоторой степени.

0
ответ дан 4 December 2019 в 11:43
поделиться

Одним из методов является LOD (уровень детализации). Чем дальше объект от камеры, тем меньше треугольников рисуется. Вот ссылка: http://www.stefan-krause.com/

0
ответ дан 4 December 2019 в 11:43
поделиться

Версии моделей с низкой детализацией особенно хорошо подходят для автомобилей. и объекты. С ландшафтом действительно сложно. Я работал над играми типа Battlezone и компьютерными симуляторами полета. Небольшой туман помогает скрыть «всплески» между деталями.

На более низких деталях отображение текстуры часто заменяется несколькими одноцветными многоугольниками.


«Другой более очевидный метод - хранить действительно грубые 3D-модели. , но как тогда система 3D-рендеринга выбирает для рендеринга грубую модель здания, а не грубые модели других менее значимых (и, вероятно, не видимых с такого расстояния) объектов? Как бы вы сохранили что-то подобное вместе с картой высот? »

Вы можете создать сетку ландшафта и сохранить список видимых объектов в каждой ячейке сетки.

0
ответ дан 4 December 2019 в 11:43
поделиться

Один из способов управления рельефом - использовать тайлы с разным разрешением. Подобно тому, как это делают Virtual Earth и Google Maps, они рекурсивно делят мир на плитки. Итак, есть 4 плитки на уровне 0, 16 на уровне 1 и т. Д. Затем, используя некоторый алгоритм LoD для определения увеличения / масштаба, вы должны загрузить соответствующие плитки ландшафта для данной области.

0
ответ дан 4 December 2019 в 11:43
поделиться

Техника динамического кэширования предварительно визуализированных видов удаленных объектов обычно называется «самозванцами». Вот статья на эту тему из старой книги Game Programming Gems.

Существует много методов управления уровнем детализации ландшафта карты высот. Взгляните на vterrain.org для обзора некоторых распространенных методов. Общий принцип тот же самый в большинстве вариантов - разбить местность на участки и использовать геометрию с более низким разрешением и текстуры на расстоянии - но детали различаются.

Чтобы уменьшить количество объектов, передаваемых на видеокарту, какой-то вид отбраковка видимости обычно будет реализована. В самом простом случае это может быть просто полное отбрасывание моделей, ограничивающая сфера которых покрывает меньше определенного порога пикселей экрана (вы ' Я буду рассчитывать это в любом случае при выборе LOD для использования, если у вас есть система LOD). Для большей эффективности может использоваться какая-то иерархическая структура пространственных данных для отсева - квадродеревья или октодеревья, деревья сфер, портальные системы (обычно не используются для наружных сред), простые сеточные схемы и т. Д. Основная идея заключается в экономии работы путем отбраковки узла более высокого уровня в иерархии и, таким образом, избегая даже просмотра многих конечных узлов. Простым примером может быть отбраковка здания и эффективное удаление всех его дочерних узлов (объектов внутри или наверху здания), не глядя на них по отдельности.

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

0
ответ дан 4 December 2019 в 11:43
поделиться
Другие вопросы по тегам:

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