Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Проекты > Проекты на Blitz3D

Проекты на Blitz3D Обсуждение будущих проектов, демок, набор команды и т.п.

Ответ
 
Опции темы
Старый 16.03.2007, 12:12   #1
Chuma
ПроЭктировщик
 
Регистрация: 23.11.2006
Сообщений: 130
Написано 3 полезных сообщений
(для 35 пользователей)
Кировск 3d - карта города

Итак я решил вынести на обсуждение свой проект, который, в свою очередь я в свободное от семейных и рабочих забот разрабатываю уже 4-й месяц... Это далеко не финальная версия, это своеобразный шаблонный проект, возможно не сложный для "Гуру", но для меня он товольно труден и интересен.

Вступление.
Это - НЕ ИГРА. Это моя попытка применить знания, полученные путем изучения блитца и общения на форумах с грамотными людьми в какую-то законченную форму. Собственно, я пришел к мнению, что изучать языки надо именно через какой-нибудь свой проект, постоянно сталкиваясь с трудностями и успешно (или не очень) их преодолевая.Таким образом я просто физически осознаю - что мой, отнюдь не умнеющий с годами мозг получает хорошую интеллектуальную встряску. И это есть хорошо...

О проекте.
Зародился он давольно неожиданно даже для меня. После того как я забросил блиц почти на 3 года, растеряв и без того куцые знания, я както наткнулся на одном форуме посвященном разработке сайтов с человеком, чье имя показалось мне знакомым - Serge Petrowski (эх... тот самый Барлог, офигеть!). Пойдя по линкам из его инфы я заинтересовался как там старик Блитц (очень огорчило то, что накрылся старый форум). Ну а там пошло поехало...
Сразу захотелось сделать свой варик (блин наверное это болезнь всех новичков =))... Но через пару недель пришлось трезво переоценить свои возможности, и появилась смутная идея что делать... Карта небольшого города... Например такого где я живу. Тем паче что работая в проектно-строительной организации я неплохо разбираюсь в кадах и 3д моделировании в принципе.
И понеслась...

Итак - 3д карта конкретного города (г. Кировск Ленинградской обл.), с выводом ВСЕХ адресов домов, названий улиц. С визуальный разделением зданий на жилые и промышленные, магазины и административные здания. Поиск по адресам. В потенциале - вывод информации по всем магазинам/организациям и т.п. Впрочем смотрите сами.

Ессно, она бесплатная...
О планах.
В планах - добавить детализацию объектам, добавить текстуры, тени, упрростить и улучшить управление и интерфейс. Добавить информацию по каждому объекту и многое другое. Пожалуйста, скажите что бы ВЫ сами бы хотели. Естественно, проект слабо предназначен для контингента людей, живущих за пределами города Кировска, Ленинградской области, но все же думаю что в определенном плане он возможно заинтерисует вас.


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

Пожалуйста, напишите Ваши отзывы и предложения - обещшаю присмотреться к Вашему мнению. Этой мой первый столь "трудоемкий" проект - хотелось бы понять его и свой потенциал.
(Offline)
 
Ответить с цитированием
Старый 16.03.2007, 12:32   #2
Chuma
ПроЭктировщик
 
Регистрация: 23.11.2006
Сообщений: 130
Написано 3 полезных сообщений
(для 35 пользователей)
Re: Кировск 3d - карта города

ЗЫ. управление -
w,a,s,d или курсоры + q,e (стрейф). Маусскрол - выше/ниже.
Пробел - поиск.
f1 - скриншот
(Offline)
 
Ответить с цитированием
Старый 16.03.2007, 13:01   #3
Chrono Syndrome
 
Сообщений: n/a
Re: Кировск 3d - карта города

А что, прикольно .
 
Ответить с цитированием
Старый 16.03.2007, 13:07   #4
Chuma
ПроЭктировщик
 
Регистрация: 23.11.2006
Сообщений: 130
Написано 3 полезных сообщений
(для 35 пользователей)
Re: Кировск 3d - карта города

Сообщение от Chrono Syndrome
А что, прикольно . Только, это, небольшое замечание:
шИТ... исправлю ессно.
(Offline)
 
Ответить с цитированием
Старый 16.03.2007, 14:28   #5
Diplomat
Дэвелопер
 
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений
(для 164 пользователей)
Re: Кировск 3d - карта города

