How to change the object size without changing the scale attribute

does threejs have the concept of blender dimensions
i got a glb file made by blender, this scale and parent scale value are equal proportional
but it doesn’t look equal
i found another unit dimensions is not equal …


I need to set the frame to the scale of the new picture
if i use scale, the picture will be distorted
so how to set other attribute to set size
thanks
glb file (149.2 KB)
blender file (1002.3 KB)

No, sorry. You can only use Object3D.scale to size objects up and down. Changing scale affects the object itself and its descendants.

The only solution I can think of right now is to update the geometry data itself. Meaning you change the transformation in Blender but then “bake” it into the geometry.

i wrote a demo
when I get the frame, make a backup of it
then when i change image, i got image ratio, frame ratio, frame dimensions ratio,
i calculate new image width height with backup frame dimensions ratio

    function getFormatVal(defaultVal, rate = 1, frameRate = 1) {
      const height1 = defaultVal
      const width1 = height1 * rate / frameRate
      return { width1, height1 }
    }

calculate frame codepen link