Можно ли называть повороты / стыки в тройках и как их устанавливать?
Я делаю немного работы с 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.