Cybermax писал: Меню без стандартных пунктов, а карта с интерактивными объектами, ты это имеешь ввиду?
Ога. Просто набор игровых объектов со скриптами вида "я кнопка опций". Вынести в отдельный слой UI, сделать ортографическую проекцию. Вообще конечно бы хотелось чтобы практически всё было на скриптах, это будет супер гипко и удобно, если конечно само ядро будет иметь богатый набор функций.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
KiQ писал: Тебя Unity покусал? Я-то думал это там костыль такой, а ты как фичу предлагаешь
Здрасти-приехали. В первом квейке так скилл выбирали. Это всё оттуда идёт.
Добавлено 16-07-2020 в 13:01:
Мне вот какую штуку надо понять. Может ли лайтмапа быть единым куском на разных материалах. Для текстур там очевидно будут разные координаты, значит вертекс не смержится. Тогда выходит, что и нормали надо сглаживать по группам, на которые легла единая лайтмапа. Чёт у меня всё перемешалось в голове не могу сообразить.
KiQ писал: Тебя Unity покусал? Я-то думал это там костыль такой, а ты как фичу предлагаешь
Зато меню будет отвязано от ядра и его можно будет кастомизировать любому мапперу с минимальными знаниями языка.
Дядя Миша
Лайтмапа имеет отдельную развертку по сути это просто группа вертексов, а накладывается она уже посредством шейдера в самом материале, вспомни lightmapgeneric в сорсе. Ничего не мешает запечь 2-3 лайтмапы и использовать их для разных материалов, например тех же стекол и воды.
Вот если интересно поколупаться:
Вложение: mesh.zip (387.9 кб)
Этот файл был скачан 254 раз.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Я вот что пытаюсь понять. Допустим у нас два планарных полигона.
На них разные текстуры, но есть смежное ребро. Таким образом на об этих полигона надо наложить единую лайтмапу. Вертексы со смежного ребра не должны расшарится, потому что не совпадёт развёртка текстуры. Но даже если и совпадёт - материалы-то разные. С другой стороны, материалы рисуются по индексам, а индексы точно свои у каждой группы. То есть при расшаривании вертексов проверку на материал делать необязательно.
Но! При таком подходе нам надо, во первых проверять все вертексы, а не только принадлежащие определённой группе. И для этих групп уже делать сглаживание. Вот где моя ошибка была - я строил группы внутри одного материала и вертексы шарил аналогично. Ну еще и потому, что кутришный подход сам по себе предполагает локальные индексы - чтобы все, принадлежащие сурфейсу вертексы были доступны в диапазоне, указанном, как startVert - numVerts. Но для загрузки в VBO это не так уж и важно, по сути. Надо все вертексы расшарить по лайтмап-группам. Тогда наверно получится что-то путнее.
А зачем нормали вообще сглаживать, да ещё и по материалам? Я всегда считал что это свойство задаётся для вертексов меша. В сорсовском хаммере вроде даже смутч группы были для этого, как в 3д максе.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Да, блендеровцы даже в вики пишут - LSCM использовать возможно только для очень простых разверток.
А какие ещё есть способы развернуть модель?
Я вот нашел UV Slim для старого блендера, но он как то растягивает шкуру в круг, что я не очень понимаю что с этими кусками дальше делать.
Развертка для текстуры и развёртка для лайтмапы, хотя и кажутся похожими, но на самом деле очень сильно отличаются. Для текстуры, ориентация UV-кусочка не имеет особого значения по двум причинам. Во первых там pixel-perfect попадание, во вторых кусочек заполняет художнег.
Для лайтмапы, наоборот это критически важно. Ну потому что если повёрнутая лайтмапа ляжет на аксиальную плоскость, то её тени тоже будут зубцами - билинейка тут ничего не может сделать. Даже гауссом сглаживать бесполезно. Второй момент - для лайтмапы естественные швы предусмотрены на углах, более 89 градусов, очевидно никакое сглаживание на заставит свет заглянуть за угол, это же не пушка, которую можно положить набок. Плюс, даже если все эти алгоритмы, начиная от простейших и заканчивания решением СЛАУ, типа того же LSCM вдруг облажались, то всегда предполагается дальнейшая ручная правка моделлёром. Для лайтмап, очевидно, ничего подобного выполнить нельзя. Можно только контролировать исходную геометрию, чтобы там не было двойных ребёр и прочей пакости.
Дядя Миша
Ну для лайтмапы допускается большое количество швов, вплоть до того чтобы каждый полигон был отдельным островком на развертке. Плюс сама геометрия редко когда имеет сложную искривлённую геометрию.
Для обычной же UV того же человека, или какого нибудь шамблёра критично чтобы количество швов было минимально, так ещё и текстура там сходилась пиксель в пиксель. Я конечно понимаю что большинство моделеров просто нарежут её на кучу маленьких кусочков, и это будет правильно. Но в моём случае ещё необходимо произвести запекание в текстуру не только геометрии, но и партиклей (всякие мех и волосы которые рендер запекания в текстуру не поддерживает), и вот тут уже количество этих кусочков сильно влияют на качество модели. Отказ от кусочков же приводит к куда большим дефектам при авторазвертке, то её перекашивает на какой то произвольный угол, то пляшет плотность самой сетки, когда голова у человека размером с кулак и такое я встречаю довольно на многих моделях.
И я был готов мириться с любым дерьмом, но то что в абсолютно любом развертывальщике развертка накладывается сама на себя, это уже какой то позор. Неужели так трудно определить дистанцию вертексов между собой чтобы они не перекрывались? И по сути все пакеты используют одни и те-же алгоритмы, с одними и теми же дефектами, отлчие состоит только в дополнительном инструментарии. С чёртовой развесовкой таже песня, состоящая чуть более чем полностью из плясок с бубном.
Когда разберусь с этими бедами, мне вручат медальку "почётный шаман мира 3д"
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Так товарищи. Вероятно в этом году увидит свет первая публичная версия, которая в дальнейшем будет обновляться, сохраняя совместимость.
Чтобы народ мог реагировать на разные крэшы и вылеты, а так же вносить свои предложения, в некоторой степени определяя дальнейшую судьбу развития.
Что мне осталось сделать до первого такого релиза:
1. дописать лайтмаппер до боле-мене вменяемого состояния (в аттаче картинка, как он сейчас работает).
2. разработать новый формат моделей (форматы спрайтов\шрифтов уже созданы).
3. в рендерере фундаментальная система проходов, контролируемых пользователем, возможность написать отложку или любую мульти-пасс систему, вообще не затрагивая код. Мне абсолютно не улыбается это делать, потому что рендеринг это эксперименты на 90% и каждый раз лезть в код и что-то там перекомпиливать дико неудобно. В принципе рендерер, как вы знаете уже процентов на 70 именно так устроен, но проходы он пока что не поддерживает и нет связи между различными таргетами. Т.е. можно написать какой угодно однопроходной рендерер, а вот скажем зеркала или динамические источники света подключить пока не получится, вот этот функционал и надо реализовать. И потом уже спокойно в скриптах экспериментировать со всякими моделями непрямого освещения, хоть LPV, хоть рейтрейс.
4. плагин для Джека с поддержкой нового формата моделей и материалов.
Вот собсно, эти четыре момента - они основные, если я успею за полгода.
Это не значит, конечно, что движок уже готов на 100%, это значит, что получившийся продукт можно будет изучать, осваивать и потихоньку портировать на него свои наработки, как с дальним прицелом, так и для проверки на прочность конструкции.
А карты модели делать можно будет? И в каком формате им кормить модели?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!