Skip to content

Releases: pixiv/three-vrm

v3.1.5

08 Nov 05:37
Compare
Choose a tag to compare

v3.1.4...v3.1.5
Milestone


πŸ’‘ Behavior Changes

  • #1525: VRMAnimation: Improve hips position warning

πŸ› Bugfixes

  • #1518: Fix behavior of expressions MaterialColorBinds and TextureTransformBinds when the target material is with outline (@MtBlue81)

πŸ“„ Docs

  • #1512: Fix eratta in migration-guide-1.0

v3.1.4

22 Oct 08:31
Compare
Choose a tag to compare

v3.1.3...v3.1.4
Milestone


πŸ’‘ Behavior Changes

v3.1.3

17 Oct 05:43
Compare
Choose a tag to compare

v3.1.2...v3.1.3
Milestone


πŸ“¦ Deps

v3.1.2

02 Oct 06:11
Compare
Choose a tag to compare

v3.1.1...v3.1.2
Milestone


πŸ› Bugfixes

  • #1492: Fix screenCoordinates outline rendering in WebGL

πŸ“¦ Deps

v3.1.1

05 Sep 09:16
Compare
Choose a tag to compare

v3.1.0...v3.1.1
Milestone


πŸ’‘ 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

07 Aug 08:06
Compare
Choose a tag to compare

v3.0.0...v3.1.0
Milestone


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

  • #1448, #1461: Support VRMC_springBone_extended_collider

πŸ“„ Docs

  • #1455: Fix humanoidAnimation example (reported by @DENNKA)
  • #1458: Fix WebGPU example code, sameBoneCounts -> experimentalSameBoneCounts
  • #1459: Update README WebGPU examples

v3.1.0-beta.0: Extended collider beta

05 Aug 09:02
Compare
Choose a tag to compare
Pre-release

v3.0.0...v3.1.0-beta.0


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!


Changelogs

✨ New features

  • #1448: Support VRMC_springBone_extended_collider

πŸ“„ Docs

  • #1455: Fix humanoidAnimation example (reported by @DENNKA)
  • #1458: Fix WebGPU example code, sameBoneCounts -> experimentalSameBoneCounts
  • #1459: Update README WebGPU examples

v3.0.0: WebGPU Support!

01 Aug 08:48
Compare
Choose a tag to compare

v2.1.3...v3.0.0
Milestone


@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 than MToonMaterial (namely, MToonNodeMaterial)
    • This should not affect many users since the interface of MToonNodeMaterial is almost identical to MToonMaterial.
  • #1415: needThumbnailImage is now false by default
    • If you are using meta.thumbnailImage, you have to set plugin.metaPlugin.needThumbnailImage to true.

✨ New features

πŸ’‘ Behavior changes

  • #1415, #1426: needThumbnailImage is now false by default

πŸ“„ 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 πŸ‘

πŸ“¦ Deps

  • #1406: Bump TypeScript to v5 + other related bumps
  • #1446: Bump Three.js to r167

v3.0.0-beta.2 (WebGPU support beta)

26 Jul 09:41
Compare
Choose a tag to compare
Pre-release

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

19 Jul 09:51
Compare
Choose a tag to compare

Milestone
v2.1.2...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.