Question

I wanted to rotate a plane, but I can't figure out how to set the rotation axis. I'd like to rotate a plane around its edge.

I've seen solutions suggesting matrix transformations but they lacked explanation so I couldn't apply them.

Was it helpful?

Solution

Ok I figured it out. What you have to do is create a parent 3D object and add the plane to it. Once, added, you have to translate it by 50% and start rotating the parent object.

var object = THREE.SceneUtils.createMultiMaterialObject( new THREE.PlaneGeometry( 200, 50, 4, 4 ), [material] );

var parent = new THREE.Object3D();
object.applyMatrix( new THREE.Matrix4().makeTranslation( 0, 25, 0 ) );
parent.add(object);
parent.rotation.x = 1;

scene.add(parent)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top