Блендер-3d - бесплатный, и очень сильный 3D пакет.
Мне не нужно сильный. Мне нужно простой, но с теми фичами, которые
я хочу, а не какие общеприняты.
Т.к. в принципе - любой движок можно адаптировать под редактор и естественно, своё всегда - ближе к телу.
В данном случае - редактор под движок.
В т.ч. убирается куча геморроя с экспортировал - импортировал - проверил. Всё в родных форматах, достаточно переключиться между модулем редактора и модулем игры и сразу автоматом подцепит.
например, при создании фильмов, для этого используют графические фермы
Это вообще как-то перепендикулярно, мне нужен редактор именно под игровые модели.
в наши дни 2d это не более, чем частный случай 3d
Ну, может человек имел в виду API для создания 2д игр. Какового нема.
не хорони старания - делай LGPL
Чё то я запутался: я же собирался его сделать LGPL - какого чёрта тогда он у меня под полной GPL?
Отойду от аврала на работе - исследую, какого х.
Так... Раз уж скатились на обсуждение тулзета, давайте рассмотрим, что я от этого моделероаниматорораскрасчика хочу.
1. Единый формат: модель хранится в том же формате, что и сохранёнки aka сессия. То есть, это такой же снапшот объектного графа на чеперси. Нулевые затраты на создание экспортёра: просто сохранить кусок графа, это в чеперси уже есть.
2. Единое пространство модели: её можно одновременно модифицировать, анимировать, раскрашивать и скульптить, свободно переключаясь между этими стадиями в процессе. Никаких времяпоедающих костылей типа
3. Анимация с привязкой вершин к костям НЕ матрицами, а силами. Да, слишком дорого для реального времени и так никто не делает. Поэтому для большинства моделей на экране анимация будет предрасчитанной (это как в quake 2 и 3 - набор ключевых кадров, для каждого координаты и нормали всех вершин). В реальном времени - только анимация ближних/тех, кто на оси взгляда. Чем толще CPU, тем кучерявее.
4. Построение модели снизу вверх. Нынче модно наскульптить в збрашах, потом упрощать до низкополигональной. У меня будет создание низкополигональной (базовый дальний LOD) с последующим увеличением за счёт subdivision. x4, x16 и т.д. Причём, скульптинг - это рисование карты выпуклостей/впкулостей в том же раскрасчике, что выражается в карте нормалей, а высшие уровни сетки просто изгибаются под эту карту неровностей.
Никаких екструдов и прочей новомодной чепухи. Только по одной вершине, по одному треугольнику за раз. Только хардкор.
5. Многослойность модели (например, рука/детальная рука с ногтями/упрощённая варежка - это варианты типа слоёв в фотошопе. Или нога босая / в носке / сапог - тоже вариации. Или, например, разные головы, у которых на стыке с шеей мазки кисти раскрасчика с шеи заходят на голову, а мазки кисти с головы - на шею. В идеале, все персонажи любого пола и толщины - это вообще одна модель гуманоида с 100500 мутаторов и слоёв.
6. Хранение текстуры в виде мазков кисти, привязанных к треугольникам модели. Не уверен, насколько эффективно с точки зрения экономии дискового пространства (при намеченных объёмах, вообще-то, насрать), но зато скин становится подобен векторной графике, не особо зависящим от разрешения. Понадобилась шкурка более высокого разрешения - поставил в очередь, и за N кадров отрисовал в фоне, повторяя все движения кистью.
Естественно, движок будет уметь многое из того, что редактор, заметная часть кода общая. Движок как минимум будет уметь анимировать и генерировать текстуры с развёрткой.
7. Хранение текстуры безотносительно развёртки (вытекает из 6). Точнее, развёртка создаётся под рисунок, а не рисунок под развёртку. Указываешь линии разреза, выставляешь приоритеты (на роже разрешение выше) и оно само автоматом генерирует развёртку и утрамбовывает её куски в текстуру. Получилось говно? Выставляешь линии разреза по другому.
8. Активное использование палитр во все щели - я не понял, почему их со времён 256-цветных игр почти перестали применять? Когда нужен синенький вместо красненького - тупо перекрашивают вручную, и плодят ещё одну текстуру. Фу.
В том числе добавлю поддержку для скинов в формате OA / Quake3 - с автоматическим распознанием окрашивабельных участков на основе красной/синей командных шкурок и возможностью перекраски в любой цвет радуги просто передачей в шейдер другой константы.
Всё. Спать, спать, спать. Завтра опять скрещивать университетского ужа с федеральным ежом
Добавлено спустя 23 минуты 33 секунды:З.Ы. Пример идеального на мой вкус интерфейса 3d редактора
1. Окно всегда разбито на 4 части: 3d вид, и 3 проекции верх/низ, лево/право, перед/зад (и панель инструментов сбоку).
2. Проекции всегда жёстко синхронизированы, никакого независимого перемещения. Подвинул камеру в одной - подвинулась и в других.
3. Вращение в 3д вьюпорте - всегда вокруг точки, заданной центрами вьюпортов проекций. Можно переставить эту точку поудобнее, например, ctrl-щелчком по грани в 3д вьюпорте.
4. Размеры вьюпортов легко меняются перетаскиванием за центральный крестик.
5. Индикация, какая из проекций какая (лево или право, верх или низ) осуществляется перемещением 3d вьюпорта в разные углы. Индикация перёд/зад - перемещением его право/лево и инверсией узора (ёлочкой) на разделителях.
6. Можно всегда переключиться в иную систему координат: вращением в 3д вьюпорте задать направления осей x y и z и сделать их текущими. Можно иметь несколько таких настроек и свободно переключаться между ними / переименовывать их.
Хррррр...
Добавлено спустя 3 минуты 9 секунд:З.З.Ы. И все координаты всегда, мать их, в миллиметрах!
Добавлено спустя 6 часов 59 минут 6 секунд:Ну и напрасно. тебе бы помогли уже.
Не та стадия, когда стоит допускать посторонних к разработке. Вот когда окончательно кристаллизуется парадигма и создам основные механизмы (например, расслаиваемый мир мультиплеера) - тогда милости просим.