Как сделать карту высот 3018

Обновлено: 05.07.2024

В видео показано как создать карту высоты для арткам. Я попытался подробно показать етот метод, расказать какие .

Альтернативное создание карты глубины в программе ArtCAM. Фрагменты видеоурока. Назначьте свою цену и заберите .

Программа Zbrush 4R7 подключайтесь к освоению темы и делитесь информацией если такая у вас наработана.

Видеоурок из двух частей "Как в ArtCAM сделать карту глубины для 3D стерео изображений". Часть 1. Creating a depth map .

В этом видео я расскажу Вам как при помощи нехитрых манипуляций в photoshop создать 3D фото для facebook, живых 3d .

2D 3D преобразование картины Константина Маковского "Боярышня за чаем", 1914 год. В XVII веке, когда чай только .

В этом видео я покажу несколько способов создания Normal Map по фото, вариант создания карты Metalic, Roughness. 1.

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

Не повторяйте это! =) В этом видео, используя карту высот и Blender, я буду создавать тело со сложным узором во Fusion .

Показал как создать карту местности с помощью квадрокоптера DJI и приложения DroneDeploy. Создавать можно не .

Но кидаем но сама карта. Так вот у нас все загрузилось. Утилиты им пока высот. Выбираем нашу карту высот. Жмем да и .

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

Сегодня будет создание карты высот в Rhinoceros и настройка текстурных координат для составных поверхностей.

Выкладываю в качестве рекламы вступительную часть к моему видеокурсу по скоростному созданию барельефов в Rhino5 .

Создание 3d модели по изображению, модель используется для создания барельефа из дерева, камня и т.п. Формат .

Авторські права на контент: як захистити свої фото від використання на платних ресурсах
Авторські права на контент: як захистити свої фото від використання на платних ресурсах

В пресконференції візьме участь: Анастасія Юхименко - начальник відділу правопросвітництва та надання безоплатної .

Темы охвата: создание текстур в Photoshop, графики материалов, сетки ландшафта, карты высот, создание экземпляров .

' width='8' height='8' /> как сделать из normal map карту высот для displace'a, и вообще, можно ли displace'ить по normal map'у?


_hidden_


ребята, возник вопрос.

можно ли сделать дисплейс не по карте высот, а по normal map'e? ибо есть модель - затекстуренная с нормал мапами, вот хотелось бы их перевести в геометрию, хотя бы при рендеринге - через vray displace.

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

p.s. зачем это надо? вот нужно отрендерить модельку с применением GI, изза чего рельеф нормал мапов практически не виден.


[Vitus]


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


_hidden_


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

p.s. есть плагин для фотошопа от nvidia, там заявлена эта фишка, но на проверку - она не работает, о чем много разговоров на форумах.


RGhost


Ну так вроде можно же нормал мапу в zbrush к модели применить а потом с полученой модели снять displace.


_hidden_



AnTonG



Shiva


Красив как Бог, умен как Дъявол

Плагин от Nvidia весма неплохо справляется с переводом нормал мапы в карту высот. Но не без проблем. Проблеммы возникают на швах потому что математически нельзя Угадать какая высота у краевых точек. Это связанно алгоритмом перевода нормалки.. он инкриментальный. т.е. а, кому это надо.. короче если мапинг Сплошной то Внутри карта высот Адекватная, если мапинг сильно быитый то будет куча лажи на швах.
Лечится только ручками - модель загоняется в Збрашь. Дисплейсится по созданой в Нвидия плагине карте высот, а потом швы замазываются. И генерится новая карта высот.
Сам так делал - все отлично работает.

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

моя текстура высоты в настоящее время представляет собой изображение 257 x 257 серого масштаба (значения высоты масштабируются для видимости цели):

enter image description here

Я думаю, что каждый пиксель изображения представляет координату решетки в сетке 256 x 256 (следовательно, почему есть высоты 257 x 257). Это означало бы, что Нормаль по координате (i, j) определяется высотами (i, j), (i, j + 1), (i + 1, j) и (i + 1, j + 1) (назовем их A, B, C и D соответственно).

Итак, учитывая 3D-координаты A, B, C и D, имеет ли смысл:

  1. разделить четыре в два треугольника: ABC и BCD
  2. вычислить нормали этих двух граней с помощью перекрестного произведения
  3. разделить на два треугольника: ACD и ABD
  4. вычислить нормали этих двух граней
  5. в среднем четыре нормали

. или есть более простой метод, которого мне не хватает?

пример кода GLSL из моего шейдера рендеринга водной поверхности:

результатом является вектор удара: xyz=normal, a=height

Я думаю, что каждый пиксель изображения представляет координату решетки в сетке 256 x 256 (следовательно, почему есть высоты 257 x 257). Это означало бы, что Нормаль по координате (i, j) определяется высотами (i, j), (i, j + 1), (i + 1, j) и (i + 1, j + 1) (назовем их A, B, C и D соответственно).

