bhvngt
April 26, 2022, 4:11pm
1
When I import a gltf
file using LoadAssetContainer
, some of the properties of animation group object are different between v4.2.2 and v5.3. For example in this playground ,
assets.animationGroups[0].targetedAnimations[0].animation.framePerSecond
assets.animationGroups[0].to
have different values.
This is making it play different animation on v5. Is this an expected change? Am I missing any configuration?
@carolhmj can explain why
Yeah, it’s an expected breaking change, it’s on our what’s new documentation
- You should now access joint meshes from `WebXRHand` through the `getJointMesh()` function ([rgerd](https://github.com/rgerd))
- Rework of the inner working of render targets. Those are mostly internal changes. From the end user standpoint, the most visible change is that the `PostProcess` class is now dealing with `RenderTargetWrapper` instead of `InternalTexture` objects. So, if you are directly updating the `inputTexture` property with a render target texture that you previously rendered, you will need to pass a `RenderTargetWrapper` instead of an `InternalTexture`: you will get it by doing `rtt.renderTarget`, where `rtt` is the instance of your `RenderTargetTexture`. ([Popov72](https://github.com/Popov72))
- `ShaderMaterial` is now storing the effect on submeshes by default. It may be a breaking change in some special cases where one creates a `ShaderMaterial` not to be used as the material property of a mesh but instead to handle it "by hand" by calling `ShaderMaterial.isReady` / `ShaderMaterial.bind` directly. If you are doing that, you may want to pass `false` as the 5th parameter of the `ShaderMaterial` constructor to disable storing the effect on submeshes.
- The `glTFLoader.rootBabylonMesh` getter now has a nullable return type (glTF files without mesh data) ([simonihmig](https://github.com/simonihmig))
- When updating the `m` array of the `Matrix` class directly, you must call `markAsUpdated()` explicitly or the matrix changes may not take effect ([Popov72](https://github.com/Popov72), [Deltakosh](https://github.com/deltakosh), [bghgary](https://github.com/bghgary), [Sebavan](https://github.com/sebavan))
- Loading glTF assets with skins now places skinned meshes as siblings of the corresponding skeleton root nodes instead of using `skeleton.overrideMesh`. ([bghgary](https://github.com/bghgary))
- The `overrideMesh` of the `Skeleton` class has been removed. ([bghgary](https://github.com/bghgary))
- Cloning a mesh now assigns the `skeleton` property to the source skeleton. ([bghgary](https://github.com/bghgary))
- Cloning and creating instances of a mesh now refreshes the bounding box applying skins and morph targets. ([bghgary](https://github.com/bghgary))
- `KeyboardInfoPre.skipOnPointerObservable` is now correctly renamed to `KeyboardInfoPre.skipOnKeyboardObservable`. ([bghgary](https://github.com/bghgary))
- GLTF Animations are loaded at 60 FPS by default, instead of the previous 1 FPS. ([carolhmj](https://github.com/carolhmj)).
If you'd like to keep your existing animation ranges, you can use this workaround:
```
BABYLON.SceneLoader.OnPluginActivatedObservable.add(function(plugin) {
if (plugin.name === "gltf") {
plugin.targetFps = 1;
}
});
```
- `currentState` and `previousState` have been removed from use in `onInputChangedObservable` in the `DeviceSourceManager` ([PolygonalSun](https://github.com/PolygonalSun))
- `PointerInput` movement enums are no longer being used in any movement event handling in the `DeviceInputSystem` and `InputManager` ([PolygonalSun](https://github.com/PolygonalSun))
2 Likes
This is how you can get back to previous
2 Likes
bhvngt
April 27, 2022, 5:44am
5
Thank you very much @carolhmj @Deltakosh . This worked.
3 Likes