KuDeSnik33 Posted April 14, 2023 Posted April 14, 2023 I want to create ObjectMeshSkinned with single mesh file - with mesh data and animation in it. How can I play the embedded animation in Editor? I was trying to setAnimName() with name of embedded animation - this does not work, name is highlighted with Red as missing file. Is there any solution?
KuDeSnik33 Posted April 19, 2023 Author Posted April 19, 2023 Лучше писать по-русски? Здравствуйте, подскажите - пытаюсь воспроизвести в ObjectMeshSkinned анимацию, встроенную в Mesh файл - возможно ли это? Или обязательно нужен отдельный файл?
bmyagkov Posted April 19, 2023 Posted April 19, 2023 3 minutes ago, KuDeSnik33 said: Лучше писать по-русски? Здравствуйте, подскажите - пытаюсь воспроизвести в ObjectMeshSkinned анимацию, встроенную в Mesh файл - возможно ли это? Или обязательно нужен отдельный файл? Добрый день! К сожалению, не совсем понятно, в чём заключается проблема. Вы используете редактор или пытаетесь сделать это через наше API? В данный момент при использовании редактора всё работает как задумано. После импорта модели создаётся файл ".anim", который автоматически назначается в поле "Preview Animation" и воспроизводится после нажатия кнопки "Play". Можете, пожалуйста, более точно описать шаги для воспроизведения проблемы или предоставить нам простой семпл, чтобы мы могли повторить проблему у себя? P.S. Вы можете писать так, как вы будет удобно, используя любой язык :) Спасибо!
KuDeSnik33 Posted April 19, 2023 Author Posted April 19, 2023 Спасибо за ответ, я делаю плагин для редактора и генерирую Mesh без сохранения в файл. С самим мешем проблем нет, проблема с анимацией, встроенной в него. Потому мой вопрос - есть ли возможность воспроизвести анимацию, встроенную в тот же Mesh файл - хотябы через API, а лучше и в самом редакторе.
bmyagkov Posted April 19, 2023 Posted April 19, 2023 20 minutes ago, KuDeSnik33 said: Спасибо за ответ, я делаю плагин для редактора и генерирую Mesh без сохранения в файл. С самим мешем проблем нет, проблема с анимацией, встроенной в него. Потому мой вопрос - есть ли возможность воспроизвести анимацию, встроенную в тот же Mesh файл - хотябы через API, а лучше и в самом редакторе. Как вы добавляете анимацию в меш? Если в меше есть анимация, то при создании ObjectMeshSkinned она сразу будет загружена. Можно проверить через getNumAnimations(). Потом можно взять её id и настроить на нулевой слой. Потом просто play() и должно работать. Если возможно, пришлите сниппет кода, пожалуйста. Спасибо!
KuDeSnik33 Posted April 19, 2023 Author Posted April 19, 2023 Этот вариант для своего кода - а в редакторе воспроизвести такую анимацию по кнопке Play возможности нет?
bmyagkov Posted April 20, 2023 Posted April 20, 2023 18 hours ago, KuDeSnik33 said: Этот вариант для своего кода - а в редакторе воспроизвести такую анимацию по кнопке Play возможности нет? Такая возможность есть, посмотрите пожалуйста ассет в аттаче - в данном случае ".anim" вшит в ".mesh" и воспроизводится из редактора по кнопке Play как и ожидается. skinned_01.mesh
KuDeSnik33 Posted April 20, 2023 Author Posted April 20, 2023 Спасибо, почти всё получилось - единственная проблема, не могу запустить анимацию с нулевой скоростью. auto result = Unigine::ObjectMeshSkinned::create(m_mesh); result->setNumLayers(1); int resultAnimIdx = result->findAnimation("pointRailAnim"); if (resultAnimIdx != -1) { result->setAnimation(0, resultAnimIdx); result->setLayer(0, true, 1.0f); result->setSpeed(0.0f); result->play(); result->setTime(0.0f); } Анимация не воспроизводится после создания - кости в исходной позиции. Если я сделаю повторно int animIdx = skinnedNode->findAnimation("pointRailAnim"); if (animIdx >= 0) { skinnedNode->setAnimation(0, animIdx); skinnedNode->setTime(0.0f); skinnedNode->play(); } То кадр применится
bmyagkov Posted April 20, 2023 Posted April 20, 2023 Это корректное поведение для нулевой скорости. Время не меняется, а значит и кадры новые применять в play() не нужно. Т.е. new_time == old_time и ничего не делаем. Все заработает с изменением времени. Иначе бы каждый кадр в пустую вычисляли все трансформации костей и применяли без всяких изменений. Спасибо!
Recommended Posts