Geomtery.translate() is translating in excess?

here’s my theory

i create a boxGeometry of size 1,1,1

new THREE.BoxGeometry( 1, 1, 1 );

i translate the geometry using

geometry.translate(0,0.5.,0)

or

geometry.applyMatrix4( new THREE.Matrix4().makeTranslation( 0, 0.5, 0 ) )

now i expect the center/origin/pivot point to be at the bottom of the cube & and if i animate mesh.scale.y it should look like its growing from a stationary position. But in practice the mesh seems to getting translated way to much.

what could be the issue ?

fiddle (translate part at the end)
https://jsfiddle.net/orion_prime/1hu4tnr5/8/

Hi!
You use the same geometry for 10 meshes, so when you do this:

		for (const mesh of allMeshes){
			// mesh.geometry.applyMatrix4( new THREE.Matrix4().makeTranslation( 0, 0.5, 0 ) )
			mesh.geometry.translate(0,0.5,0)
		}

you translate the geomety 10 * 0.5 = 5 units upward.

I modified your example, now it does the things you want: https://jsfiddle.net/prisoner849/4esdmcyp/

1 Like

FACEPALM :dizzy_face:
yes !! THANKS!