|
3D-программирование Вопросы, касающиеся программирования 3D мира |
01.06.2007, 21:14
|
#1
|
Оператор ЭВМ
Регистрация: 17.07.2006
Сообщений: 37
Написано 2 полезных сообщений (для 0 пользователей)
|
БА-АЛЬШАЯ проблема с RenderWorld или как заставить Блитц визуализировать 60 Мб
Комедия, собственно говоря, началась с идеи заделать высокодетализированную модель двух комнат дома с максимально реалистичным текстурированием и просчитанными лайтмапами (мне больше нравится называть их "картами теней"). Делать все самому, конечно, не хотелось, поэтому набрал в Нете кучу 3DMax-овских сцен, объединил их и добавил кое-что свое (шкаф и некоторые другие части интерьера делал сам . После оттекстурировал в том же Max-е и поставил все это дело на просчет ЛМапа в Gile[s] (кстати, этот говнюк до сих пор считает, хотя прошло уже 2 дня. Сделал всего 23 процента. Ноутбук: 1700 Atlon 512 RAM 64 Mb Intel Crystal Byte 3D )
Получилось вот что:
Вложение 3743 Вложение 3744 Вложение 3745 Вложение 3746 Вложение 3747
. Потом, ожидая окончание просчета, решил посмотреть, как это будет выглядеть в Блитце.
(Стационарный комп: 950 Atlon 640 Mb RAM 128 Mb NVidia GeForce FX 5700)
Написал простенький шаблончик:
;-------------------------------------------------------------------------
Graphics3D 640,480,32,1 ;Такое говеное разрешение поставил после первых неудач
SetBuffer BackBuffer()
;Dither False
;AntiAlias False
;HWMultiTex False ;А все это добавил, надеясь, что не справляется видюшка или что-то вроде того
cam=CreateCamera()
PositionEntity cam,0,0,0
lit=CreateLight()
PositionEntity lit,0,0,0
;Print "Доступно видеопамяти, байт: " + AvailVidMem() ;Это на всякий случай
mesh=LoadMesh("room.x"); Валяется в архиве.
PositionEntity mesh,0,0,0
While Not KeyHit (1)
If KeyDown(200) MoveEntity cam,0,0,1
If KeyDown(20 MoveEntity cam,0,0,-1
If KeyDown(203) TurnEntity cam,0,1,0
If KeyDown(205) TurnEntity cam,0,-1,0
;UpdateWorld ;К чертям коллизии. Их пока быть не должно.
RenderWorld
Text 0,20,"Triangles Rendered: "+TrisRendered()
Text 0,20,"Доступно видеопамяти, байт: " + AvailVidMem()
Flip
Wend
End
;-------------------------------------------------------------------------
Но, даже при всяких там уменьшениях разрешения, отмены мультитекстурирования (в модели на большинстве объектов 2 слоя текстур), когда прога доходит до RenderWorld, все благополучно вылетает с веселым криком: "Memory access violation" . Обиделся, тупо грохнул некоторые меши модели (не выбирал), конвертировав Deep Exploration-ом x в 3ds, запустил - заработало. НО Я ТО ХОЧУ ПОЛНУЮ МОДЕЛЬКУ ЗАГРУЗИТЬ!
Мораль комедии: Блитц (как и Dark Basic и Xtreme3D 2 версии) не может визуализировать более 700 (примерно) мешей, 200-300 из которых довольно сложны (туповато сказал как-то .
НО ВСЯ ФИГНЯ В ТОМ, ЧТО Gile[s] тоже написан на Блитце, но, тем не менее, прекрасно прогружает модельку ПОЛНОСТЬЮ (правда долго). Скрины деланы имено из его окна. Мож быть кто подскажет как товарищ Mikkel Fredborg заставил Блитц визуализировать такие большие объекты??? Или как можно запустить в Блитце визуализацию такой громадины (= 49 Мб x файл или 9 Мб b3d + 13 Мб текстур).
P.S. Народ! Помогите, плиз-з-з...
P.S. P.S. Фу, блин, целое сочинение написал...
|
(Offline)
|
|
01.06.2007, 21:28
|
#2
|
Знающий
Регистрация: 12.07.2006
Сообщений: 283
Написано 16 полезных сообщений (для 32 пользователей)
|
Re: БА-АЛЬШАЯ проблема с RenderWorld или как заставить Блитц визуализировать 60 Мб
Дык вроде ДХ не держит модели больше чем 60к поли в одном меше. Поэтому наврено МАВ. Попробуй кусками загрузить
|
(Offline)
|
|
01.06.2007, 21:45
|
#3
|
Бывалый
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений (для 110 пользователей)
|
Re: БА-АЛЬШАЯ проблема с RenderWorld или как заставить Блитц визуализировать 60 Мб
И почему бы не сгенерировать КАРТЫ ТЕНЕЙ в самом максе?
раз в той проге так долго?
вот статейка кстати)
http://hiromych.narod.ru/Blitz/artic...z_lightmap.htm
|
(Offline)
|
|
01.06.2007, 23:41
|
#4
|
Дэвелопер
Регистрация: 19.03.2006
Сообщений: 1,241
Написано 10 полезных сообщений (для 17 пользователей)
|
Re: БА-АЛЬШАЯ проблема с RenderWorld или как заставить Блитц визуализировать 60 Мб
Ну ты чувак расписал!=))))
Не ну я понимаю что охота Baza=LoadMesh("01.b3d") и проехали, но не с такими файлами точнее размерами файлов!!!
1- делиш все комнаты на части(или помещения на комнаты, хз. скока у тебя там полегонов), короче чтобы каждый кусок был не больше 30 000 поликов!!!
2- загружаеш все по отдельности,
3- так как у тебя большого размера помещения, ну всмысле многополегонные то- прячеш комноты которые невидемы(сам блиц за тебя этого делать небудет)
Ну и все впринцепи!
|
(Offline)
|
|
02.06.2007, 00:30
|
#5
|
Дэвелопер
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений (для 164 пользователей)
|
Re: БА-АЛЬШАЯ проблема с RenderWorld или как заставить Блитц визуализировать 60 Мб
Хинт: "детач" обьектов в Мах-е и LoadAnimMesh в Блице спасёт отца русской демократии.
|
(Offline)
|
|
02.06.2007, 04:07
|
#6
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: БА-АЛЬШАЯ проблема с RenderWorld или как заставить Блитц визуализировать 60 Мб
Дык вроде ДХ не держит модели больше чем 60к поли в одном меше
|
Разве? Возможно 7 и столько, но 9 точно больше.
|
(Offline)
|
|
02.06.2007, 05:57
|
#7
|
Знающий
Регистрация: 04.08.2006
Адрес: Россия
Сообщений: 297
Написано 39 полезных сообщений (для 70 пользователей)
|
Re: БА-АЛЬШАЯ проблема с RenderWorld или как заставить Блитц визуализировать 60 Мб
Для начала - Блицевские сурфейсы не должны содержать больше 32767 полигонов или вертексов, запомни это.
НО ВСЯ ФИГНЯ В ТОМ, ЧТО Gile[s] тоже написан на Блитце
|
Кто тебе такое сказал? Gile[s] написан на PureBasic, Блиц здесь вообще не причем.
Мораль комедии: Блитц (как и Dark Basic и Xtreme3D 2 версии) не может визуализировать более 700 (примерно) мешей, 200-300 из которых довольно сложны (туповато сказал как-то .
|
Действительно "туповато". Кол-во мешей роли не играет.
Так что разбивай свою модель на сурфейсы так, чтобы кол-во треугольников и вертексов в них были ограничены вышеприведенной цифрой.
Зы
И DirectX тут тоже не причем.
|
(Offline)
|
|
02.06.2007, 10:30
|
#8
|
|
Re: БА-АЛЬШАЯ проблема с RenderWorld или как заставить Блитц визуализировать 60 Мб
Cyan
кто тебе сказал что Gile[s] написан на PureBasic'е ?
ps. с етим надо разобратся раз и навсегда
|
|
|
02.06.2007, 11:11
|
#9
|
Знающий
Регистрация: 04.08.2006
Адрес: Россия
Сообщений: 297
Написано 39 полезных сообщений (для 70 пользователей)
|
Re: БА-АЛЬШАЯ проблема с RenderWorld или как заставить Блитц визуализировать 60 Мб
Cyan
кто тебе сказал что Gile[s] написан на PureBasic'е ?
|
Да действительно, оказываецца он на Блице написан, но не без помощи PureBasic Сорри за дезинформацию
Я просто видел там в SDK сорцы на Пурике, и плагины к нему на Пурике пишут, вот и подумал
|
(Offline)
|
|
02.06.2007, 15:51
|
#10
|
Оператор ЭВМ
Регистрация: 17.07.2006
Сообщений: 37
Написано 2 полезных сообщений (для 0 пользователей)
|
Re: БА-АЛЬШАЯ проблема с RenderWorld или как заставить Блитц визуализировать 60 Мб
А как с лайтмапами быть? Я не хочу закрывать Gile[s] (хотя эта редиска уже 3 день работает, а пока лишь 31 проц. ).
Gile[s] поставил паковать лайтмапы для нескольких материалов сразу, то есть для дисков на полке будет тот же лайтмап, что и для оснований колоны.
Так как же мне потом подобрать расположение текстуры лайтмапа на объекте? и, кроме того, не получится ли, что текстура лайтмапа загрузится дофига раз (для каждого из объектов). Каждый ЛМап - .png файл 1024х1024 размером (монохромный) => = примерно 3,60 Мб.
|
(Offline)
|
|
02.06.2007, 20:27
|
#11
|
Дэвелопер
Регистрация: 19.03.2006
Сообщений: 1,241
Написано 10 полезных сообщений (для 17 пользователей)
|
Re: БА-АЛЬШАЯ проблема с RenderWorld или как заставить Блитц визуализировать 60 Мб
Эх... ну тф даеш!!! тебе осталась 7 дней
Непарился бы!, настроел в максе и получил бы то что хотел(сверовно в игре бедет терятся качестрво)
А если ты против, тогда мне жутко интересно что-же ты получиш в конечном счете
|
(Offline)
|
|
02.06.2007, 22:46
|
#12
|
Бывалый
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений (для 110 пользователей)
|
Re: БА-АЛЬШАЯ проблема с RenderWorld или как заставить Блитц визуализировать 60 Мб
уж очень интересно зачем ты это делаешь?
игра я думую врятли получится
да и скринсервер тоже врятли))
ну так зачем?
|
(Offline)
|
|
03.06.2007, 04:19
|
#13
|
Оператор ЭВМ
Регистрация: 17.07.2006
Сообщений: 37
Написано 2 полезных сообщений (для 0 пользователей)
|
Re: БА-АЛЬШАЯ проблема с RenderWorld или как заставить Блитц визуализировать 60 Мб
Это будет диск с "Виртуальной бЫблиотекой истории Краснодарского края". Ну... Или что-то вроде того... Одно только хреново - то что статейки (даже можно сказать презентации. Ох ты мой гадкий ПоВЕР ПоиНТ... Эту хрень надо будет еще потом перегонять в Блитц. Бр-р-р) пишут школьники. Мдя... высоко сказано... сам недавно таким был, а ужО "школьники" .
Можно будет походить по 2 комнатам: читальне и картинной комнате. Можно сделать свободный полет с коллизией и фиксированные движения камеры, которые необходимы, как два режима? Или нафиг выкинуть чертов свободный полет ... Но тогда нельзя будет увидеть всей красоты комнаток. Вобщем пока не знаю. Кстати, насчет красоты, - скрины из Gile[s], конечно, плохого качеСТва (я ж их подсжал малек), но вообще из сам вид модельки из окна редактора обалденный. А графика движка Gile[s] - графика Блитца. А еще можно потом забахать версию из под Knightmar-овского b3d_dx9. Офигеннейщая веСЧь, скажу вам. Особенно если компилить Блитц Плюсом (нет галимого черного окна пустой недосозданной графики обыцного Блитца).
Бр-р-р что-то я отвлекся. Вообщем читание статеек будет оформлено так:
Камера подлетает к книжке с текстурой пустой страницы ровненько сверху. Потом поверх RenderWorld-a кидаем картинки и пишем текст, чтобы походило на то, как бы ЕНто все написано на страницах. Если нужно перевернуть страницу, то все благополучно исчезает, потом проигрывается анимация переворачивающейся странички, и все следующее возникает таким же образом после. Отличный пример такого эффекта - меню "Bard`s tale", если кто играл.
В комнате с картинами после подлета, вылетает менюшка с подписью и краткой инфой.
Вообщем, короче, если рожу, - дам посмотреть. Правда размерчик этой радости будет приличный. Для меня енто не проблема - Нет почти белимитный, на failoobmen-е места хватит, но качать, конечно будет стремно. Ежли что, можно подразбавить скринами...
P.S. Бр-р Чертовы 34 процента! Весь день висит, ничего не прибавилось. А-а-а! За-а-а-адолбался!!! Попробую второй комп загрузить 3Dmax-овским рассчетом. Мдя... Хреново, братцы...
|
(Offline)
|
|
03.06.2007, 09:00
|
#14
|
|
Re: БА-АЛЬШАЯ проблема с RenderWorld или как заставить Блитц визуализировать 60 Мб
3Д макс такую лайтмапу сгенерит максимум за 1 минуту.....выкидывай на свалку этот Гайлс.....
|
|
|
03.06.2007, 09:21
|
#15
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: БА-АЛЬШАЯ проблема с RenderWorld или как заставить Блитц визуализировать 60 Мб
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:30.
|