Исходные такие:
1) Чтобы был совместим с плюсиками
2) Чтобы был кроссплатформенным
3) Чтобы был бесплатным (желательно)
4) Чтобы легко можно было импортировать модельки из CADов — Solid, Компас
Нужно, чтобы взять модель, допустим, какого-нибудь манипулятора, загрузить в программу, и покрутить сочленениями. Допустим, что прямо уж так нельзя, но тогда нужны средства, чтобы по-быстрому собрать полную модель из отдельных звеньев, сопрячь их, и задавать углы их поворота/параметры линейного перемещения относительно друг друга, наблюдая за этим в реальном времени
Здравствуйте, Marty, Вы писали:
M>Ну, подразумевалось что-то, что можно поднять за несколько часов, максимум дней
В CAD системах есть возможность анимации, в том же SolidWorks. Смысл из него импортировать куда-то, чтобы делать тоже самое. Хотя бы на ютубе или в гугле набери "solidworks анимация" и увидишь все заявленные тобой требования.
Но если упор делается на бесплатность и кроссплатформенность, то в обычной CGI лучше Blender ничего нет. Сначала из CAD модель экспортируется в какой-нибудь промежуточный формат и потом забирается импортом Blender. Дальше можно использовать различные ограничители в том числе систему костей. Есть встроенный игровой движок и физика. Можно экспортировать модели во множество других игровых движков, Source, Unity, Unreal, CryEngine и так далее.
Нет ответа на вопрос "для чего всё это?", потому тут можно советовать всё что угодно.
M>Нужно, чтобы взять модель, допустим, какого-нибудь манипулятора, загрузить в программу, и покрутить сочленениями. Допустим, что прямо уж так нельзя, но тогда нужны средства, чтобы по-быстрому собрать полную модель из отдельных звеньев, сопрячь их, и задавать углы их поворота/параметры линейного перемещения относительно друг друга, наблюдая за этим в реальном времени
ну, Unreal Engine в принципе сгодится.
бесплатный он условно, если будешь результатом торговать, то 5% надо будет отстёгивать.
шибко зависит от нужных форматов и нужного уровня реализма графики.
Если просто STL и просто рендер, так тупо читаешь набор треугольников и сам в OpenGL кидаешь, не нужен никакой движок. Анимацию делаешь набором матриц.
Если нужна супер-графика и куча форматов — такого движка нет, если только не забить на лицензии и не пытаться выковырять из открытых систем.
Я в этой области кручусь уже давно и у меня свой движок для таких задач. Уже довольно навороченный. Но простую отрисовку треугольников можно сделать за пару дней.
Здравствуйте, velkin, Вы писали:
M>>Ну, подразумевалось что-то, что можно поднять за несколько часов, максимум дней
V>В CAD системах есть возможность анимации, в том же SolidWorks. Смысл из него импортировать куда-то, чтобы делать тоже самое. Хотя бы на ютубе или в гугле набери "solidworks анимация" и увидишь все заявленные тобой требования.
Значит, я не все требования заявил
Конструктор сказал, что в солиде есть возможность анимации, но это большой гемор. Правда, я не уточнил, и наверно зря, насколько он большой.
Еще мне нужна возможность по TCP/UDP/COM как-то управлять этой анимацией. Манипулятор один, а программистов, жаждущих поуправлять им — много. И солида обычно у прогеров нет — он космических денег стоит, и, внезапно, он у нас лицензионный, как и кейл, и альтиум, и всё остальное.
V>Но если упор делается на бесплатность и кроссплатформенность, то в обычной CGI лучше Blender ничего нет. Сначала из CAD модель экспортируется в какой-нибудь промежуточный формат и потом забирается импортом Blender. Дальше можно использовать различные ограничители в том числе систему костей. Есть встроенный игровой движок и физика. Можно экспортировать модели во множество других игровых движков, Source, Unity, Unreal, CryEngine и так далее.
Это какой-то небыстрый путь За пару-тройку дней точно не осилю
V>Нет ответа на вопрос "для чего всё это?", потому тут можно советовать всё что угодно.
Нужно для отладки кинематики реального манипулятора на виртуальной модели
Здравствуйте, LuciferSaratov, Вы писали:
M>>Нужно, чтобы взять модель, допустим, какого-нибудь манипулятора, загрузить в программу, и покрутить сочленениями. Допустим, что прямо уж так нельзя, но тогда нужны средства, чтобы по-быстрому собрать полную модель из отдельных звеньев, сопрячь их, и задавать углы их поворота/параметры линейного перемещения относительно друг друга, наблюдая за этим в реальном времени
LS>ну, Unreal Engine в принципе сгодится. LS>бесплатный он условно, если будешь результатом торговать, то 5% надо будет отстёгивать.
Посмотрел я на него — за пару-тройку дней не осилю что-то годное сделать
Здравствуйте, Marty, Вы писали:
M>Конструктор сказал, что в солиде есть возможность анимации, но это большой гемор. Правда, я не уточнил, и наверно зря, насколько он большой.
Преобразовывать в сетку (меш), а потом с этим работать всяко геморнее, чем сделать всё в SolidWorks. Но если спихнуть задачу на кого-то другого мотивируя это гемором, то это действительно проще, чем самому делать анимацию.
M>Еще мне нужна возможность по TCP/UDP/COM как-то управлять этой анимацией. Манипулятор один, а программистов, жаждущих поуправлять им — много. И солида обычно у прогеров нет — он космических денег стоит, и, внезапно, он у нас лицензионный, как и кейл, и альтиум, и всё остальное.
Мне ситуация видится так, модели идут по схеме:
CAD => 3D редактор => Игровой движок
1) CAD это SolidWorks, Компас и так далее
2) 3D редактор это Blender, 3DSMax и так далее
3) Игровой движок это Source, Unity, Unreal, CryEngine и так далее
Частные случай графический и физический движок, в игровом может быть интегрировано и то и другое. И здесь опять же вопрос, нужна ли физика и насколько точной должна быть физическая модель.
Плюс удалённое управление по TCP/UDP, а это уже программирование Blender на Python и так далее.
M>Это какой-то небыстрый путь За пару-тройку дней точно не осилю M>Нужно для отладки кинематики реального манипулятора на виртуальной модели
Для примера Garry's Mod (готовая физическая песочница на движке Source), мозги вообще не нужны. Можно даже выделенный сервер не ставить, просто в начале игры справа вверху выбрать вместо одиночной игры количество игроков. Далее все могут присоединится к игре набрав команду в консоли (вызывать консоль ~):
connect x.x.x.x
где x.x.x.x компьютер на котором запущена многопользовательская игра. Но Garry's Mod не бесплатен, если конечно не использовать нелицензию. Но зато он кроссплатформенный, работает в винде, линуксах и макосах, только везде нужно ставить клиент стима.
Вот там можно спавнить модели и соединять их, применяя моторы, сочленения, верёвки и прочее. Можно даже импортировать туда модель из той же SolidWorks через Blender и плагин Blender Source Tools, но это не быстро.
Получается, что можно создать:
1) концептуальную модель
2) максимально приближенную к реальности
Если нужно точно соответствие, то это CAD без вариантов. Концептуально можно и в Garry's Mod наваять всё что угодно базовыми инструментами даже без дополнений мастерской, это захваты, роботы манипуляторы, краны и так далее. А с дополнениями можно делать более серьёзные вещи.
P.S. чтобы управлять роботом манипулятором нескольким людям в онлайне, нужно привязываться не к клавишам своей клавиатуры, а создавать физические объекты кнопки, а потом наводиться на них и нажимать. Есть ещё полезное дополнение Wiremod, но это уже пошли частности.