нет. Каждый пиксель изображения представляет собой вершину сетки, поэтому интуитивно, из симметрии, ее Нормаль определяется высотами соседние пиксели (i-1, j), (i+1, j), (i, j-1), (i, j+1).

задана функция f:2→→, описывающее поверхность в ℝ 3 , Нормаль единицы в (x, y) задается

v = (- ∂f/x x, - ∂f/y y, 1) и n = v/|v|.

можно доказать, что наилучшее приближение к ∂f / x x двумя образцами архивируется:

∂f/x x (x, y) = (f(x+ε,y) - f(x-ε,y))/(2ε)

чтобы получить лучшее приближение, вам нужно использовать не менее четырех точки,таким образом, добавление третьей точки (т. е. (x, y)) не улучшает результат.

ваша hightmap является выборкой некоторой функции f на регулярной сетке. Принимая ε=1 вы получите:

2v = (f(x-1, y)-f(x+1,y), f(x,y - 1) - f(x,y+1), 2)

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

начните с выборки области высот 3x3 вокруг каждого texel (здесь, [4] - это пиксель, для которого мы хотим нормальный).

здесь scale смогите быть отрегулировано для того чтобы соответствовать глубине реального мира карты высоты по отношению к своему размеру.

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

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

то, что вам нужно, это нормально в каждой вершине.

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

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

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

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

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

Если вам нужна нормаль в определенной точке треугольника (кроме одной из вершин), вы можете интерполировать, взвешивая нормали трех вершин по барицентрическим координатам вашего точка. Вот как графические растризаторы относятся к нормальному затенению. Это позволяет треугольной сетке выглядеть как гладкая изогнутая поверхность, а не куча смежных плоских треугольников.

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

Создание карты высот на основании растра с цветной палитрой

Создание карты высот на основании растра с цветной палитрой

Добрый день. Помогите, пожалуйста, решить задачу в QGis или GlobalMapper.

У меня есть цветной растр RGB обозначающий высоты местности (пример):

Изображение

Растр содержит 113 цветов, каждый из которых соответствует определенной высоте местности.
В зависимости от проекта диапазон высот может меняться. К примеру я делаю проект местности с высотой от 0 до 150 метров. (синий цвет - 150 метров, красный 0 метров).

Я знаю значения RGB каждого цвета и соответствующая ему высоту например:
MaxElevation="15.93" red="0" blue="222" green="125" MinElevation="14.6" или
0 222 125 15,93 14,6 (без разницы какой формат, смогу сделать любой)

Задача получить DEM модель или GeoTiff с картой высоты чтобы ее можно было использовать в любом другом софте.

Для себя пока выработал следующий алгоритм:
1. Делаю из RGB с помощью специального алгоритма grayscale.
2. Привязываю карту к местности с помощью Georeferencer.
3. Создаю контуры произвольных высот с шагом например 10 с помощью Raster - Extraction - Contour.
4. В Attribute Table полученного слоя преобразовываю значения высот в поле ELEV в нужный диапазон (например я получил значения поля ELEV от 30 до 1150, преобразовал их в диапазон значений от 0 до 150).
5. Далее с помощью Raster - Analysis - Grid (Interpolation) делаю нужный мне файл.


Рис. 10.1. Пример карты высот

Рис. 10.1. Пример карты высот

Чтобы построить ландшафт из карты высот вам сперва надо построить сетку вершин той же размерности, что и у карты высот, а затем использовать значение высоты каждой точки (пикселя) из карты высот как высоту для вершины в сетке вершин. Например, вы можете использовать карту высот разрешением 6 × 6 пикселей для смещения высоты каждой вершины в сетке вершин 6 × 6.

Помимо местоположения, каждая вершина сетки содержит другие атрибуты, необходимые для визуализации, такие как нормаль и координаты текстуры. На рис. 10.2 показана сетка вершин 6 × 6, созданная в мировой плоскости XZ, где высота каждой вершины задается по мировой оси Y.


Рис. 10.2. Сетка вершин 6 х 6, созданная в плоскости XZ

Рис. 10.2. Сетка вершин 6 × 6, созданная в плоскости XZ


Рис. 10.3. Ландшафт, сгенерированный из карты высот

Рис. 10.3. Ландшафт, сгенерированный из карты высот на рис 10.1 и визуализированный в каркасном и сплошном режимах

Обратите внимание, что для визуализированного ландшафта, показанного на рис. 10.3, для каждой вершины были вычислены нормаль и координаты текстуры, что позволило правильно освещать и текстурировать ландшафт.

Генерация карты высот

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

Форматы файлов карт высот

Читайте также: