Setting mesh position to object via property exhibits different behavior

After I upgraded to v4.2.0, my code broke. My workaround took quite a while to arrive at, so I thought I’d mention it. (Thanks for the library; this is the first problem I’ve ever had.)

In version 4.1.0 this playground works (the sphere shows up), but not in v4.2.0 or latest, unless I’m missing something.

https://playground.babylonjs.com/#P1RZV0#22

Version = 4.1.0: A sphere shows.
Version > 4.2.0: No sphere, it seems.

This makes the difference:

sphere.position = {x:0, y:1, z:0};

Changing to a vector instance (instead of object) actually works.

In fact,

Version 4.2.0-alpha.18: POJO object works.
Version 4.2.0-alpha.20: object broken; requires vector instance.

I did not see this mentioned in the breaking changes.
I’m glad to open a GitHub issue unless this is on purpose, which it could be. Thanks.

not mentioned in breaking changes as vector3 class is expected to be used :slight_smile:
vector3 is now _x, _y, _z
with getters x, y, z, some internal operations will not use the getters,
but directly private properties _x _y _z (why a normal object may not work)

2 Likes

ah man. i thought i found a problem but i just should have read the docs.