Skip to content

v0.5.5

Choose a tag to compare

@github-actions github-actions released this 08 Oct 13:28
· 7 commits to main since this release
v0.5.5
1da6e33

Adds a typed Mesh reader, Shader array budgets on every surface and a Live2D switch for exact Bezier motions, and writes exp3.json blend modes as the strings the Cubism format defines.

Added

  • Read a Mesh with every vertex channel through StudioObject::read_mesh(MeshReadLimits) in Rust, read_mesh in Python and readMesh / readMeshAsync in Node. The result adds tangents, colours and UV0-UV7 at their stored dimension, decodes them from CompressedMesh too, and returns packed little-endian arrays to the bindings. Integer-format extra channels are refused as unsupported. OBJ and FBX output is unchanged. (#35)
  • Set Shader array budgets from Python (maximum_array_elements, maximum_total_array_elements on read_shader), Node (readShader, readShaderAsync, exportWithOptions), Core ExportOptions and the CLI (--maximum-shader-array-elements, --maximum-shader-total-array-elements). Defaults stay 1,000,000 per array and 4,000,000 in total, so output is byte-identical. (#33)
  • Write Live2D motion segments with flat tangents as exact Bezier curves on request: force_bezier_motions in Python read_live2d_packages, a trailing forceBezierMotions / forceBezier argument in Node, and --l2d-smooth-motions in the CLI live2d-package and legacy -m l2d modes. It is off by default, and default output is byte-identical. (#34)

Fixed

  • Write exp3.json Blend as "Add", "Multiply" or "Overwrite" instead of the serialized number, so the Cubism SDK no longer reads multiply and override parameters back as additive. The exp3.json bytes change for every expression in Python, Node, the CLI Live2D package export and live2d_packages. (#31)

Upgrade notes

  • Rust: ExportOptions gains the public fields maximum_shader_array_elements and maximum_shader_total_array_elements. Struct literals that do not end in ..ExportOptions::default() must set them. (#33)

Artifacts

  • Python: unity-rs 0.5.5 on PyPI (cp39-abi3 wheels for six platforms and an sdist).
  • Rust: unity-rs-core and unity-rs-cli 0.5.5 on crates.io.
  • CLI archives (unity-rs-cli-0.5.5-<platform>) and Node.js addon packages (unity-rs-node-0.5.5-<platform>.tgz) for Linux, macOS and Windows on x64 and arm64: attached below, with checksums in SHA256SUMS-v0.5.5.txt.
Maintenance
  • Bump the workspace version to 0.5.5. (#36)

Full Changelog: v0.5.4...v0.5.5