![]() |
Коллеги недавно восхваляли твою программу)) как очень полезную и удобную))
а что до хука граунд левел ... я точно не знаю, но могу предполагать что это когда модель был импортирована с глюками, в смысле не правильным направлением, и это исправляли уже в хиер химе ... думаю коллеги поправят сейчас меня.. но суть такая, не верно направленную модель и ориентировали до нужного уже в текстовом файле ... какая то есть там такая засада |
Цитата:
Т.е., игре на ориентацию именно этого хука глубоко по%, важно только его положение. И вопрос мой, в связи с этим, скорее общей эстетики касаеццо - я вижу, что он криво повёрнут, но знаю, что это не вызовет проблем. Чистая эстетика и аккуратность - криво -> непорядок -> на душе нет спокойствия. :) Старую обезьяну новым трюкам не обучить, привычка всё держать в порядке даёт о себе знать. :) В общем, решайте/обсуждайте что с этим делать. "Нам, татарам, одна %." (с) :) |
А функцию автоориентации ему сделать возможно? Как было сделано с автоудалением нормалей в тенях. Потому как с неправильным положением граунд хука уже приходилось сталкиваться когда вагоны из Штука трейн мода по дефолту все стояли поперек рельсов и собака порылась именно там же. Да игра ставит их все равно на грунт. В твоей иллюстрации совсем уж экстримный косяк который игра выравнивает а вот при аналогичном развороте в плоскости все вагоны расставленные в акторсах карты стояли поперек пути.
Еще вопрос к коллегам не может ли быть связано мерцание тени с положением хука есть 2 модели которые категорически не дают спокойной тени она мерцает включаясь и выключаясь. |
Я тут юзаю крайнюю версию несколько дней.
Диалог сохранения работает адекватно на 32битах и 64битах, окно перестало глючить. гуд. -То что описал про нажатия шифта и прокрутке колёсика мыши это гуд, а то шаг запаривал большой (20м), думал уже выпросить эдит редактируемый с возможностью ручного ввода дистанции. Сам ползун сильно мешает выставлять дистанции менее 20м, некуда кликать. -третьей оси (Y) не хватает справа, зря убрал. есть меши модели которые нужно провернуть по третьей оси, а её нет. верни третью ось. -Шаг углов поворота тож желательно выравнивать до целых значений, а то проскакивает такие значения как 90 180 270 иногда выставляя там какую-нибудь 91 180.3 269 и т.п. правил это в конфиге, так выход находил. (правда можно было кликать на ползунок с нажатым шифтом - тогда шаг 0.2 градуса, но нужно 0.1) -Кнопку сброса параметров камеры на дефолт надо, а то приходится сносить конфиг для этого. -Диалог указания пути сохранения текстовых мешей надо сделать редактируемым и запоминаемым в инишнике, чтоб можно было править строчку пути, а не юзать каждый раз менюшку, слишком много времени занимает пробросить новую папку для нового сохранения. -Также кнопку переподгрузки хиера и текстур надо, в один клик. По типу скнилла, а то опять же лишние клики - файл открыть хиер ок -Некоторые модели с какими то ошибками в матфайлах заливаются чёрной текстурой. Может там текстуры отсутствуют или ещё чего, не обращал особо внимания. -В список выбора хуков треба вариант Все хуки оружия, Все хуки бомб -Размер хука требуется как-то варьировать, иногда проверяю точность установки хука выстрела, а куб большой и точно не видать стоит он по центру ствола или нет -Виды. Имеет смысл по типу 3Дмакса сделать кнопки - вид сверху, справа, спереди и т.п. -Управление видами и мышь. Скнилл очень хорошо позволял крутить модель и выполнять приближение-удаление. Возможно так же надо сделать. -А и бонус. Тут меня спрашивают сколько например треугольников в модели. А это надо скрипт и текстовые меши. А твоя прога и с бинарников может выдать такую инфу. Смотри 3Дмакс например. Например Лод0 такая-то дистанция, столько-то треугольников, Лод1 столько-то и столькото. Благо в окошке с дистанцией лодов полно места. Тоесть на ЛОД выдаём Тотал/Нормал/Дамаж - три значения. -Про вывод версии программы в первую строчку текстовых мешей. просил уже. Вот всплывёт какой глюк в проге, а по мешу не будет понятно чем его обрабатывали. Надо, надо подписывать меши своей строчкой как это делают 1С тулзы, Мешконвертер, и МаразЭкспортер -При сохранении текстовых мешей в отдельную папку, туда не сохраняется исходный хиер. -В шапку программы выводить номер версии программы. У меня сейчас куча версий, уже путаюсь какая свежайшая. |
Вполне возможно, что с тенями именно из-за хуков так и получается.
Ща объясню. У нас, в общем случае, есть три матрицы, Модель, Вид и Проекция (MVP которая). Собственно, на изменении этих матриц и построено всё отображение. Модельку мы, условно, рисуем со стороны камеры, получаем вид на модель из наших глаз. А вот тени мы должны рисовать со стороны источника света. Надеюсь, что понятно, почему? :) Так вот, если у нас одна из матриц, участвующих в трансформации, имеет не правильную ориентацию, то мы и увидим совсем не тот результат, который ожидаем увидеть. Т.е., теоритечески это может влиять на мерцание тени. Но. Ещё такой нюанс есть. ХЗ как тень в игре рисуется. Может в самой тени порядок вершин в полигонах где-то сбит. А значит - у этих полигонов перепутана лицевая и задняя сторона. И если тень рисуется с включенным CullFace и отсечением обратной стороны, то эти полигоны при определённом положении, когда этот полигон повёрнут к источнику света обратной стороной, рисоваться не будут. Ибо нафиг рисовать обратную сторону, которую мы никогда не увидим? А ещё может быть такая вещь, как z-файтинг. Это когда два фейса на одинаковом удалении лежат и при отрисовке они деруться между собой кто из них выше. Связано с особенностями z-буфер (с его разрядностью заданной при инициализации). Есть такая штука, по крайней мере в OGL (как в DX - не занаю, но наверняка тоже есть), называется PoligonOffset. Через эту штуку можно управлять (в некоторых пределах) порядком вывода полигонов в ситуации, когда они могут иметь одинаковую глубину. Это не всегда работает, но часто помогает. В conf.ini есть возможность менять значения для этой опции. Но крутить её надо не абы как. Предварительно надо почитать статейку про PoligonOffset чтоб понять, как эта штука работает. И потом уже эксперементировать с конкретными значениями. И постоянно име ввиду то, что если помогло в одном месте, то совсем не факт, что в другом не вылезут косяки. Аккуратно, в общем. Примерно так. Ну а с рисованием наверно так сделаю. Буду рисовать землю бе6з учёта разворота и с блендингом и слабенько так, как это в хуке задано. Надо только опцию отключения наверное куда-то присобачить. Чтоб не мешалась. Но вы пока по обсуждайте, я вас внимательно слушаю. :) |
Цитата:
Посмотрю, что можно и в каком порядке сделать. К сожалению - времени у меня не много, на всё сразу его не хватает, надо и на хлебушко зарабатывать. Но учитываю всё, что говориться. Просто не всё сразу. |
Чуть допечатал и пояснил. Наиболее актуальные для меня выделил жирным шрифтом.
|
Вложений: 2
Цитата:
В аттаче новые версии. Посмотрите что как и телеграфируйте сюда. Плоскость земли рисую как выше написал, одну - только положение хука, вторую - положение с учётом поворота. Если они совпадают (когда хук развёрнут правильно), то эти две плоскости накладываются друг на друга (цвет плоскости становится более серым из-за смешивания). |
Да дьявол порылся именно здесь
Цитата:
Статья здесь https://www.opengl.org/archives/reso...ygonoffset.htm |
Цитата:
PolygonOffsetFactor -0.15 PolygonOffsetUnits -3.0 Можно попробовать с такими настройками. |
Уход от этого параметра был продиктован дрожанием земной поверхности в Иле и эта болезнь так и не изжита со времен СПШ.
|
Цитата:
|
Вращение/таскание картинки очень удобно! Спасибо!
|
Да, огромное спасибо за мышку в окне
|
Случайно обнаружил, что прога чувствительна к регистру букв в текстовых мешах. Например, если вместо [ShFaces] в меше записано [shfaces] программа его не открывает, хотя Ил такой меш понимает. После исправления меша вручную всё работает отлично.
|
Цитата:
|
Цитата:
NB: Кстати, правильно ли я понимаю, что _Centre в корабликах даёт уровень воды?. Но что кроется за некоторыми названиями - ХЗ. Куча номерных _Clip-ов, какие-то достаточно абстрактные имена у некоторых. Ведь если формально подходить, то функция хука определяется не его именем, а кодом, в котором это имя зашито. Т.е., в принципе, я могу любое имя хуку дать, главное, чтоб код это имя знал и тогда код на него обработку будет адекватно реагировать. Нужен список стандартных имён с функцией. Мне шерстить все модели на предмет всех возможных и потом рыться, выясняя его функцию, времени не хватает. Цитата:
1) Сделал отображение ур. земли отключаемым. 2) Рисую на плоскости ур. земли две полуоси. Теперь сразу видно, когда Ground_Level хук повёрнут относительно нулевых координат и по каким осям и куда он закручен. NB: Кстати, на счёт авто ориентации. Это делать низя. О том, как должен быть развёрнут хук относительно лок. координат знает тока код и автор модели. В большинстве случаев используется стандартная ориентация. Но ничего не мешает затулить модельку, в которой это правило будет нарушено. Если код будет знать, как оно нарушено, то всё будет работать согласно задумкам автора. Отображение хуков сделал многорежимным. Сейчас можно переключать вид отображения как: - Пересекающиеся плоскости - Куб - Куб и пересекающиеся плоскости При включённых плоскостях сразу видно серединку хука и отклонение по плоскостям от целевой координаты. Переключение вида хука посажу на какую-нибудь функциональную кнопку, в интерфейс выносить не буду, и так уже слишком много крыжиков различных. Надо кидать новую версию на посмотреть, или пока скриншотов хватит, чтоб понятно было (кину их позже)? Размер хука и плоскостей менять не сложно, но надо куда-то притулить отображение и изменение этой настройки. Думаю над этим. |
В самолётах номерные _Clip это "опоры" которыми самоль может касаться земли. Вроде игре интересна только координата этого хука, не направление.
_ExternalBomb, _ExternalDev, _ExternalRock, _MGUN, _BombSpawn, ShellStart типовые имена хуков, с учётом направления. |
Вот так новые хуки выглядят:
Куб (как было): http://itmages.ru/image/view/3516506/fea8a845 Плоскости: http://itmages.ru/image/view/3516508/0f1b7fd4 Куб и плоскости: http://itmages.ru/image/view/3516509/6675930d На картинке может не так хорошо видно, но реально пересечение плоскостей даёт возможность очень точно увидеть позицию хука. UPD: Плоскости удобны, когда нам нужны опорные линии вдоль осей. А Куб и плоскости - когда нужны опорные линии вдоль осей и объёмов. Это я свою логику расшифровываю. :) |
Моя пять копеек по хукам применительно к самолетам.
_ClipXX - достаточно выбирать по одному. _ExternalBomb01 - точки бомб - их хорошо смотреть по одному и все сразу _ExternalDev01 - точки пилонов, баков и т.д. - их хорошо смотреть по одному и все сразу _ExternalRock01 - точки ракет - их хорошо смотреть по одному и все сразу _MGUN01 - точки выстрелов - их хорошо смотреть по одному и все сразу _MGUNDump01 - выброс гильз - их хорошо смотреть по одному и все сразу _ClipXGear - точки уровня земли - их хорошо смотреть по одному и все сразу _TankXX, _EngineXX, _ExternalBail01 - это все по одному |
Вложений: 2
Трам-пам-пам!
В аттаче новая версия. Чё нового :) : 1) Заметил, что в пред. версии случайно сбил настройки света для теней и коллизий. Исправил. 2) Хуки. Три режима отображения - кубы, плоскости, кубы + плоскости. Переключение режима отображения - Ctrl+H 3) Вкл/Выкл показа уровня земли, если хук Ground_Level присутствует в модели. На плоскостях рисую полуоси, чтоб было видно как относительно земли хук развёрнут. При совпадении ориентации хука и земли мы будем видеть одну плоскость и две совпадающих полуоси. Если ориентация хука несовпадает с ориентацией земли, то будем видет две пересекающихся плоскости, либо более двух полуосей на одной плоскости. Думаю, посмотрев на разные варианты всё поймёте. 4) Сделал переключение видов на кнопках. Ctrl+1 .. Ctrl+6 - соответственно: спереди, сзади, слева, справа, сверху, снизу. Ctrl+D - сброс вида на вид по умолчанию (дефолтную дистанцию увеличил до 14 метров). 6) Добавил кнопку Reload. Перезагружает последний открытый файл. Имя последнего открытого сохраняется в ini. 7) Запоминаю путь для сохранения. Раздельно для obj и msh. Ручной ввод пути пока не делал, нужно этот ввод проверять, ибо юзер может туда налепить чего угодно, а потом начать задавать вопросы "Пачиму!11адинадин". :) Надо будет сделать аккуратный разбор в ручную задаваемого пути, тогда и разрешу его ввод. Пока просто запоминаю последний выбраны, уже меньше торканий мышкой. 8) Для лодов считаю кол-во фейсов и пишу его. Имейте ввиду. В norm. входят все фейсы, в том числе и из hidden мешей. В dmg. - фейсы для всех уровней повреждения, в том числе и _CAP. Также, имейте ввиду, что в некоторых моделях встречаются ситуации, когда меши для повреждённой модели сидят как Normal, но с флагом hidden. С этим я ничего сделать не могу, так решил автор модели. Определить, что меш принадлежит определённому уровню повреждения я могу только по имени меша. 9) Пишу слева сверху версию. Номер билда для первой версии выставил от балды. :) Бум считать это первым релизом. Дальше номер билда будет формироваться автоинкрементом. Ну а номер версии рости при существенных дополнениях/исправлениях. Как это обычно и делают. 10) При записи msh/obj пишу в шапку номер версии и дату сохранения. 11) Если открывали him/sim, то при сохранении в msh пишу в dest и и его. 12) Убрал чуствительность к регистру имён секций и имён полей в чтении msh. Но, честно говоря, сделал это с неохотой. Это увеличивает уровень энтропии и не способствует аккуратности при правке файлов в ручную. Если к делу подходить не формально, то надо себя заставлять следовать определённым, принятым правилам оформления. Это заметно снизит общее кол-во ошибок и недоразумений возникающих случайным образом в самых неожиданных местах. Но, сделал, посмотрим. Теперь ещё раз об управлении. Напоминаю, что вращать и сдвигать модель можно и кнопками, и только по одной выбранной оси. Если выбрать соответствующий трэкбар, то стрелками мы двигаем его на 1, PgUp/PgDn на 2, а Home/End - в начало/конец. С гуппировкой хуков по типу пока в раздумьях. Не сложилось пока в голове правильного решения. Кручение/перемещение мешей и хуков тоже пока в голове не доделалось. Есть несколько конкурирующих внутри меня вариантов дизайна этой фичи, но пока не определился какой из них наиболее удобный и простой в реализации. Вроде всё. Может чего и забыл, не серчайте. :) Ругайтесь сюда своевременно и не затягивая. :) |
Афигенно)))) Спасибо как всегда! поклон до земли!! :good:
|
Гуд. Большую часть хотелок сделал. Весьма оперативно. Хуки гуд. Сумма треугольников - гуд. Быстрые виды - гуд. Да и номер версии гуд, ещё его можно в имя экзешника и шапку программы (чтобы в панели задач видно было). Хорошая тулза - для быстрой проверки модели.
|
Огромное спасибо. Быстрый, надежный, компактный инструмент.
Главное теперь его хотелками не перегрузить и остановиться на золотой середине. Не проще ли в инструментальный ящик мододела добавить еще один такой же компактный и хороший инструмент но другого назначения. |
Цитата:
|
usability = способность к использованию (это если грубо) используемость.
Вопрос к самым продвинутым спецам в 3Д макс и Фотошопе насколько процентов используются возможности программы столь сложной и навороченной? И тут мы с грохотом и шумом выходим на цифру равную КПД самого мощного паровоза. http://s2.rimg.info/56109778d6307693...e375892830.gif |
Цитата:
|
Вложений: 1
У меня 64 битная версия почему то не работает. не открывает то что предыдущая версия открывала. Scrollbar property out of range. Меши из архива раньше открывались.
|
NB79 Спасибо большое!
|
Цитата:
Можно содержимое лога сразу после запуска программы (скопировать весь текст в нижнем окне и кинуть сюда)? UPD: Забыл. И содержимое лога после попытки открытия этих мешей. |
Только хотел отписать - видно у меня на компе какой то косяк был, после перезагрузки все заработало. Прошу прощения за ложную тревогу.
|
Подозреваю в этом глюк видеокарточки в Вин10. Периодически отваливается.
|
Цитата:
|
После запуска:
> PixelFormat = 0; MSAA = 0 > 3DViewer.Initialize: CreateRenderingContext = False После открытия: Error: Unable to read mesh. FileName = "W:\IL-2 Sturmovik 1946 v.4.13 DGen\#DGEN\#Barracuda\3DO\Cockpit\Cuda\FONAR.msh" Потом сообщение Out of range, потом Acces ... ошибка чтения памяти. |
Открывал все с текстурами.
|
Цитата:
Может драйвер видяхи надо сменить. Дальнейшие ошибки понятны, надо будет чуть подправить, чтоб прога при открытии модельки, когда контекст не удалось создать, ругалась более внятно и не пыталась грузить данные в видяху (есть у меня одно место, где я похоже не проверяю создан ли контекст, или нет). |
Забыл про тени упомянуть. Им полодный счётчик треугольников тоже не помешал бы. А то бывает, что тени делают очень неэкономно, это хорошо также отслеживать программой.
встроенный счётчик ФПС числа прыгают ничего не разобрать, сглаживать усреднять показания наверное нужно. От изменения дистанции видимости и видимого лода показания у меня не меняются, почти постоянные. |
ФПС я считаю не истинный. :) Это виртуальная величина, основанная на средней длительности формирования кадра за секунду, без учёта расхода на всякий не связанный с выводом 3Д оверхед. На него пока можно особого внимания не обращать. По этому и цифры скачут. Но мне так пока надо.
А почему не меняются - не знаю. Я вижу разницу и заметную. Тут, возможно, дело в том, что ЛОД рисуется не на своей дистанции, а всегда на фиксированной и ближе, чем его дистанция (для большинства). И рулит в этом случае не кол-во фейсов, а филрейт видяхи. Если выбрать ЛОД и двинуть его к его границе, то сразу видно как от кол-ва фейсов меняется ФПС. |
Цитата:
|
Цитата:
|
Текущее время: 14:20. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot