Releases: pixiv/three-vrm
v3.3.5
π§Ή Chores
- chore(deps-dev): bump @gltf-transform/core from 4.1.0 to 4.1.1 by @dependabot in #1559
- chore(deps-dev): bump @types/node from 22.9.0 to 22.13.4 by @dependabot in #1584
- chore(deps-dev): bump husky from 9.1.6 to 9.1.7 by @dependabot in #1537
- chore(deps-dev): bump eslint-config-prettier from 9.1.0 to 10.0.1 by @dependabot in #1572
- chore(deps-dev): bump typedoc from 0.26.11 to 0.27.7 by @dependabot in #1582
- chore(deps-dev): bump esbuild from 0.24.0 to 0.25.0 by @dependabot in #1579
- chore(deps-dev): bump lint-staged from 15.2.10 to 15.4.3 by @dependabot in #1576
- chore(deps-dev): bump prettier from 3.3.3 to 3.5.3 by @dependabot in #1586
- deps: Bump eslint suite to v9 by @0b5vr in #1565
- fix: update actions/upload-artifact to v4 by @yue4u in #1587
Full Changelog: v3.3.4...v3.3.5
v3.3.4
v3.3.3
v3.3.2
v3.3.1
v3.3.0
π VRMUtils.combineMorphs
π
In #1546, we have a new function, VRMUtils.combineMorphs
, that combines morphs based on VRM expressions.
If you are not using morphs directly via mesh.morphTargetInfluences
, This function might improve the performance, reduce the VRAM pressure, and prevent shader errors in mobile devices caused by models with many morphs.
We recommend adopting this function especially if you are building an application that loads arbitrary models.
VRMUtils.removeUnnecessaryVertices( gltf.scene );
- VRMUtils.removeUnnecessaryJoints( gltf.scene );
+ VRMUtils.combineSkeletons( gltf.scene ); // introduced in v3.2.0
+ VRMUtils.combineMorphs( vrm ); // π introduces in v3.3.0
β¨ New Features
- #1546: Add
VRMUtils.combineMorphs
for reducing the number of mesh morphs
πͺ Performance
v3.2.0
β ATTENTION! β
In #1535, we have a new function VRMUtils.combineSkeletons
that took the place of the existing VRMUtils.removeUnnecessaryJoints
. VRMUtils.combineSkeletons
is much more performant than VRMUtils.removeUnnecessaryJoints
.
Using VRMUtils.removeUnnecessaryJoints
is now deprecated and will produce a warning in the console. The function will be removed in the next major release.
I believe you can safely replace VRMUtils.removeUnnecessaryJoints
with VRMUtils.combineSkeletons
without any errors or performance degradation.
If you have any issues, please let us know.
- VRMUtils.removeUnnecessaryJoints( gltf.scene );
+ VRMUtils.combineSkeletons( gltf.scene );
β¨ New Features
π‘ Behavior Changes
- #1540: Put a deprecation warning to
VRMUtils.removeUnnecessaryJoints
πͺ Performance
- #1532:
VRMUtils.removeUnnecessaryJoints
now supports interlaved buffers (@mrxz)- Also,
VRMUtils.removeUnnecessaryVertices
is more performant
- Also,
π§Ή Chores
- #1531: Update GitHub Actions
- #1536: NodeMaterials,
.temp()
->.toVar()
.temp()
is deprecated in r170
π¦ Deps
v3.1.6
v3.1.5
v3.1.4
π‘ Behavior Changes
- #1489: Modify behavior of expressions, interaction between isBinary and override (Reported by @mattrossman)
- According to the VRM spec update: vrm-c/vrm-specification#487