# Components with functionalities similar to TransformControls

**URL:** <https://discourse.threejs.org/t/components-with-functionalities-similar-to-transformcontrols/66079>\
**Category:** Questions\
**Tags:** transform-controls, transform, materials, geometry\
**Created:** [May 28, 2024, 1:54am UTC](https://discourse.threejs.org/t/components-with-functionalities-similar-to-transformcontrols/66079 "2024-05-28T01:54:55Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![JKLEE](https://avatars.discourse-cdn.com/v4/letter/j/c68b51/32.png) [@JKLEE](https://discourse.threejs.org/u/JKLEE)\
**Post date:** [May 28, 2024, 1:54am UTC](https://discourse.threejs.org/t/components-with-functionalities-similar-to-transformcontrols/66079/1 "2024-05-28T01:54:55Z")

</div>

"Do you know of any components similar to TransformControls that allow rotating and moving meshes in a loaded glb file?

TransformControls is somewhat inconvenient to use. If there are other good components, please let me know. It would be perfect if they also have a feature to reset to the initial position!"

![image](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/1/6/1622e09f5e55372cc1aec915c59e0404c514c7d8.png)

---

<div class="post-metadata">

**Author:** ![drcmda](https://avatars.discourse-cdn.com/v4/letter/d/91b2a8/32.png) [@drcmda](https://discourse.threejs.org/u/drcmda)\
**Post date:** [May 28, 2024, 8:14am UTC](https://discourse.threejs.org/t/components-with-functionalities-similar-to-transformcontrols/66079/2 "2024-05-28T08:14:45Z")

</div>

[drei/pivotcontrols](https://github.com/pmndrs/drei?tab=readme-ov-file#pivotcontrols) they’re more configurable than transformcontrols

demo1: [https://codesandbox.io/p/sandbox/object-gizmo-controls-om2ff8](https://codesandbox.io/p/sandbox/object-gizmo-controls-om2ff8)

demo2: [https://codesandbox.io/p/sandbox/multiple-views-with-uniform-controls-r9w2ob](https://codesandbox.io/p/sandbox/multiple-views-with-uniform-controls-r9w2ob)

---

<div class="post-metadata">

**Author:** ![JKLEE](https://avatars.discourse-cdn.com/v4/letter/j/c68b51/32.png) [@JKLEE](https://discourse.threejs.org/u/JKLEE)\
**Post date:** [May 28, 2024, 9:00am UTC](https://discourse.threejs.org/t/components-with-functionalities-similar-to-transformcontrols/66079/3 "2024-05-28T09:00:28Z")

</div>

Thank you for your guidance.  
Of course, these should be usable in vanilla JavaScript, not just in a React environment, right?

---

<div class="post-metadata">

**Author:** ![drcmda](https://avatars.discourse-cdn.com/v4/letter/d/91b2a8/32.png) [@drcmda](https://discourse.threejs.org/u/drcmda)\
**Post date:** [May 28, 2024, 9:24am UTC](https://discourse.threejs.org/t/components-with-functionalities-similar-to-transformcontrols/66079/4 "2024-05-28T09:24:30Z")

</div>

pivot is for react + three, the only other one i know for vanilla is [GitHub - sketchpunklabs/manipulator3d](https://github.com/sketchpunklabs/manipulator3d)

---

<div class="post-metadata">

**Author:** ![JKLEE](https://avatars.discourse-cdn.com/v4/letter/j/c68b51/32.png) [@JKLEE](https://discourse.threejs.org/u/JKLEE)\
**Post date:** [May 29, 2024, 7:49am UTC](https://discourse.threejs.org/t/components-with-functionalities-similar-to-transformcontrols/66079/5 "2024-05-29T07:49:59Z")

</div>

I’m sorry, I couldn’t find the API documentation for sketchpunklabs/manipulator3d, so I’m asking for help.

After generating the manipulator on the rendering screen with `manipulator.setActive(true);` and adding the model to the scene with `scene.add(model)`, I rotated the model on the x-axis:

`model.rotation.x = Math.PI / -2;`

Since then, the manipulator’s axes and the model are not aligned.

For example, when I transform the manipulator’s y-axis, the model moves along the z-axis. When I transform the manipulator’s z-axis, the model moves along the y-axis.

It seems that the manipulator did not rotate along with the model when I set `model.rotation.x = Math.PI / -2;`.

Do you know how to resolve this issue?