Автор так извинялся за "первопроЭктность" разработки, что я внутренне настроился на нечто условно работоспособное и на вид среднее между плохим и ужасным.

Потому нечуждая спецэффектам и дизайну картинка, мягкое управление камерой и приятная цветовая гамма стали весьма приятным сюрпризом.
Выглядит всё вполне достойно.
Общие принципы управления также вполне сбалансированы, понимаются нараз и ИМХО вполне удобны.

Багов замечено немного, и они некритические.
1. Первый- это пресловутая очепятка в лаунчере.
2. Далее, сразу после запуска камера у меня "вьезжала" в реющий над городом баннер. Обрезки полигонов на вьюпорте смотрятся не очень. При запуске нужно бы размещать камеру подальше. А чтоб избежать "пролёта" сквозь баннер- плавно скрывать его при приближении, к примеру АвтоФейдом.
3. При движении назад и "стрейфе", камера поворачивается по ходу движения. А закончив движение- норовит снова повернуться к прежней стороне света. Эти ёё рывки заставляют мгновенно потерять ориентацию в пространстве. "Нет уж, барин! Стрейф, так стрейф!" искаж.(с)
4. При "наборе высоты" ИМХО разумно повернуть камеру вниз. Этот классический приём во-первых позволит пользователю выбирать удобный ракурс, а во-вторых при полёте на пределе высоты сейчас видно многовато неба и маловато города.
5. Поднимаемся на максимум, кликаем по любому домику... камера радостно летит к нему, теряет домик из виду, ибо находится слишком высоко и начинает дёргаться в панике, безуспешно пытаясь вновь его отыскать. )
6. Кликаем по синему обелиску в центре города (ул.Новая). Камера в ужасе улетает за город и впечатывается в скайсферу. Оторвать ёё оттуда довольно проблемматично.)
7. В правом-нижнем углу что-то происходит. Кажется, это миникамера с облётом выбранного обьекта. ИМХО- лишнее. Тем более, она закрывает собой какой-то логотип.

Единственным замеченным обьективным недостатком программы является ёё невысокая производительность. На 1024х768х32, мой ноут 1400МГц / 1Гб / встроенный Радий-9000 ИГП выдавал от 15 до 30 ФПС.
Склонившись перед спецификой Блица можно было бы повысить производительность раза в два:
-Уменьшить количество активных обьектов в сцене (отслеживать клик не по дому, а по координатам точки/узла/квадрата/фигуры на карте)
-Если планируется работа с бОльшими городами- использовать отсечения невидимых районов.
-Отказаться от прорисовки 2Д: желательно перейти к 2Д-через-3Д.
-Если используется больше одной камеры (миниэкран облёта следан камерой или копированием модельки?)- убрать все, кроме одной.
-Если для отражений используется миррор- заменить его прозрачным плейном и вытянуть домики вниз...

P.S. Ессно, я не императивлю. Всё вышесказанное- моё ИМХО. Причём, не сочти за критиканство: проделана большая работа, причём конечный продукт выглядит законченным и достойным. Работа оказалась 100% не дурной. А мелкие шероховатости не трудно загладить.
(Offline)
 
Ответить с цитированием
Старый 16.03.2007, 15:34   #6
Chuma
ПроЭктировщик
 
Регистрация: 23.11.2006
Сообщений: 130
Написано 3 полезных сообщений
(для 35 пользователей)
Re: Кировск 3d - карта города

Спасибо.. Я вообще-то довольно сильно переживал за то что меня сейчас будут рвать как грелку. =)

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

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

По поводу стрейфа - мой косяк. При выделении объекта камера "едет" к нему - но на любую управляющую кнопку движение "сбрасывается... Только вот про кнопки стрейфа я забыл - сделаю, спс.

С "обелиском" (ГСМ вышка) - тоже мне понятно - просто карта (новые дома, элементы, улици) наполняется параллельно с проектом - и я часто всегда забываю добавлять работу с новыми объектами в код. В идеале хочу выработать определенный формат подзагружаемой карты и объектов из внешнего файла - это сразу позволит добавлять любому человеку свои города. Ну это конечно теория.

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

