![]() |
Кировск 3d - карта города
Вложений: 2
Итак я решил вынести на обсуждение свой проект, который, в свою очередь я в свободное от семейных и рабочих забот разрабатываю уже 4-й месяц... Это далеко не финальная версия, это своеобразный шаблонный проект, возможно не сложный для "Гуру", но для меня он товольно труден и интересен.
Вступление. Это - НЕ ИГРА. Это моя попытка применить знания, полученные путем изучения блитца и общения на форумах с грамотными людьми в какую-то законченную форму. Собственно, я пришел к мнению, что изучать языки надо именно через какой-нибудь свой проект, постоянно сталкиваясь с трудностями и успешно (или не очень) их преодолевая.Таким образом я просто физически осознаю - что мой, отнюдь не умнеющий с годами мозг получает хорошую интеллектуальную встряску. И это есть хорошо... О проекте. Зародился он давольно неожиданно даже для меня. После того как я забросил блиц почти на 3 года, растеряв и без того куцые знания, я както наткнулся на одном форуме посвященном разработке сайтов с человеком, чье имя показалось мне знакомым - Serge Petrowski (эх... тот самый Барлог, офигеть!). Пойдя по линкам из его инфы я заинтересовался как там старик Блитц (очень огорчило то, что накрылся старый форум). Ну а там пошло поехало... Сразу захотелось сделать свой варик (блин наверное это болезнь всех новичков =))... Но через пару недель пришлось трезво переоценить свои возможности, и появилась смутная идея что делать... Карта небольшого города... Например такого где я живу. Тем паче что работая в проектно-строительной организации я неплохо разбираюсь в кадах и 3д моделировании в принципе. И понеслась... Итак - 3д карта конкретного города (г. Кировск Ленинградской обл.), с выводом ВСЕХ адресов домов, названий улиц. С визуальный разделением зданий на жилые и промышленные, магазины и административные здания. Поиск по адресам. В потенциале - вывод информации по всем магазинам/организациям и т.п. Впрочем смотрите сами. Ессно, она бесплатная... О планах. В планах - добавить детализацию объектам, добавить текстуры, тени, упрростить и улучшить управление и интерфейс. Добавить информацию по каждому объекту и многое другое. Пожалуйста, скажите что бы ВЫ сами бы хотели. Естественно, проект слабо предназначен для контингента людей, живущих за пределами города Кировска, Ленинградской области, но все же думаю что в определенном плане он возможно заинтерисует вас. Вывод Спасибо большое форуму булеан, и блиц.пп за порой жесткие, но грамотные комментарии и ответы. Надеюсь на Вашу помошь и далее. Отдельная благодарность Холиделу - который "вел" меня все начало проекта. Пожалуйста, напишите Ваши отзывы и предложения - обещшаю присмотреться к Вашему мнению. Этой мой первый столь "трудоемкий" проект - хотелось бы понять его и свой потенциал. |
Re: Кировск 3d - карта города
ЗЫ. управление -
w,a,s,d или курсоры + q,e (стрейф). Маусскрол - выше/ниже. Пробел - поиск. f1 - скриншот |
Re: Кировск 3d - карта города
А что, прикольно
![]() |
Re: Кировск 3d - карта города
Цитата:
|
Re: Кировск 3d - карта города
Автор так извинялся за "первопроЭктность" разработки, что я внутренне настроился на нечто условно работоспособное и на вид среднее между плохим и ужасным.
Потому нечуждая спецэффектам и дизайну картинка, мягкое управление камерой и приятная цветовая гамма стали весьма приятным сюрпризом. Выглядит всё вполне достойно. Общие принципы управления также вполне сбалансированы, понимаются нараз и ИМХО вполне удобны. Багов замечено немного, и они некритические. 1. Первый- это пресловутая очепятка в лаунчере. 2. Далее, сразу после запуска камера у меня "вьезжала" в реющий над городом баннер. Обрезки полигонов на вьюпорте смотрятся не очень. При запуске нужно бы размещать камеру подальше. А чтоб избежать "пролёта" сквозь баннер- плавно скрывать его при приближении, к примеру АвтоФейдом. 3. При движении назад и "стрейфе", камера поворачивается по ходу движения. А закончив движение- норовит снова повернуться к прежней стороне света. Эти ёё рывки заставляют мгновенно потерять ориентацию в пространстве. "Нет уж, барин! Стрейф, так стрейф!" искаж.(с) 4. При "наборе высоты" ИМХО разумно повернуть камеру вниз. Этот классический приём во-первых позволит пользователю выбирать удобный ракурс, а во-вторых при полёте на пределе высоты сейчас видно многовато неба и маловато города. 5. Поднимаемся на максимум, кликаем по любому домику... камера радостно летит к нему, теряет домик из виду, ибо находится слишком высоко и начинает дёргаться в панике, безуспешно пытаясь вновь его отыскать. ) 6. Кликаем по синему обелиску в центре города (ул.Новая). Камера в ужасе улетает за город и впечатывается в скайсферу. Оторвать ёё оттуда довольно проблемматично.) 7. В правом-нижнем углу что-то происходит. Кажется, это миникамера с облётом выбранного обьекта. ИМХО- лишнее. Тем более, она закрывает собой какой-то логотип. Единственным замеченным обьективным недостатком программы является ёё невысокая производительность. На 1024х768х32, мой ноут 1400МГц / 1Гб / встроенный Радий-9000 ИГП выдавал от 15 до 30 ФПС. Склонившись перед спецификой Блица можно было бы повысить производительность раза в два: -Уменьшить количество активных обьектов в сцене (отслеживать клик не по дому, а по координатам точки/узла/квадрата/фигуры на карте) -Если планируется работа с бОльшими городами- использовать отсечения невидимых районов. -Отказаться от прорисовки 2Д: желательно перейти к 2Д-через-3Д. -Если используется больше одной камеры (миниэкран облёта следан камерой или копированием модельки?)- убрать все, кроме одной. -Если для отражений используется миррор- заменить его прозрачным плейном и вытянуть домики вниз... P.S. Ессно, я не императивлю. Всё вышесказанное- моё ИМХО. Причём, не сочти за критиканство: проделана большая работа, причём конечный продукт выглядит законченным и достойным. Работа оказалась 100% не дурной. А мелкие шероховатости не трудно загладить. |
Re: Кировск 3d - карта города
Спасибо.. Я вообще-то довольно сильно переживал за то что меня сейчас будут рвать как грелку. =)
А вообще спасибо за багхантинг и рац. предложения - сам уже себя исчерпал - так что за хорошие идеи буду "плюсовать" не щадя живота. Собственно идея с автоблендом - гениальна (честно даже мысли такой небыло).. так и сделаю С опусканием камеры тоже все понятно - простой ход, но действительно будет лучше. По поводу стрейфа - мой косяк. При выделении объекта камера "едет" к нему - но на любую управляющую кнопку движение "сбрасывается... Только вот про кнопки стрейфа я забыл - сделаю, спс. С "обелиском" (ГСМ вышка) - тоже мне понятно - просто карта (новые дома, элементы, улици) наполняется параллельно с проектом - и я часто всегда забываю добавлять работу с новыми объектами в код. В идеале хочу выработать определенный формат подзагружаемой карты и объектов из внешнего файла - это сразу позволит добавлять любому человеку свои города. Ну это конечно теория. По поводу скорости... если честно я никак не могу разобраться с фастимедж библиотечкой, на сколько я понял - она лучший вариант... Цитата:
Хотел сделать тень (нединам. хотя бю), но знаний пока не хватает. Как и текстурированием домов (я еще не научился работать ни с типами). Ну короче будет чем занять себя на выходных. А вообще, самое трудное - это ездить по городу и записывать все адреса - я месяц как проклятый вечерами ходил на прогулку. Потом стало проще - появлось комьюнити в локалке - оно активно помогает и поддерживает меня =) ЗЫ. ПРодукт не конечный... до версии 1.0 уйма еще времени и нервов =)) |
Re: Кировск 3d - карта города
Молодец!
Мне нравится! Тока тормозит у мну сильно, это конечно понятно (GeForce2 и в аврике GeForce2), но все же неприятно. 4 ФПС всего. Diplomat перечислил (по моему все) моменты которые можно использовать для повышения производительности. Жду новых версий. |
Re: Кировск 3d - карта города
ПРикольно1 ещеб простенькие текстурки (чтоб на дома было похоже) и можно прям по городу "погулять" не приезжая к вам в гости...
почемуто когда тыкаеш на зеленые объекты (типо парки) камера к ним не приезжает как к домам а протсто в одну и туже точку возвращаются -может пивот в максе не в ценртре? а так очень понравилось! |
Re: Кировск 3d - карта города
Такс, уравление ПОЛНОстью пофиксено..
1. вопрос остался, Я вот все же "превьюху" модели хочу доделать - но т.к. модели разного размера - может кто посоветует как их засовывать/масштабировать что бы они не вылазили за пределы окна минипревью? Камеру отодвигать? или можеть кто функцию писал? Цитата:
- Некоторые объекты действитльно не имеют нормальных координат, все потихоньку фиксится. - Некоторые объекты еще не имеют описания - жто тоже фиксится. - завтра постараюсь выложить новый экзешник (дабы не катать опять 2 мб) |
Re: Кировск 3d - карта города
Вложений: 2
екзешник без пака (rar, 500 кб)
Пофиксил - косяки с управлением (вроде все) - полупрозрачность баннеру добавлена... |
Re: Кировск 3d - карта города
Можно масштабировать их всех пропорционально на заданный размер, я как-то писал эту функцию, вот попробую её сдесь в броузере:
[blitz]Function ResizeMesh(Mesh,w#,h#,d#,proporcional=0) mw#=MeshWidth(Mesh) mh#=MeshHeight(Mesh) md#=MeshDepth(Mesh) Select proporcional Case 1 ScaleMesh Mesh,mw/w,mw/w,mw/w Case 2 ScaleMesh Mesh,mh/h,mh/h,mh/h Case 3 ScaleMesh Mesh,md/d,md/d,md/d Default ScaleMesh Mesh,mw/w,mh/h,md/d End Select End Function[/blitz] Надеюсь всё правельно. ResizeMesh(Мэшь,Ширина,Высота,Длина,Пропорциональн о(если 0 то нет, или же, если 1 то по ширине, 2 по высоте, 3 по длине)) Просто задаём размер, например если у тебя 1 единица = 1 метр, то зная размеры здания, ты просто можешь их задать, и мэшь отмаштабируется в нужный размер. Внимание функция неправильна! В 14 посте исправлена (в аттаче) |
Re: Кировск 3d - карта города
Спасибо! Попробую - отпишусь!
|
Re: Кировск 3d - карта города
|
Re: Кировск 3d - карта города
Цитата:
Много всяких перепробовал остановился на классическом Терабит Датапакер. В принципе, найти его и получить информацию о нем легко - но все же: Поддерживает шифрование, пакование в exe и т.п. Работает шустро - темповый каталог можно указывать самому. Инициализируется легко 3 строчки Код:
PakOutputDir "" ; This can be set anywhere, a good example would be "C:\" Для пущей надежности теоретически возможных свих дальнейших проектов коммерческой направленности попытался развить эту тему - http://www.boolean.name/showthread.php?t=3129 (Если вдруг все-таки ктото решит сделать "подменяемые ресурсы" - поделитесь сорцами, ок?) ЗЫ. MoKa, вопрос по превьюхе и данному тобою сорце. Для начала, как у меня сделано - если выбираем модель, то копируем ее во вторую камеру. ПРименив твой код - у меня масштабируется оригинал... попробую набросать код: Код:
Graphics3D 640,480,16,2 Вопрос к профессионалам - что я делаю не так? =)) Ведь не может же работа с "копиентитированным" обектов влиять на оригинал, так? |
Re: Кировск 3d - карта города
Вот я поправил код, да и в функции были ошибки.
Странно, только сейчас понял, оказывается, если копировать энтити, и применять операции к копированному мэшу, то и к источнику они применятся тоже, как-будто привязаны друг к другу, пытался убрать Пивот, ничего не помогло =). Выходит копируя энтити, мы не создаём новый мэшь, а как-бы рендерим с другими свойствами энтити тот же мэшь? :dontknow: :) |
Часовой пояс GMT +4, время: 15:02. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot