MicroGIS forum http://forum.micro-gis.com/ |
|
3D Модели http://forum.micro-gis.com/viewtopic.php?f=25&t=44 |
Страница 1 из 3 |
Автор: | Alex [ 31 окт 2012, 23:46 ] |
Заголовок сообщения: | 3D Модели |
В данной теме делимся опытом, обсуждаем методики и правила создания 3D моделей. Вложение: Методика создания 3D моделей для CityGuide - Здесь Методика создания 3D моделей для GARMIN (Gukol) - Здесь Правила фотосъемки от Google - Здесь Скрипт Region2DXF для СГ конструктора - Здесь |
Автор: | MaxBel [ 03 ноя 2012, 16:09 ] |
Заголовок сообщения: | Re: 3D Модели |
В СГ 7 тоже можно такие модели делать. Даже есть инструкция Если кто то бы взялся сделать самостоятельно было бы супер! |
Автор: | Vovan_Alm [ 03 ноя 2012, 16:49 ] |
Заголовок сообщения: | Re: 3D Модели |
Мне СГ не нравится путанным интерфейсом, люблю интуитивно-понятные программы... Тут Гармин на высоте, подойдет любой "блондинко"... А по поводу моделей - все упирается именно в изготовление самой модели, на это уходит куча времени, а конвертация довольно простая... |
Автор: | User_tester [ 03 ноя 2012, 20:31 ] |
Заголовок сообщения: | Re: 3D Модели |
Vovan_Alm, поздравляю с почином! Поделись опытом создания - напиши, пожалуйста, понятную инструкцию здесь. |
Автор: | _Michael_ [ 03 ноя 2012, 21:24 ] |
Заголовок сообщения: | Re: 3D Модели |
MaxBel писал(а): В СГ 7 тоже можно такие модели делать. Даже есть инструкция Если кто то бы взялся сделать самостоятельно было бы супер! а где покурить? ткни носом, плз! |
Автор: | Alex [ 04 ноя 2012, 02:34 ] |
Заголовок сообщения: | Re: 3D Модели |
Методика создания 3D моделей для CityGuide Для создания 3D объекта нам понадобятся следующие программы: или 1. В программе GeoConstructor.exe загрузить карту, на которой необходимо сделать модели. 2. Правой кнопкой мышки кликнуть на здание вместо которого нужно сделать модель. Если контур здания на карте не соответствует предполагаемой модели, контур необходимо отредактировать. Мелкие детали можно не прорисовывать но нужно учитывать, что модель будет вписана в описывающий географический прямоугольник в котором протяжённость с севера на юг и с запада на восток определяются соответствующими крайними точками контура здания. Если на карте контур здания объединяет группу домов, а модель необходимо сделать только на часть контура, контур зданий на карте нужно отредактировать разбив его на части. 3. В нижнем окне программы отображается список объектов под мышкой. Нужно выбрать объект 'Buildings' и кликнуть на нём правой кнопкой мышки. При этом выбранный объект на карте подсветится, а над курсором отобразится окно с возможными операциями с объектом. Нужно выбрать 'Region2DXF' и кликнуть на него. Отобразится окно, в которое нужно ввести имя объекта. Это имя можно вводить на руссом языке. По клику на 'Ок' программа в папке, где расположена карта создаст 2 файла с именем, транслитерированным на латинские буквы. 3.1. Файл DXF. Содержит контур выбранного дома для загрузки его в 3D студию. 3.2. Файл XML. Содержит географическую привязку будущей модели, имя модели как оно было введено в программе и настроечные параметры. Используется параметр height. Изначально там 0. Если оставить 0, модель будет сконвертирована "пропорционально". То есть на сколько она будет растянута для вписывания в геометрическую рамку, настолько растянута по высоте. Это неудобно для изготовления узких колонн и всяких столбов. Их высоту лучше задать в поле 'height' отредактировав XML. Высота указывается в метрах. Вместо параметра 'height' можно указать 'propHeight'. Это применимо для отдельно стоящих зданий (например соборов или театров), если хочется при конвертировании модели сохранить её пропорции и установить для неё заданную высоту. Для выбранного здания необходимо заполнить атрибут INFORMATION. При отображении карты при включенном отображении моделей все дома с заполненным атрибутом INFORMATION не отображаются в виде коробок, оставляя место для моделей. 4. Файл DXF необходимо загрузить в 3D студию. И по загруженному контуру построить 3D модель. При создании модели необходимо соблюдать следующие принципы: 4.1. Модель в студии не сдвигать из центра координат. Строить по контуру как он был загружен. 4.2. Размер текстур по ширине и высоте должен быть степени 2. Это 16, 32, 64, 128, 256. Необходимо использовать минимально достаточные размеры. Размер 256 не использовать или использовать в очень редких случаях. 4.3. Использовать текстуры в формате png. 4.4. Экономить количество вершин модели. Рельефы стен и фасадов создавать текстурами. Поверхности с повторяющимся рисунком не бить на отдельные поверхности, а использовать принцип укладывания текстур мозаикой. 4.5. На цилиндрических частях круг разбивать не более, чем на 8 частей и добиваться гладкости соответствующей расстановкой нормалей. 5. После изготовления модели её нужно сконвертировать в X формат Microsoft. Это текстовый файл, поддерживаемый Microsoft Direct3D SDK. Direct3D SDK должен быть установлен на вашем компьютере. Инсталяционный пакет можно скачать с сайта Microsoft. Существует много 3D студий и способов конвертирования в Х формат. Не все могут дать файл в формате Х. Критерием является возможность просмотра файла в формате Х во вьювере, входящем в комплект пакета Microsoft Direct3D SDK. Нами опробовано создание моделей в 3DMax и конвертирование программой DeepExploration. 6. Все созданные модели должны быть уложены в директорий с поддиректориями определённой структуры. Каждая модель помещается в отдельный директорий. Имя директория совпадает с именем файлов DXF и XML. Директорий должен иметь расширение имени '.cgm'. При конвертировании общего файла моделей все директории, не имеющие расширения или имеющие другое расширение пропускаются. В каждом директории 'ModelName.cgm' должны быть расположен следующий комплект файлов: 6.1. Файл 'ModelName.xml' созданный программой GeoConstructor.exe. Описатель географической привязки и пропорций модели. 6.2. Файл 3D модели 'ModelName.x'. Сама модель. 6.3. Весь комплект текстур, принадлежащий данной модели. 7. Запустить программу CGMapTool.exe для создания файла моделей карты в формате CityGuide. Командная строка для запуска: CGMapTool.exe Type=Crt3DModels InFolde=C:\Models\ OutFile=C:\Models\Models.dc3 Создаваемый файл моделей должен точно такое имя как имя файла карты, для которой он создаётся. Программа создаёт файл моделей и создаёт log файл рядом с файлом моделей. Если по каким-либо причинам файл моделей не создан, в log файл записываться причина сбоя прогаммы. 8. Созданный файл моделей карты имеющий расширение 'dc3' необходимо записать в файл карты 'dcm'. В каталоге карту файл моделей уже прописан при создании и назван по имени карты. Создание карты в формате 'cgmap' программой CGMapTool.exe делается обычным образом. Если файл 'dc3' обнаружен, она его переносит в 'cgmap'. |
Автор: | Alex [ 04 ноя 2012, 05:05 ] |
Заголовок сообщения: | Re: 3D Модели |
Методика создания 3D моделей для GARMIN (Gukol) Для создания 3D объекта нам понадобятся следующие программы: Для начала берем фотоаппарат в руки и идем фотографировать интересующий нас объект. Фотографировать нужно так, чтобы искажений было как можно меньше. А лучше, чтобы их совсем не было. Если сторона здания прямоугольная, то и на фото в итоге она должна быть прямоугольной, а не трапецивидной. После этого из полученных фото вырезаем нужные нам участки и делаем объединенную текстуру. Текстура должна быть размерами 512х512 пикселей в формате png. Размеры сторон здания не обязательно должны быть пропорциональны друг другу. Но их стороны должны соотноситься со сторонами полигонов нашего объекта, который мы будем создавать чуть позже. Фон объединенной текстуры лучше сделать непрозрачным. Например сделаем его белым. Если у нашего строения несколько сторон выглядят одинаково, то в нашей текстуре достаточно разместить картинку только одной стороны. Другими словами, не обязательно размещать свою текстуру для каждого полигона объекта. Создавать общую текстуру можно в FotoShop. Но если кому-то удобней в других графических программах, то это не возбраняется. Главное, в результате получить картинку в формате png размерами 512х512 пикселей. Вот, что в итоге у нас должно получиться: Вложение: 2.jpg [ 38.06 КБ | Просмотров: 47858 ] Как будет дальше видно, количество частей текстур меньше, чем количество полигонов в нашем объекте. Ну а теперь приступим непосредственно к созданию нашего 3D объекта. Для начала рекомендую создать самый простой объект - куб. Размеры объекта должны соответствовать реальным размерам дома, который мы собираемся создавать. Если сторона дома в реальности 50 метров, то и у нашего объекта соответствующая сторона (грань) должна быть тоже 50 метров. И так, нам нужна программа Google SketchUp Pro. Создаем новый объект - File->New. Человечка в нулевых координатах можно удалить. Нам он не нужен. Если есть спутниковый снимки участка, где располоден Ваш объект, то Вы можете разместить эту фото: File->Geo-location->Add Location. После выбираем нужный нам участок, масштаб и жмем Select Region. После центруем на нужном нам объекте (крестик - это нулевые координаты). Рекомендую сцентровать на каком-нибудь углу нашего строения. Вложение: 3.jpg [ 24.38 КБ | Просмотров: 47858 ] После жмем Grab и выбранный участок появится в окне моделирования. Теперь необходимо нарисовать саму модель. Я думаю не стоит тут описывать функционал программы SketchUp. Какждый сам разберется, как и что делать. В резльтат мы получаем вот такой домик: Вложение: 4.jpg [ 15.05 КБ | Просмотров: 47858 ] Теперь нам необходимо разместить на нашем объекте текстуру, которую мы подготовили чуть раньше. Делается это следующим образом. Выбираем Paint Bucket (ведрос с выливающейся желтой краской). У нас откроется окошко Materials. Нам нужно создать новый материал, который будет содержать нашу текстуру. Для этого в этом окошке нажимаем Create Material... (ящик с плюсиком в кругляшке). Откроется еще одно окошко. Выписываем там название нашего материала. Лучше латинскими буквами и с маленькой буквы. Выбираем файл нашей текстуры. Ниже выставляем размеры текстуры (тут можете поэксперементировать, потому что от этих размеров будет зависеть размер, который изначально нанесется на полигон). Жмем ОК. В окне Materials появится наша текстура. После этого курсором (ведро с желтой краской) выбираем полигон, на который хотим нанести текстуру. Получим вот такое: Вложение: 5.jpg [ 15.19 КБ | Просмотров: 47858 ] Теперь нам необходимо растянуть нужный участок текстуры (на котором расположена часть, которая должна покрыть выбраный полигон). Нажимаем правой кнопкой мыши на нужный полигон. В выпавшем окне выбираем Texture->Position. В резальтате видимо следующую картину: Вложение: 6.jpg [ 20.27 КБ | Просмотров: 47858 ] Тут мы видим 4 метки (красная, желтая, зеленая и синяя). Нам интересный красная и зеленая. Красная - это метка нулевых координат текстуры. При однократном нажатии на нее левой кнопкой мыши, появляется возможность перетаскивать эту метку (так же, как и другие). Перетаскиваем ее в один из углов нужного нам участка текстуры. Двигаем всю текстуру так, чтобы красная метка совпала с соответствующей частью полигона. Например, у нас квадратный полигон, и соовтетственно квадратная часть текстуры. Переносим красную метку в левый нижний угол нужного нам участка текстуры (например, это часть, которая покрывает тарец здания). После этого двигаем всю текстура так, чтобы эта красная метка оказалась тоже в левом нижнем углу полигона торца здания. Теперь таким же образом переносим зеленую в другую часть нужного участка текстуры. После этого начинаем растягивать текстуру, тянув в нужном направлении за зеленую метку, удерживая ее левой кнопкой мыши. В итоге получаем следующее: Вложение: 7.jpg [ 20.6 КБ | Просмотров: 47858 ] По аналогиии заполняем текстуруй все остальные полигоны. В итоге у нас готов объект, полностью заполненный текстурой. Вложение: 8.jpg [ 13.45 КБ | Просмотров: 47858 ] Все, объект готов. Но тут возникает один нюанс. Если Вы попытаетесь вставить его в карту в таком виде, то он будет расположен перепендикулярно, относительно поверхности карты. Поэтому нам необходимо его повернуть на 90 градусов относительно красной оси координат. Расскажу о том, какие оси куда направлены: • Красная - в сторону востока. • Зеленая - в сторону севера. • Синяя - в небо. В карте же для Гармин эти линии меняют ориентацию: • Красная - в сторону востока. • Зеленая - в сторону земли. • Синяя - в сторону севера. В итоге, наше строение должно быть расположено следующим образом: Вложение: 9.jpg [ 11.2 КБ | Просмотров: 47858 ] Делается это следующим образом. Сперва выделяем всю модель: Edit->Select All. После выбираем кнопку Rotate (две красные полукруглые стрелки). Подводим к нулевым координатам так, чтобы появившаяся шкала стала кросной (поворачивать будем относительно красной оси). После поворачиваем строение на 90 градусов. Вложение: 10.jpg [ 12.13 КБ | Просмотров: 47858 ] Теперь нашу модель необходимо конвертировать в подходящий для Garmin формат. А это файлы формата obj и mtl. Выполняем: File->Export->3D Model. Выбираем папку, куда сохранять. В итоге мы получим 2 файла *.obj и *.mtl. Там же будет папка, в которой расположена наша текстура. После конвертации увидимо следующее окошко, в котором необходимо обратить внимание на выделенные строки. Обязательно должны быть 1 материал и 1 текстура. Вложение: 11.jpg [ 14.86 КБ | Просмотров: 47858 ] Текстуру из полученной папки можете разместить рядом с фалами *.obj и *.mtl. Однако в таком случае необходимо будет внести изменения в файл *.mtl. Он открывается обычным редактором Блокнот. Нас итересует строка "map_Kd 2/chgaa.png". Заменяем ее на "map_Kd chgaa.png". Это ссылка на путь до нашей текстуры. Если захотите переименовать файл текстур, так же необходимо внести изменения в файл *.mtl. Главное помнить, что название файла текстуры должно содержатьтолько латинские буквы и цифры, и только маленькие буквы. Если решите переименовать файл *.mtl, то необходимо внести изменения в файл *.obj (который тоже можно открыть Блокнтом). Нас интересует строка "mtllib 2.mtl". Это путь до файла *.mtl. И так, все файлы упорядочили, все подготовили. Осталось подготовить shape-файл, который мы будет подсовывать при компиляции карты. Shape должен содрежать следующие атрибуты: • NAME=chgaa (тут название вашего объекта, произвольное) • GRMN_TYPE=GENERIC_MANMADE (тип полигона из тех, которые могут поддерживать высотность) • LINK_ID=1 (уникальный id объекта) • HGT_DP=0 (высота, которая, как я понял, должна быть равна нулю) • HGT_DP_FMT=M (единица измерения высоты) • MODEL=C:\mp2shp_1.09\3D\model001 (путь к папке, в которой будут размежаться *.obj, *.mtl и *.png текстура) • MODEL_ORIG=lat=55.159348,lon=61.379063 (координаты объекта, которые соответствуют нулевым координатам в 3D редакторе) Результат проделанной работы, на экране навигатора должен иметь вот такой вид: Вложение: 1.jpg [ 23.03 КБ | Просмотров: 47858 ] В заключении хочу сказать, что сперва лучше попробовать все это на самом элементарном объекте. Нарисуйте куб, прикрепите его к карте. Тогда сможете понять, что нужно доработать и подправить. Оригинал статьи: здесь |
Автор: | Vovan_Alm [ 04 ноя 2012, 06:30 ] |
Заголовок сообщения: | Re: 3D Модели |
Сложности могут возникнуть только в момент экспорта в obj - так как там с ничего вдруг вылазит 2 материала, а это недопустимо для Гармина, потому я нашел выход покрывать все поверхности модели (даже внутренние), т.к модель полая... Все остальное по Мануалу от комрада Gukol Добавлено спустя 5 минут 17 секунд: Почитал инструкцию по созданию модели в СГ-7, ничего не понял... Хотя справедливости ради, такая же инструкция и у Гармина в хелп файле... Нужно что бы кто то разжевал подробности как это сделал Gukol с примерами и картинками. |
Автор: | _Michael_ [ 04 ноя 2012, 09:30 ] |
Заголовок сообщения: | Re: 3D Модели |
Саня, спасибо за описание.. в принципе, все понятно.. надо садиться и пробовать.. когда навител ввел 3д дома, я начинал рисовать, но формат они так и не дали, потом интерес пропал вместе с навителом |
Автор: | _Michael_ [ 04 ноя 2012, 11:26 ] |
Заголовок сообщения: | Re: 3D Модели |
что-то у меня неправильный конструктор нет Region2DXF внимание, вопрос! где взять правильный? |
Автор: | MaxBel [ 06 ноя 2012, 00:10 ] |
Заголовок сообщения: | Re: 3D Модели |
_Michael_ какая у вас версия ? |
Автор: | _Michael_ [ 06 ноя 2012, 05:14 ] |
Заголовок сообщения: | Re: 3D Модели |
340 и потыкал в предыдущей, тот же скрин.. |
Автор: | MaxBel [ 06 ноя 2012, 06:18 ] |
Заголовок сообщения: | Re: 3D Модели |
Последняя 347 на офф форуме. Не найдешь скину на мыло. |
Автор: | _Michael_ [ 06 ноя 2012, 09:33 ] |
Заголовок сообщения: | Re: 3D Модели |
народ, а кто-то вообще делал 3D мондель для СитиГида? кому можно глупые вопросы позадавать? |
Страница 1 из 3 | Часовой пояс: UTC + 2 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |