由用户创建的信息 Evgeny Rodygin
09 February 2016 12:32
Ответ на сообщение пользователя rknopf
Sorry to rez this, but I thought I'd mention that this became a blocker for me. With twenty skinned objects being loaded (vs. cloned), the load times were painful. Is cloning skinned objects still on the roadmap?
Yes. I can assume, this feature can be introduced in 2 or maybe 3 releases. We'll make the copy function to work properly with the whole object hierarchy. Thus, you will only need to copy a parent object so that all its children will be copied automatically. And there will be an option to disable this behavior.
06 February 2016 22:02
06 February 2016 21:56
05 February 2016 18:45
Ответ на сообщение пользователя КириллВаш код нужно заменить на следующий.
Приветствую! Хочу попробовать смешать 2 скелетных анимации. Чтобы добиться примерно такого эффекта.
В документации нашёл функцию set_skel_mix_factor(armobj, factor, timeopt), думаю это то что нужно, но примеров, как работать с этой функцией не нашёл пока что (может плохо искал).
Подготовил демку, где включаю 2 скелетных анимации одну за другой, подскажите как их смешать?
anim_test.zip
function play_anim() {
var arm = m_scs.get_object_by_name('Armature');
m_anim.apply(arm, 'anim_1', m_anim.SLOT_0);
m_anim.apply(arm, 'anim_2', m_anim.SLOT_1);
m_anim.set_skel_mix_factor(arm, 0.5);
m_anim.play(arm, null, m_anim.SLOT_ALL);
}
В Blend4Web используется концепция анимационных слотов, в каждом из которых может храниться анимация любого типа. От объектной до системы частиц. Максимум 8. В случае скелетных анимаций смешиваются две последние.
Документацию на смешивание скелетных анимаций мы пока не писали, поскольку эта фича у нас носит всё ещё экспериментальный характер и в некоторых случаях даёт сильные артефакты.
Ответ на сообщение пользователя КириллУ нас есть специальные API для управления костями. Их можно оценить в этом примере
Ещё возник вопрос: во время проигрывания скелетной анимации можно управлять костями через API? Например стоит персонаж и ему нужно посмотреть на определённый угол вверх или вниз, при этом продолжая проигрывать анимацию всего скелета…
Но в случае со скелетной анимацией пока не получится произвести таких модификаций, поскольку на данный момент скелетная анимация перезаписывает позиции всех костей. Работа над полноценной процедурной анимацией ведется, но как скоро она будет готова, пока сложно сказать.
05 February 2016 10:45
04 February 2016 18:45
Hello,
I suppose, you moved this file with its textures to some folder outside SDK and clicked the Fast Preview button or exported it instead of existing sky_texture.json. Thus, Development Server wasn't able to get those textures, because it has no rights to go outside of the blend4web folder.
To check if this is a right presumption, open the F12 console when watching the scene in the browser and search for 404 (Not Found Errors)
If this is the issue, you need to put all the files inside SDK. The other option is to switch Automatically Pack into .blend check box and use the Fast Preview button.
I suppose, you moved this file with its textures to some folder outside SDK and clicked the Fast Preview button or exported it instead of existing sky_texture.json. Thus, Development Server wasn't able to get those textures, because it has no rights to go outside of the blend4web folder.
To check if this is a right presumption, open the F12 console when watching the scene in the browser and search for 404 (Not Found Errors)
If this is the issue, you need to put all the files inside SDK. The other option is to switch Automatically Pack into .blend check box and use the Fast Preview button.
04 February 2016 15:12
03 February 2016 17:09
But my problem is i try to parent the camera to the player with
m_cons.append_stiff_trans_rot(camobj, character, [0, 0.4, 0], [0.707, 0, 0, 0.707]);
It is better not to try constructing quaternions this way. I would go with a corresponding method for euler angles to quat conversation.
We have prepared an example for a similar question in another thread. I attached it to this message.
Another constraint type is used here. You will find it in the following line:
m_cons.append_semi_stiff_cam(camobj, character, offset);
03 February 2016 14:28
03 February 2016 10:22