# How to recreate Havok physics shape based on morph target positions?

**URL:** <https://forum.babylonjs.com/t/how-to-recreate-havok-physics-shape-based-on-morph-target-positions/60941>\
**Category:** Questions\
**Created:** [October 13, 2025, 11:54pm UTC](https://forum.babylonjs.com/t/how-to-recreate-havok-physics-shape-based-on-morph-target-positions/60941 "2025-10-13T23:54:11Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![kloklike](https://avatars.discourse-cdn.com/v4/letter/k/278dde/32.png) [@kloklike](https://forum.babylonjs.com/u/kloklike)\
**Post date:** [October 13, 2025, 11:54pm UTC](https://forum.babylonjs.com/t/how-to-recreate-havok-physics-shape-based-on-morph-target-positions/60941/1 "2025-10-13T23:54:11Z")

</div>

I have many meshes that get deformed visually via morph targets, and I’d like the deformed meshes to behave somewhat correct with respect to physics. So I was wondering if there’s an easy way to occasionally (i.e. obviously not every frame) remake the havok shape convex hull to reflect the morphed visuals.

---

<div class="post-metadata">

**Author:** ![HiGreg](https://avatars.discourse-cdn.com/v4/letter/h/c5a1d2/32.png) [@HiGreg](https://forum.babylonjs.com/u/HiGreg)\
**Post date:** [October 14, 2025, 12:15am UTC](https://forum.babylonjs.com/t/how-to-recreate-havok-physics-shape-based-on-morph-target-positions/60941/2 "2025-10-14T00:15:00Z")

</div>

If the morph target is changing VertexData (e.g. vertex positions), then recreating physics shape should be something like [the end of this post about updating the PhysicsShape](https://forum.babylonjs.com/t/using-density-and-an-overview-of-physics-properties/51729).

---

<div class="post-metadata">

**Author:** ![kloklike](https://avatars.discourse-cdn.com/v4/letter/k/278dde/32.png) [@kloklike](https://forum.babylonjs.com/u/kloklike)\
**Post date:** [October 14, 2025, 12:21am UTC](https://forum.babylonjs.com/t/how-to-recreate-havok-physics-shape-based-on-morph-target-positions/60941/3 "2025-10-14T00:21:42Z")

</div>

Right, but normally when you make a new physics shape (convex hull), you pass in a mesh and havok creates the convex hull from that. Since the positions in the morph target aren’t actually changing, this doesn’t work. Was wondering if there’s a way to do it

---

<div class="post-metadata">

**Author:** ![HiGreg](https://avatars.discourse-cdn.com/v4/letter/h/c5a1d2/32.png) [@HiGreg](https://forum.babylonjs.com/u/HiGreg)\
**Post date:** [October 14, 2025, 2:58am UTC](https://forum.babylonjs.com/t/how-to-recreate-havok-physics-shape-based-on-morph-target-positions/60941/4 "2025-10-14T02:58:55Z")

</div>

PhysicsShape is based only on vertex positions, not normals, tangents, uvs, etc.

Vertex position changes I think are happening in the GPU.

[This post describes how to get the morphed position data to the CPU](https://forum.babylonjs.com/t/get-position-of-morphed-vertices-morph-targets/31131/2). From there, you may need to create a new mesh to then extract a physics shape.

This thread has more info about [how you _could_ get a physics shape from vertex data](https://forum.babylonjs.com/t/how-to-create-a-physics-aggregate-from-gpu-vertex-data/58804), but the PR was never submitted.

---

<div class="post-metadata">

**Author:** ![kloklike](https://avatars.discourse-cdn.com/v4/letter/k/278dde/32.png) [@kloklike](https://forum.babylonjs.com/u/kloklike)\
**Post date:** [October 14, 2025, 4:52am UTC](https://forum.babylonjs.com/t/how-to-recreate-havok-physics-shape-based-on-morph-target-positions/60941/5 "2025-10-14T04:52:29Z")

</div>

Thank you!

---

<div class="post-metadata">

**Author:** ![CrashMaster](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/crashmaster/32/23662_2.png) [@CrashMaster](https://forum.babylonjs.com/u/CrashMaster)\
**Post date:** [October 14, 2025, 6:56am UTC](https://forum.babylonjs.com/t/how-to-recreate-havok-physics-shape-based-on-morph-target-positions/60941/6 "2025-10-14T06:56:38Z")

</div>

> [@HiGreg](#):
>
> This thread has more info about [how you _could_ get a physics shape from vertex data](https://forum.babylonjs.com/t/how-to-create-a-physics-aggregate-from-gpu-vertex-data/58804), but the PR was never submitted.

I am still planning on making this PR, it’s just I still have a lot of other stuff I want to do first ^^
