HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Страницы (184): « Первая ... « 180 181 182 183 [184]   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 30744
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
Что такое матрица смежности и как она решает эту проблему?

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

Цитата:
Crystallize писал:
Может в пэйнте нарисуешь чтоб мы поняли?


Фиолетовые стороны - это задние стороны браша. Чтобы из разрозненных фейсов гарантированно сконструировать браш, надо не менее четырёх.
Можно конечно и меньше, но его потенциально может раздуть на полкарты.
Идеальный случай, когда мы можем задетектировать планарные дыры в браше. А не одну вогнутую дыру. А для этого надо именно не меньше четырёх сторон. Далее. Стороны подбираются по общим рёбрам. Не по коллинеарным, а именно по общим! Теперь смотрим на картинку.
Красный фейс когда-то тоже был брашем, но дерево его уничтожило, оставив только один фейс. На уровне мержилки фейсов, красный и зелёный логично объединить в один. Но тогда браш - уже не соберётся никаким образом. Мог бы собраться один браш из фиолетовых и зелёной стороны и ещё один - из красной.
А если смержить красную и зеленую стороны, вместо этого получится пять брашей, созданных из фейсов, надеюсь теперь понятно.

[ Вложение ]
brush.png

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 214501

Старое сообщение вчера 08:05
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 11641
Возраст: 31

Рейтинг



Кстати, а как работает сорсовский декомпил? Он строит браши на порядок качественнее чем голдсорсовский.

Цитата:
Дядя Миша писал:
Для NT я мог бы вообще дропнуть весь уровень в единую модель и так скомпилить. Но ето неспортивно.


Кстати интересно, насколько реально применять к вкомпиливыемым моделькам CSG операции? Например вот торчит ящик из под земли, нижние грани находятся снаружи уровня, реально их обрезать?

Добавлено вчера в 11:27:

Цитата:
Дядя Миша писал:
надеюсь теперь понятно.


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

__________________
Иван Топорышкин пошел на охоту,
С ним пудель пошел, перепрыгнув забор,
Иван, как бревно провалился в болото,
А пудель в реке утонул, как топор.

Отредактировано FiEctro вчера в 08:25

Сообщить модератору | | IP: Записан
Сообщение: 214502

Старое сообщение вчера 08:27
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 30744
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
Кстати, а как работает сорсовский декомпил?

Начиная с ку2 в карту сохраняются браши, поэтому там подобной проблемы вообще нет. Даже в первом дууме куда больше информации для точной реконструкции уровня. Речь именно про Q1/HLBSP.

Цитата:
FiEctro писал:
насколько реально применять к вкомпиливыемым моделькам CSG операции?

Реально, но не особо эффективно. CSG лучше всего работает с выпуклыми объемами.

Цитата:
FiEctro писал:
Например вот торчит ящик из под земли, нижние грани находятся снаружи уровня, реально их обрезать?

На полигональном уровне невозможно определить "снаружи и внутри".
Ну то есть принципиального ограничения нет, но оно просто того не стоит.
Ты будешь часами ждать рассчётов, ради удаления десятка тысяч полигонов (из миллиона), которые ни на что не повлияют.

Цитата:
FiEctro писал:
возможно сделать веса типа какие полигоны лучше мержить с другими

Пробовал мультипроходной мержинг - сперва мержим все полигоны, не имеющие форму прямоугольника, затем - только имеющие. Кое-что кое-где конечно исправилось, но это половинчатое решение.
Потому что НЕТ чёткого критерия, что можно друг с другом мержить, а что нельзя. А нет его как раз потому что сурфейсы рассчены как деревом, так и субдивайдером лайтмапы. Поди отличи одно от другого.

Добавлено вчера в 11:56:

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

Добавлено вчера в 11:58:

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

Если мне удасться осуществить свою задумку - кол-во таким брашей, созданных из одного сурфейса просто упадёт на какой-то процент, от 10 до 20, но не более того. И это максимум что тут вообще можно сделать.

Добавлено вчера в 11:59:

Альтернатива - создавать гигантский куб и выгрызать дыры в нём.
Дальнейшее редактирование подобного декомпила очень сильно затруднено.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 214503

Старое сообщение вчера 08:59
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 11641
Возраст: 31

Рейтинг



Цитата:
Дядя Миша писал:
Альтернатива - создавать гигантский куб и выгрызать дыры в нём.


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

__________________
Иван Топорышкин пошел на охоту,
С ним пудель пошел, перепрыгнув забор,
Иван, как бревно провалился в болото,
А пудель в реке утонул, как топор.

Отредактировано FiEctro вчера в 09:11

Сообщить модератору | | IP: Записан
Сообщение: 214504

Старое сообщение вчера 09:09
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 30744
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
А если ограничить толщину стенок чтобы они не доходили до границ куба?

ты точно хорошо понимаешь как устроено BSP-дерево? Конкретно в HLBSP.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 214505

Старое сообщение вчера 10:00
-
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 11641
Возраст: 31

Рейтинг



Цитата:
Дядя Миша писал:
ты точно хорошо понимаешь как устроено BSP-дерево? Конкретно в HLBSP.


Так, а смысл от него на этапе декомпиляции? Почему нельзя просто с геометрией работать?

__________________
Иван Топорышкин пошел на охоту,
С ним пудель пошел, перепрыгнув забор,
Иван, как бревно провалился в болото,
А пудель в реке утонул, как топор.

Сообщить модератору | | IP: Записан
Сообщение: 214506

Старое сообщение вчера 11:44
- За что?
 Дядя Миша
who said meow?

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 30744
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
FiEctro писал:
Почему нельзя просто с геометрией работать?

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 214507

Старое сообщение вчера 12:47
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 18:51. Новая тема    Ответить
Страницы (184): « Первая ... « 180 181 182 183 [184]   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashNT: блог разработчика
Часть I
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2023