Releases: pixiv/three-vrm
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
v3.1.3
v3.1.2
v3.1.1
π‘ Behavior Changes
- #1449: VRMAnimation, emit a warning if the rest hips position is approximately zero
- #1462: Change VRMSpringBoneManager circular dependency error to warning
π Bugfixes
- #1473: Fix behavior of UnlitTransparentZWrite in VRM0 models
π Docs
- #1460: Fix three-vrm-animation examples
π¦ Deps
v3.1.0: SpringBone Extended Collider
This version supports VRMC_springBone_extended_collider
that adds supports of inside colliders and plane colliders to the existing spring bone system.
For end developers: You don't have to change your implementation to support the new extended collider extension. The spring bone module inside the three-vrm will automatically load the new colliders!
β¨ New features
π Docs
v3.1.0-beta.0: Extended collider beta
About VRMC_springBone_extended_collider support
This beta release supports VRMC_springBone_extended_collider
that adds supports of inside colliders and plane colliders to existing spring bones.
Note that the specVersion
of VRMC_springBone_extended_collider
must be 1.0-draft
at the moment.
For end developers: You don't have to change your implementation to support the new extended collider extension. The spring bone module inside the three-vrm will automatically load the new colliders!
v3.0.0: WebGPU Support!
@pixiv/three-vrm v3 supports WebGPURenderer by using MToonNodeMaterial, the MToon material based on the new NodeMaterial system.
To use @pixiv/three-vrm
with WebGPURenderer, specify the WebGPU-compatible MToonNodeMaterial for the materialType option of MToonMaterialLoaderPlugin.
MToonNodeMaterial
only supports Three.js r167 or later.
The NodeMaterial system of Three.js is still under development, so we may break compatibility with older versions of Three.js more frequently than other parts of three-vrm.
import { VRMLoaderPlugin } from '@pixiv/three-vrm';
import { MToonNodeMaterial } from '@pixiv/three-vrm/nodes';
// ...
// Register a VRMLoaderPlugin
loader.register((parser) => {
// create a WebGPU compatible MToonMaterialLoaderPlugin
const mtoonMaterialPlugin = new MToonMaterialLoaderPlugin(parser, {
// set the material type to MToonNodeMaterial
materialType: MToonNodeMaterial,
});
return new VRMLoaderPlugin(parser, {
// Specify the MToonMaterialLoaderPlugin to use in the VRMLoaderPlugin instance
mtoonMaterialPlugin,
});
});
See the example webgpu-dnd.html
for the complete example.
π¨ BREAKING CHANGES π¨
- #1302: Remove downlevel-dts
- If you are still using TypeScript 3.9 or earlier, you have to update your TypeScript.
- #1384:
gltf.userData.vrmMToonMaterials
might have materials other thanMToonMaterial
(namely,MToonNodeMaterial
)- This should not affect many users since the interface of
MToonNodeMaterial
is almost identical toMToonMaterial
.
- This should not affect many users since the interface of
- #1415:
needThumbnailImage
is now false by default- If you are using
meta.thumbnailImage
, you have to setplugin.metaPlugin.needThumbnailImage
totrue
.
- If you are using
β¨ New features
- #1384, #1420, #1424, #1427, #1429, #1438, #1446: WebGPU support (MToonNodeMaterial)
- #1432: Add
.resetValues
to VRMExpressionManager
π‘ Behavior changes
π Docs
- #1437: Improve README.md "How to Use" section
π§Ή Chores
- #1302: Remove downlevel-dts
- #1411, #1413, #1416: Migrate build system to esbuild
- #1428, #1445: Specify more appropriate Three.js versions in peerDependencies
- If you're using npm, you no longer have to specify
--legacy-peer-deps
π
- If you're using npm, you no longer have to specify
π¦ Deps
v3.0.0-beta.2 (WebGPU support beta)
v2.1.3...v3.0.0-beta.2
v3.0.0-beta.1...v3.0.0-beta.2
Introduction of MToonNodeMaterial
**This beta version supports WebGPURenderer by using MToonNodeMaterial, the MToon material based on the new NodeMaterial system.**To use @pixiv/three-vrm
with WebGPURenderer, specify the WebGPU-compatible MToonNodeMaterial for the materialType option of MToonMaterialLoaderPlugin.
MToonNodeMaterial
only supports Three.js r167 or later.
The NodeMaterial system of Three.js is still under development, so we may break compatibility with older versions of Three.js more frequently than other parts of three-vrm.
import { VRMLoaderPlugin } from '@pixiv/three-vrm';
import { MToonNodeMaterial } from '@pixiv/three-vrm/nodes';
// ...
// Register a VRMLoaderPlugin
loader.register((parser) => {
// create a WebGPU compatible MToonMaterialLoaderPlugin
const mtoonMaterialPlugin = new MToonMaterialLoaderPlugin(parser, {
// set the material type to MToonNodeMaterial
materialType: MToonNodeMaterial,
});
return new VRMLoaderPlugin(parser, {
// Specify the MToonMaterialLoaderPlugin to use in the VRMLoaderPlugin instance
mtoonMaterialPlugin,
});
});
See the example webgpu-dnd.html
for the complete example.
Changelogs
π¨ BREAKING CHANGES π¨
- #1446:
@pixiv/three-vrm/nodes
now requires Three.js r167 or higher.
π‘ Behavior changes
- #1446: Support r167
three/webgpu
module.
π Bugfixes
- #1445: Restore wrongly removed compat code
π Docs
- #1438: WebGPU examples,
sameBoneCounts
->experimentalSameBoneCounts
π¦ Deps
- #1446: Bump Three.js to r167
v2.1.3
π Bugfixes
- #1410: MToon, Fix normal mapping when other textures are not specified
- #1441: Add new shadowIntensity value to mtoon shader (@ashconnell)
- This should make it work with Three.js r166.