Neodrop
> Что ты имеешь в виду под "Системой" ?
> Не очень понятно.
Ну в некоторых системах шейдеры генерируются так, чтобы можно было выбирать нужные в зависимости от разных параметров. Например от количества источников света. Или наличии карты спекуляра. Наличии карты нормалей. И т.п.
Это возможно. А так же существует Shader LOD - автоматическая смена шейдеров при слабых картах.
Всё выбираемо и всё настраиваемо.
Так же есть Shader Replacement - возможность произвольно заменять заданные шейдеры при рендеринге.
Вообще то шейдеры не моя стихия. Лучше эти вопросы задать на форуме www.unity3d.ru
Neodrop
Кстати, есть вопросы как к старому пользователю Unity. Ответы на эти вопросы бы сэкономили кучу времени.
1. Какие возможности есть для оптимизации indoor локаций для платформ Win/Mac?
2. Можно ли генерировать префабы самому? Открыт ли их формат?
3. Есть ли готовые загрузчики уровней Quake? Я так понимаю что BSP-системы с PVS там нет встроенной, но можно дописать? В какую сторону смотреть?
4. Можно ли на один скелет вешать разные сетки? Например если у меня один скелет и есть набор голов, торсов, ног - можно ли сделать их комбинирование на одном скелете, или это будут разные модели и позы скелета надо будет просто копировать?
5. Можно ли генерировать уровни из готовых блоков на скрипте? Я так понимаю что должно быть можно, просто нужно создавать объекты и вешать на них геометрию так, как если бы это было в редакторе. Но на всякий случай спрашиваю - вдруг есть с этим проблемы.
Вот тут можно подробнее почитать по шейдерам в Unity :http://unity3d.com/support/documentation/Images/manual/Materials-0.jpg
1. Какие возможности есть для оптимизации indoor локаций для платформ Win/Mac?
Классических штук типа порталов и окклюдеров нет. Это дело нужно реализовывать самостоятельно. Вроде обещают, но точно не знаю.
В виду широты возможностей двига, я не испытываю никаких проблем по оптимизации indoor сцен. Но пишу сам.
2. Можно ли генерировать префабы самому? Открыт ли их формат?
Именно самостоятельно вы их и генерируете. Префабы это контейнеры, в которые вы можете положить всё, что может находиться в сцене.
3. Есть ли готовые загрузчики уровней Quake? Я так понимаю что BSP-системы с PVS там нет встроенной, но можно дописать? В какую сторону смотреть?
Загрузки нет. Смотреть в сторону портов на .NET Если кто-то написал, то передрать не составит труда.
Если портов нет, то переписать С++ на .NET задача не сложная.
4. Можно ли на один скелет вешать разные сетки? Например если у меня один скелет и есть набор голов, торсов, ног - можно ли сделать их комбинирование на одном скелете, или это будут разные модели и позы скелета надо будет просто копировать?
Можно. Но, конечно, эти "части тела" не должны быть скинированы.
5. Можно ли генерировать уровни из готовых блоков на скрипте? Я так понимаю что должно быть можно, просто нужно создавать объекты и вешать на них геометрию так, как если бы это было в редакторе. Но на всякий случай спрашиваю - вдруг есть с этим проблемы.
Никаких проблем. Потоковая подгрузка с сети или загрузка ресурсов с диска проблем не вызывает. Уровни можно собирать с полного нуля, если есть такая задача. Так же можно подгружать сцены в сцены (merging) и выгружать при необходимости.
Так создаются безшовные ММО миры. На Unity можно хоть всю Евразию сделать, если сил хватит разрисовать столько террейнов . ;0)
Neodrop
> Что ты имеешь в виду под "Системой" ?
ну попробую вкратце объяснить.... ИМХО движек должен это реализовывать, так как система эта не самая тривиальная (хотя универсальную конечно сделать сложно)
дык вот допустим мы имеем:
1) источник света точечный
2) направленный
3) спот (ну конус который)
есть материалы
1) железо
2) пластмасса
3) мрамор
4) кожа человеческая
5) растительность
и т. д. ... т. е. каждый материал имеет свой код для рассчета освещения
+ сюдаже нормал маппинг, шадоу маппинг, параллакс, и еще малоли техники
+ сюдаже всякие форматы вершин
комбинаций этих пунктов (допустим железяка на которую светит направленный и точечный источник с нормалом, пластмасса с одним тотчечным источником с тенями и параллаксом и т. д.) комбинаций просто очень много и делать на каждую встречающуюся в игре свой шейдер - очень не удобно, да и параметры передвать в него тоже.... вобщем нужна система, которая позволялабы эти вопросы разрулить.
например у меня в движке есть структура, описывающая шейдер, там указано количество источников света их типы, и еще всякая хрень, когда необходимо отрисовать тот или иной объект происходит проверка какие техники нужно включить, какие источники освещают объект, заполняется эта структура и скармливается менеджеру шейдеров, который находит уже скомпилированыый или компилирует еще один шейдер с нужными параметрами.....
вот примерно так =)) а в чистом виде шейдеры - это какбы тока для демок хорошо.
ИМХО лучше не универсальная и чем-то ограниченная, но удобная и продуманная система, чем универсальное отсутсвие всякой системы (по крайней мере в туже систему можно включить возможность делать шейдеры-исключения, которые не будут использовать возможности системы, а будут просто компилится и устанавливаться как текущий, без учета всех этих параметров)
Neodrop
> 3. Есть ли готовые загрузчики уровней Quake? Я так понимаю что BSP-системы с
> PVS там нет встроенной, но можно дописать? В какую сторону смотреть?
>
> Загрузки нет. Смотреть в сторону портов на .NET Если кто-то написал, то
> передрать не составит труда.
> Если портов нет, то переписать С++ на .NET задача не сложная.
В принципе я сам на .net писал недавно загрузку, так что могу сделать.
Я так понимаю что в принципе я могу это сделать как Extension для Unity и бесплатно раздавать? Нужно ли это community? Можно ли будет со стороны community найти встречную помощь в тех частях, где я плохо разбираюсь?
Neodrop
> Но, конечно, эти "части тела" не должны быть скинированы.
Они, естественно, скинированы. Ручки-ножки то должны сгибаться. То есть придётся делать 3 копии скелета и копировать позу с одного на 2 других?
Лицензия, естественно, Unity, без "Pro". Если это влияет на ответы.
Kloun
Обрати внимание, что в бесплатной версии нет правильных теней, только кружочки или вроде того.
Unity Pro supports realtime shadows with self-shadowing that just work. Read more
Without Unity Pro it is of course still possible to use lower-end shadowing techniques, like Lightmaps or Projectors.
Загрузчик BSP наверное был бы интересен. Конечно.
Если что, я могу помочь в меру сил. Но сам с BSP никогда не работал. Уж дюже это устарелая система, мне кажется.
Замена частей скинированного тела невозможно в принципе - ведь все веса вершин изменятся. Это автоматически приведёт к несовместимости с анимацией. Заменять части тела - к примеру противогаз на респиратор - это без проблем. Заменить руку... только если модель будет выглядеть как в WoW - без скининга.
Без Pro никаких плагинов на с++ замутить не получится, к сожалению.
Такой эстенжн был бы очень полезен.
Коммьюнити оценит и, по-возможности, поможет.
И у нас, и на офе, достаточно отзывчивый народ.
DeadMeat, профайлер появился в 2.6 - мощная штука.
GLoom
> Обрати внимание, что в бесплатной версии нет правильных теней, только кружочки
> или вроде того.
gnoblin
> ез Pro никаких плагинов на с++ замутить не получится, к сожалению.
ну вот. как бесплатный инструмент он уже не представляет интереса =))
В Юнити работа с количеством и типом источников Света автоматизированна. Что бы разобратся как это устроенно советую скачать http://unity3d.com/support/resources/assets/built-in-shaders стандартный Юнити набор шейдеров, а так же посмотреть вот в эту папочку C:\Program Files\Unity\Editor\Data\CGIncludes\
Без Pro никаких плагинов на с++ замутить не получится, к сожалению.
Такой эстенжн был бы очень полезен.
Коммьюнити оценит и, по-возможности, поможет.
И у нас, и на офе, достаточно отзывчивый народ.
Можно написать просто кодом, без генерации dll
Тема в архиве.