Можно ли называть повороты / стыки в тройках и как их устанавливать?

Я делаю немного работы с ThreeJS. А теперь просто интересно, можно ли было назвать повороты или суставы.

Так что кажется возможным написать код вроде:

arm.rotateZ( 180 ).name="ARM_ANGLE";

Но тогда как впоследствии получить доступ и установить то же вращение?

Я знаю, что в x3d это можно сделать, поэтому подумал, что это можно сделать и в Threejs. В x3d можно определить ссылку как:

<Transform DEF="ArmAngle" rotation="0 0 1 3.19">

А затем позже определите маршрут для ссылки на него, например:

<ROUTE fromNode='spinarm' fromField='value_changed' toNode='ArmAngle' toField='set_rotation'></ROUTE>

1 ответ

Решение

То, что вы описываете, звучит как анимация клавиш или преобразование ключевых кадров.

Вы можете определить их в моделировщике, таком как Blender, и экспортировать их или сгенерировать их программно.

Но в целом, то, что вы описываете из x3d, должно быть слоем, построенным поверх трех, если вы действительно хотите этот стиль интерфейса, но, честно говоря, довольно просто использовать стиль манипуляции в графе сцены... т.е. найти объект и установка его положения и поворота. ИЛИ определение анимации в моделировщике, а затем вызов этой анимации. Преимущество использования анимаций заключается в том, что вы можете смешивать их между собой.

Вы МОЖЕТЕ назвать объекты тремя... так, например, вы можете назвать свою руку... и затем найти ее, используя scene.getObjectByName("arm"). getObjectByName - это метод всех Object3D.

Другие вопросы по тегам