# Import / Create an HAnimHumanoid

**URL:** https://forum.castle-engine.io/t/import-create-an-hanimhumanoid/1972
**Category:** 3D
**Created:** [July 15, 2025, 9:32am UTC](https://forum.castle-engine.io/t/import-create-an-hanimhumanoid/1972 "2025-07-15T09:32:51Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![henner](https://forum.castle-engine.io/letter_avatar_proxy/v4/letter/h/ee59a6/32.png) [@henner](https://forum.castle-engine.io/u/henner)
#### Post date: [July 15, 2025, 9:32am UTC](https://forum.castle-engine.io/t/import-create-an-hanimhumanoid/1972/1 "2025-07-15T09:32:51Z")

</div>

Hi Michalis,

I am doing my first steps to work with CGE in connection to my MovEngine software.

So far, I was able to setup an HAnimHumaniod model from my existing MovEngine model. I could save this as X3D and load it in Castle Model Viewer.

Now I am trying to import a model with skeleton from Collada and to create the HAnimHumanoid. I started to hack the CGE Collada import code for this, but now I am stuck with this problem:

The `THAnimJointNode.RestCenter` is `strict private` and setup in `THAnimJointNode.ParseAfter`. This means it will be called (as far as I understand) only when loading from x3d but not when importing from other formats or setting up a humanoid from code.

Or do I miss something?

Thanks, Henner

---

<div class="post-metadata">

### Author: ![michalis](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/michalis/32/3_2.png) [@michalis](https://forum.castle-engine.io/u/michalis)
#### Post date: [July 15, 2025, 2:14pm UTC](https://forum.castle-engine.io/t/import-create-an-hanimhumanoid/1972/2 "2025-07-15T14:14:07Z")

</div>

1. As for functionality available now only in `ParseAfter`:

2. As for doing skinning and H-Anim:

3. As for Collada:

Summary:

- Why you can continue, using H-Anim nodes (with new exposed methods) and engine `master` and improving our Collada animation import…

- I would actually recommend a different approach:

I hope this is clear and it helps 🙂 Sorry, it’s probably more information than you wanted :), but as it happens – what you’re doing touches something that we have just improved greatly in the engine (alas, not yet merged to master). It would be a waste if you base your design on something un-optimal.

---

<div class="post-metadata">

### Author: ![henner](https://forum.castle-engine.io/letter_avatar_proxy/v4/letter/h/ee59a6/32.png) [@henner](https://forum.castle-engine.io/u/henner)
#### Post date: [July 16, 2025, 7:13am UTC](https://forum.castle-engine.io/t/import-create-an-hanimhumanoid/1972/3 "2025-07-16T07:13:31Z")

</div>

Thanks a lot for the quick fix.

For the rest: Of course this is “too much” information, but I will happily digest all the details over time.  
I see your points, but for the moment I am dealing only with a very specific use-case: I have some Collada models, that I want to access (with skeleton).

But all your information might be very useful in future considerations.

---

<div class="post-metadata">

### Author: ![michalis](https://forum.castle-engine.io/user_avatar/forum.castle-engine.io/michalis/32/3_2.png) [@michalis](https://forum.castle-engine.io/u/michalis)
#### Post date: [July 16, 2025, 10:29am UTC](https://forum.castle-engine.io/t/import-create-an-hanimhumanoid/1972/4 "2025-07-16T10:29:29Z")

</div>

> [@henner](#):
>
> I see your points, but for the moment I am dealing only with a very specific use-case: I have some Collada models, that I want to access (with skeleton).

Understood, if you just have to read Collada, go for it.

I would still recommend to read my details 🙂 Because:

1. Using [GitHub - KhronosGroup/COLLADA2GLTF: COLLADA to glTF converter](https://github.com/KhronosGroup/COLLADA2GLTF) may be much simpler approach than extending our Collada importer.

2. And if not, we already have glTF → `Skin` node import on the `skinned-animation-gpu` branch, which is much simpler than what we have in `master` (because `Skin` matches glTF in an obvious way and because we don’t precalculate it). So if you want to extend Collada importer, it should likely be extended in the same way.
