# How is this 3d model able to scale projection and height without stretching?

**URL:** <https://discourse.threejs.org/t/how-is-this-3d-model-able-to-scale-projection-and-height-without-stretching/62686>\
**Category:** Questions\
**Tags:** models, animation, 3d-model\
**Created:** [March 12, 2024, 5:31pm UTC](https://discourse.threejs.org/t/how-is-this-3d-model-able-to-scale-projection-and-height-without-stretching/62686 "2024-03-12T17:31:29Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![bcy](https://avatars.discourse-cdn.com/v4/letter/b/e95f7d/32.png) [@bcy](https://discourse.threejs.org/u/bcy)\
**Post date:** [March 12, 2024, 5:31pm UTC](https://discourse.threejs.org/t/how-is-this-3d-model-able-to-scale-projection-and-height-without-stretching/62686/1 "2024-03-12T17:31:29Z")

</div>

This 3d model seems to be able to change projection and width without stretching.

> **[Configure your awning](https://www.markilux.com/en-us/configurator?awning=markilux-pergola-compact)**
>
> Configure your dream outdoor patio shading online with the markilux awning configurator! Vast array of options. Easy. Fast. Free. ➔ Start now!

This is the 3d model they are using.

> **[f.glb](https://drive.google.com/file/d/1-KbkbrwpWHl0bdFQpa39yzLzOvTj3APV/view?usp=sharing)**
>
> Google Drive file.

There are animations for projections, so that explain how it scales in one dimension. But what about the other dimension?

This models seems to use something named join points. When join points are moved the model resizes. How does this work?

![Screenshot from 2024-03-12 23-22-54](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/8/e/8eef5dfbec9cc59eac3d4489bb5e2002a2ce53ce.png)

![Screenshot from 2024-03-12 23-22-18](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/3X/9/8/98f664c9f5f3102237a9aa1f608cdeca37469888.png)

---

<div class="post-metadata">

**Author:** ![manthrax](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/manthrax/32/2596_2.png) [@manthrax](https://discourse.threejs.org/u/manthrax)\
**Post date:** [March 12, 2024, 7:06pm UTC](https://discourse.threejs.org/t/how-is-this-3d-model-able-to-scale-projection-and-height-without-stretching/62686/2 "2024-03-12T19:06:44Z")

</div>

You can use a skinnedMesh and weight the vertices to 1 or more bones.  
Each bone acts is a transform for one part of the mesh, and since vertices can be weighted to multiple bones, you can get a lot of control over how things stretch and scale.

My guess in that model is that those \_joint\_links objects are just bones.

---

<div class="post-metadata">

**Author:** ![bcy](https://avatars.discourse-cdn.com/v4/letter/b/e95f7d/32.png) [@bcy](https://discourse.threejs.org/u/bcy)\
**Post date:** [March 14, 2024, 3:41am UTC](https://discourse.threejs.org/t/how-is-this-3d-model-able-to-scale-projection-and-height-without-stretching/62686/3 "2024-03-14T03:41:57Z")

</div>

Thanks for the help, you are right, they are using skinned mesh for scaling.