-Если для отражений используется миррор- заменить его прозрачным плейном и вытянуть домики вниз...
Гм, убрать хочу нафик - идея порочна (в принципе кнопка есть) - просто осталась еще со времени работы с несколькими объектами...
Хотел сделать тень (нединам. хотя бю), но знаний пока не хватает. Как и текстурированием домов (я еще не научился работать ни с типами).

Ну короче будет чем занять себя на выходных. А вообще, самое трудное - это ездить по городу и записывать все адреса - я месяц как проклятый вечерами ходил на прогулку. Потом стало проще - появлось комьюнити в локалке - оно активно помогает и поддерживает меня =)

ЗЫ. ПРодукт не конечный... до версии 1.0 уйма еще времени и нервов =))
(Offline)
 
Ответить с цитированием
Старый 16.03.2007, 18:16   #7
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Кировск 3d - карта города

Молодец!
Мне нравится! Тока тормозит у мну сильно, это конечно понятно (GeForce2 и в аврике GeForce2), но все же неприятно. 4 ФПС всего.
Diplomat перечислил (по моему все) моменты которые можно использовать для повышения производительности.
Жду новых версий.
(Offline)
 
Ответить с цитированием
Старый 18.03.2007, 12:43   #8
Horror
Бывалый
 
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений
(для 110 пользователей)
Re: Кировск 3d - карта города

ПРикольно1 ещеб простенькие текстурки (чтоб на дома было похоже) и можно прям по городу "погулять" не приезжая к вам в гости...

почемуто когда тыкаеш на зеленые объекты (типо парки) камера к ним не приезжает как к домам а протсто в одну и туже точку возвращаются
-может пивот в максе не в ценртре? а так очень понравилось!
(Offline)
 
Ответить с цитированием
Старый 18.03.2007, 16:11   #9
Chuma
ПроЭктировщик
 
Регистрация: 23.11.2006
Сообщений: 130
Написано 3 полезных сообщений
(для 35 пользователей)
Re: Кировск 3d - карта города

Такс, уравление ПОЛНОстью пофиксено..
1. вопрос остался, Я вот все же "превьюху" модели хочу доделать - но т.к. модели разного размера - может кто посоветует как их засовывать/масштабировать что бы они не вылазили за пределы окна минипревью? Камеру отодвигать? или можеть кто функцию писал?



ПРикольно1 ещеб простенькие текстурки (чтоб на дома было похоже) и можно прям по городу "погулять" не приезжая к вам в гости...

почемуто когда тыкаеш на зеленые объекты (типо парки) камера к ним не приезжает как к домам а протсто в одну и туже точку возвращаются
-может пивот в максе не в ценртре? а так очень понравилось!
Спасибо, Ваши отзывы, Господа очень поднимают мой (а)моральный дух!
- Некоторые объекты действитльно не имеют нормальных координат, все потихоньку фиксится.
- Некоторые объекты еще не имеют описания - жто тоже фиксится.
- завтра постараюсь выложить новый экзешник (дабы не катать опять 2 мб)
(Offline)
 
Ответить с цитированием
Старый 19.03.2007, 16:30   #10
Chuma
ПроЭктировщик
 
Регистрация: 23.11.2006
Сообщений: 130
Написано 3 полезных сообщений
(для 35 пользователей)
Re: Кировск 3d - карта города

екзешник без пака (rar, 500 кб)

Пофиксил
- косяки с управлением (вроде все)
- полупрозрачность баннеру добавлена...
(Offline)
 
Ответить с цитированием
Старый 20.03.2007, 01:48   #11
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
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 посте исправлена (в аттаче)
(Offline)
 
Ответить с цитированием
Старый 20.03.2007, 11:51   #12
Chuma
ПроЭктировщик
 
Регистрация: 23.11.2006
Сообщений: 130
Написано 3 полезных сообщений
(для 35 пользователей)
Re: Кировск 3d - карта города

Спасибо! Попробую - отпишусь!
(Offline)
 
Ответить с цитированием
Старый 21.03.2007, 00:13   #13
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Re: Кировск 3d - карта города

Приношу извенения, что постю сдесь не совсем по теме, но вот относительно хранения ресурсов, вы используете Паки, можно получить об этом информацию? Нужен ли дополнительный софт, какие приемущества этого видахранения, сложно ли вытянуть ресурсы?
(Offline)
 
Ответить с цитированием
Старый 21.03.2007, 12:39   #14
Chuma
ПроЭктировщик
 
Регистрация: 23.11.2006
Сообщений: 130
Написано 3 полезных сообщений
(для 35 пользователей)
Re: Кировск 3d - карта города

Сообщение от MoKa
Приношу извенения, что постю сдесь не совсем по теме, но вот относительно хранения ресурсов, вы используете Паки, можно получить об этом информацию? Нужен ли дополнительный софт, какие приемущества этого видахранения, сложно ли вытянуть ресурсы?
Собственно моя тяга к пакерам связана лишь любовью к "изящности" хранения ресурсов - ненавижу огромные кучи файла посоле инсталляции.

Много всяких перепробовал остановился на классическом Терабит Датапакер. В принципе, найти его и получить информацию о нем легко - но все же:
Поддерживает шифрование, пакование в exe и т.п. Работает шустро - темповый каталог можно указывать самому.
Инициализируется легко 3 строчки

PakOutputDir "" ; This can be set anywhere, a good example would be "C:\"
PakInit "Data.Pak", $********, "TEMP", $*; Cut And Paste this from the GUI PakMaker
PakBulkOverWrite = False ; Set this to True when in Development / False when Released
Из доп файлов - только ГУЕвый пакер и длл (нужны только для пака). На файлах ресурсов размером менее 3 мб я не успеваю отследить появление темпа - что, несомненно, позитивно...
Для пущей надежности теоретически возможных свих дальнейших проектов коммерческой направленности попытался развить эту тему - http://www.boolean.name/showthread.php?t=3129 (Если вдруг все-таки ктото решит сделать "подменяемые ресурсы" - поделитесь сорцами, ок?)

ЗЫ. MoKa, вопрос по превьюхе и данному тобою сорце.
Для начала, как у меня сделано - если выбираем модель, то копируем ее во вторую камеру. ПРименив твой код - у меня масштабируется оригинал... попробую набросать код:
Graphics3D 640,480,16,2
cam=CreateCamera()
cam2=CreateCamera()
PositionEntity cam2,0,-99950,0
CameraViewport cam2,GraphicsWidth()-100,GraphicsHeight()-100,100,100
CameraClsColor cam2,150,150,150

l=CreateLight()
sp =CreateCube()
PositionEntity sp,0,0,20


EntityPickMode sp,2
Repeat
If MouseHit(1)
       ent=CameraPick(cam,MouseX(),MouseY())
        If ent name$=EntityName(sp)
                    If showmodel=0 Then name$=EntityName(sp):showmodel=CopyEntity(sp):

Else
If showmodel<>0 Then FreeEntity showmodel:showmodel=0:
               EndIf
		UpdateWorld

		If showmodel=0
CameraProjMode cam2,0

Else

CameraProjMode cam2,1
PositionEntity showmodel,-100,-100000,0
TurnEntity showmodel,0,-1,0
EntityAlpha showmodel,0.2
PointEntity cam2,showmodel
ResizeMesh(showmodel,1,1,1,proporcional=0)
EndIf
	
	
	RenderWorld tween
	Flip

Forever


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
Вроде должен работать... (блитца под рукой нет - подрехтовал какойто исходник в браузере)
Вопрос к профессионалам - что я делаю не так? =)) Ведь не может же работа с "копиентитированным" обектов влиять на оригинал, так?
(Offline)
 
Ответить с цитированием
Старый 21.03.2007, 22:52   #15
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Re: Кировск 3d - карта города

Вот я поправил код, да и в функции были ошибки.
Странно, только сейчас понял, оказывается, если копировать энтити, и применять операции к копированному мэшу, то и к источнику они применятся тоже, как-будто привязаны друг к другу, пытался убрать Пивот, ничего не помогло =). Выходит копируя энтити, мы не создаём новый мэшь, а как-бы рендерим с другими свойствами энтити тот же мэшь?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
тайловая карта Atomikc 2D-программирование 1 15.08.2009 01:38
Карта высот GomZik 3D-программирование 13 20.11.2007 16:01
Карта проходимости IGR 3D-программирование 5 11.09.2007 12:58


Часовой пояс GMT +4, время: 12:16.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com