Да, там этого добра навалом, и в хаммере и в джеке.
Но в джеке детектор отличается от хаммеровского.
Цитата:
thambs писал: vhlt компилит
Так компиляторы же заново браш пересоздают, он при этом геометрию немного меняет.
Цитата:
thambs писал: напишешь, в чём суть бага была?
Именно проблема точности. Джек держит размеры карты до 262144 юнитов, а число 262144.01, например, это уже на грани точности флоата. Т.к. у хаммера лимит 8192 (в хл2 - 65536), то таких явных проблем с точностью нет.
Я сделал альтернативный код для геометрических операций, использующий double. Для операций, связанных с рендером (например, превью клип-тула) остались флоаты, но там точность не принципиальна.
thambs писал: пофикси создание трубы с нулевым внутренним радиусом -- она всегда создаётся инвалидной, надо бы проверку сделать.
Да, там косяк небольшой, спасибо что заметил. Исправил.
Добавлено 30-12-2013 в 00:17:
Цитата:
thambs писал: а ты не встречал, что бы координаты хранили как int4+float? я просто вспоминаю размеры карты в fallout newvegas...
Да способов хранения координат можно придумать много, те же double, которые на соверменных процах ничуть не медленнее флоатов. Но в играх обычно высокая точность не нужна, подумаешь, сдвиг даже на пол-юнита. Редактор и вообще CSG-операции - другое дело.
>Да, там косяк небольшой, спасибо что заметил. Исправил.
там ещё один момент с самим меню создания:
*не даёт ввести ширину больше чем радиус, лучше бы он как в хаммере если ширина больше или равна радиусу то он бы их приравнивал -- иначе неудобно каждый раз считать что туда ввести, вместо того, что бы просто написать 9999999, ну или кнопку отдельную сделать.
*нельзя дробное число ввести, не критично, но, в некоторых случаях может пригодиться.
thambs писал: во вложении карта-пример в валидными и (инвалидными?) брашами
Хаммер (и, соответственно, джек) считает инвалидным браш, у которого есть ребро короче чем 0.5 юнита. Компилятору, по идее, пофиг на длину ребра. Вопрос в другом - детектор должен максимально соответствовать хаммеровскому или нет? Разумнее поставить тут эпсилон 0.1, например.
Добавлено 30-12-2013 в 00:31:
Цитата:
thambs писал: не даёт ввести ширину больше чем радиус
Типа, защита от дурака. Зажимай PageUp и держи, делов-то.
XaeroX
аа, ясно. может тогда это куда ни будь в настройки игры вынести. типа в advanced options?
>детектор должен максимально соответствовать хаммеровскому или нет?
по мне, он должен соответствовать реалиям компилятора. кстати, а он у тебя внутри различает какого конкретного типа инвалидность?
было бы круто, если бы он сразу писал, что компланар плэйн там, или маленькое ребро, или плоскость не плоская.
Добавлено 29-12-2013 в 21:41:
>Типа, защита от дурака
ну в хаммере, типа, защита от идиота. "от дурака" -- он не позволяет ввести значение что бы выстрелить в ногу, а "от идиота" -- вводи сколько хочешь, а я всё равно тебе выстрелить в ногу не дам -- сделаю с правильным числом.
//а потом ты сырцы откроешь, а какой ни будь адамикс такой:
Цитата:
азаза! ну я ж не идиот! зачем мне проверки, не нужны мне проверки, отключу-ка я проверки! азаза!
наделает там труб с шириной больше радиуса и у него копилятор откроет портал в отрицательное пространство, где израиль и содомиты
Дядя Миша
Моделью можно. В ОИ есть часы, которые целиком модельные и при этом ухитряются показывать реальное время на часах компьютера пользователя. Да ещё и идти в реальном времени. Все три стрелки - минутная, секундная и часовая. Сделано кодом + анимацией. А вы говорите - браши.
Добавлено 30-12-2013 в 02:39:
Цитата:
(_-=ZhekA=-_) писал: Металлическая сетка, которая на заборах висит она очень тонкая - аргумент?
Аргумент - это игровая карта, а не словесные рассуждения.
Добавлено 30-12-2013 в 02:40:
Как же мне вас от брашевого мышления отучить, да так, чтобы постепенно и безболезненно...