 <p>One solution is to translate the mesh geometry, and compensate by changing the mesh position, like so:</p> <pre><code>var offset = objMesh.centroid.clone(); objMesh.geometry.applyMatrix(new THREE.Matrix4().makeTranslation( -offset.x, -offset.y, -offset.z ) ); objMesh.position.copy( objMesh.centroid ); </code></pre> <p>updated fiddle: <a href="http://jsfiddle.net/Ldt7z/165/" rel="nofollow">http://jsfiddle.net/Ldt7z/165/</a></p> <p>P.S. You do not need to save your fiddle before running it. There is no reason to have so many versions.</p> <p>three.js r.55</p>