В дополнение к ответу @ Daniel, если вы хотите вернуться в нормальное состояние, вы можете ввести prompt
(без каких-либо аргументов) и нажать Enter kbd>
Это не относится к вопросу точно, но я считаю, что это более полезно для этого сценария. Когда мы используем это 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 kbd>
Чтобы вернуться в предыдущий режим, вы можете просто ввести соответствующую букву диска. В этом случае C:
и Enter kbd>
Несколько техник, включая те, которые вы упомянули:
Идея состоит в том, чтобы отбросить как можно больше деталей насколько это возможно, прежде чем пользователи начнут это замечать.
Существует ряд уже существующих наборов инструментов, которые будут делать эти вещи автоматически, но они, как правило, стоят денег. Если вы ищете серьезное приложение, я бы порекомендовал хотя бы изучить предлагаемые в нем решения.
просмотрите и сделайте из него текстуру фона или используйте его для скайбокса / карты отражений и т. д.Идея состоит в том, чтобы выбросить как можно больше деталей, прежде чем пользователи начнут это замечать.
Есть ряд существующих наборов инструментов, которые будут делать это автоматически, но они, как правило, стоят денег. Если вы ищете серьезное приложение, я бы порекомендовал хотя бы изучить предлагаемые в нем решения.
просмотрите и сделайте из него текстуру фона или используйте его для скайбокса / карты отражений и т. д.Идея состоит в том, чтобы выбросить как можно больше деталей, прежде чем пользователи начнут это замечать.
Есть ряд существующих наборов инструментов, которые будут делать это автоматически, но они, как правило, стоят денег. Если вы ищете серьезное приложение, я бы порекомендовал хотя бы изучить предлагаемые в нем решения.
Я думаю, это то, что вы ищете Уровень детализации (LOD)
Для 3D-моделей эта техника называется уровнем детализации . По сути, доступны несколько версий моделей, которые можно использовать в зависимости от контекста. Это не всегда только для расстояния, его также можно использовать для поддержания частоты кадров в других ситуациях.
Однако будьте осторожны, у вас должно быть включено MIP-отображение, иначе вы начнете сверкать на больших текстурах на моделях с более низким разрешением и будете осторожно анимации. Переключение модели под анимированный скелет сложно, поэтому один из способов - сохранить тот же самый скелет даже при LOD-изменении модели.
Существуют динамические системы LOD как для ландшафта, так и для объектных моделей, но они могут быть тяжелыми для процессора.
Вы можете визуализировать текстуры для удаленных объектов, однако вы должны повторно визуализировать текстуру каждый раз, когда перспектива изменяется за пределы некоторого порога. Он отлично работает для удаленных объектов, где перспектива не меняется так часто, как в вашем примере с горами на расстоянии, однако, если источник вида движется слишком быстро или вы слишком близко, вы получите эффект рыбьего глаза вроде первые дни рендеринга неба при землетрясении. Такая система предоставляет себя таким мирам, как eve online, которые содержат огромные расстояния.
Это, конечно, всего лишь еще одна уловка в вашем арсенале, и вам все равно потребуется LOD в некоторой степени.
Одним из методов является LOD (уровень детализации). Чем дальше объект от камеры, тем меньше треугольников рисуется. Вот ссылка: http://www.stefan-krause.com/
Версии моделей с низкой детализацией особенно хорошо подходят для автомобилей. и объекты. С ландшафтом действительно сложно. Я работал над играми типа Battlezone и компьютерными симуляторами полета. Небольшой туман помогает скрыть «всплески» между деталями.
На более низких деталях отображение текстуры часто заменяется несколькими одноцветными многоугольниками.
«Другой более очевидный метод - хранить действительно грубые 3D-модели. , но как тогда система 3D-рендеринга выбирает для рендеринга грубую модель здания, а не грубые модели других менее значимых (и, вероятно, не видимых с такого расстояния) объектов? Как бы вы сохранили что-то подобное вместе с картой высот? »
Вы можете создать сетку ландшафта и сохранить список видимых объектов в каждой ячейке сетки.
Один из способов управления рельефом - использовать тайлы с разным разрешением. Подобно тому, как это делают Virtual Earth и Google Maps, они рекурсивно делят мир на плитки. Итак, есть 4 плитки на уровне 0, 16 на уровне 1 и т. Д. Затем, используя некоторый алгоритм LoD для определения увеличения / масштаба, вы должны загрузить соответствующие плитки ландшафта для данной области.
Техника динамического кэширования предварительно визуализированных видов удаленных объектов обычно называется «самозванцами». Вот статья на эту тему из старой книги Game Programming Gems.
Существует много методов управления уровнем детализации ландшафта карты высот. Взгляните на vterrain.org для обзора некоторых распространенных методов. Общий принцип тот же самый в большинстве вариантов - разбить местность на участки и использовать геометрию с более низким разрешением и текстуры на расстоянии - но детали различаются.
Чтобы уменьшить количество объектов, передаваемых на видеокарту, какой-то вид отбраковка видимости обычно будет реализована. В самом простом случае это может быть просто полное отбрасывание моделей, ограничивающая сфера которых покрывает меньше определенного порога пикселей экрана (вы ' Я буду рассчитывать это в любом случае при выборе LOD для использования, если у вас есть система LOD). Для большей эффективности может использоваться какая-то иерархическая структура пространственных данных для отсева - квадродеревья или октодеревья, деревья сфер, портальные системы (обычно не используются для наружных сред), простые сеточные схемы и т. Д. Основная идея заключается в экономии работы путем отбраковки узла более высокого уровня в иерархии и, таким образом, избегая даже просмотра многих конечных узлов. Простым примером может быть отбраковка здания и эффективное удаление всех его дочерних узлов (объектов внутри или наверху здания), не глядя на них по отдельности.
Для такой игры, как забвение, они, вероятно, также выполняют некую отбраковку окклюзии - отбраковка объектов перед отправкой их графическому оборудованию на основе определения того, что они скрыты за другими объектами.