{"id":17967533,"url":"https://github.com/virtual-cast/babylon-vrm-loader","last_synced_at":"2025-03-25T08:31:22.175Z","repository":{"id":34866892,"uuid":"185508879","full_name":"virtual-cast/babylon-vrm-loader","owner":"virtual-cast","description":"glTF VRM extension Loader for babylon.js","archived":false,"fork":false,"pushed_at":"2024-03-28T13:34:05.000Z","size":37469,"stargazers_count":125,"open_issues_count":12,"forks_count":23,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-05T23:47:27.586Z","etag":null,"topics":["babylonjs","vrm","webgl"],"latest_commit_sha":null,"homepage":"https://virtual-cast.github.io/babylon-vrm-loader/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/virtual-cast.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-08T02:00:01.000Z","updated_at":"2025-02-12T13:51:23.000Z","dependencies_parsed_at":"2024-06-21T15:21:01.495Z","dependency_job_id":"03c8b739-d09a-450d-83fa-263a1bf7aa4c","html_url":"https://github.com/virtual-cast/babylon-vrm-loader","commit_stats":{"total_commits":164,"total_committers":9,"mean_commits":18.22222222222222,"dds":0.725609756097561,"last_synced_commit":"b3a443cb7e06b3c658d728a10e3f0e13067514c6"},"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/virtual-cast%2Fbabylon-vrm-loader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/virtual-cast%2Fbabylon-vrm-loader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/virtual-cast%2Fbabylon-vrm-loader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/virtual-cast%2Fbabylon-vrm-loader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/virtual-cast","download_url":"https://codeload.github.com/virtual-cast/babylon-vrm-loader/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245426249,"owners_count":20613316,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["babylonjs","vrm","webgl"],"created_at":"2024-10-29T14:09:04.225Z","updated_at":"2025-03-25T08:31:20.328Z","avatar_url":"https://github.com/virtual-cast.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# babylon-vrm-loader\r\n\r\n[![npm version](https://badge.fury.io/js/babylon-vrm-loader.svg)](https://badge.fury.io/js/babylon-vrm-loader) [![CircleCI](https://circleci.com/gh/virtual-cast/babylon-vrm-loader.svg?style=svg)](https://circleci.com/gh/virtual-cast/babylon-vrm-loader) [![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)\r\n\r\n![alicia.png](alicia.png)\r\n\r\nVRM porting to babylon.js.\r\n\r\nThis loader is used as [VirtualCast](https://virtualcast.jp/) web VRM/VCI/glb viewer.\r\n\r\n## Supported version table\r\n\r\n|babylon.js version|babylon-vrm-loader version|\r\n|---|---|\r\n|~4.1.0|\u003c1.5.0|\r\n|~4.2.0|^1.5.0|\r\n|^5.19.0|^2.0.0|\r\n|^6.0.0|will be ^3.0.0|\r\n\r\n## Features\r\n\r\n- Supports `.vrm` v0.x file loading\r\n    - with `extensions.VRM` glTF Extension\r\n    - TODO VRM v1.0 file loading\r\n- Supports `.vci` file loading\r\n- Supports [MToonMaterial](https://github.com/virtual-cast/babylon-mtoon-material)\r\n- Get bone([TransformNode](https://doc.babylonjs.com/typedoc/classes/BABYLON.TransformNode)) from Unity Humanoid bone mapping name\r\n- [BlendShape](https://vrm.dev/en/univrm/blendshape/index.html) morphing\r\n- [SpringBone](https://vrm.dev/en/univrm/springbone/index.html)\r\n- Supports [VCI](https://github.com/virtual-cast/VCI) features(partial support)\r\n    - `VCAST_vci_material_unity`\r\n    - TODO: `VCAST_vci_meta`\r\n    - TODO: `VCAST_vci_embedded_script`\r\n    - TODO: `VCAST_vci_audios`\r\n    - TODO: `VCAST_vci_colliders`\r\n    - TODO: `VCAST_vci_rigidbody`\r\n    - TODO: `VCAST_vci_joints`\r\n    - TODO: `VCAST_vci_item`\r\n\r\n## Usage\r\n\r\n### on browser\r\n\r\nexample is [here](https://codepen.io/anon/pen/zQXyxL?editors=1010).\r\n\r\n### on Babylon.js Playgound\r\n\r\nexample is [here](https://playground.babylonjs.com/#K5W35Y).\r\n\r\n### with npm/yarn\r\n\r\n```s\r\n$ npm install --save @babylonjs/core @babylonjs/loaders babylon-vrm-loader\r\n# or\r\n$ yarn add @babylonjs/core @babylonjs/loaders babylon-vrm-loader\r\n```\r\n\r\n```ts\r\nimport * as BABYLON from '@babylonjs/core'\r\n\r\n// has side-effect\r\n// ref. https://webpack.js.org/guides/tree-shaking#mark-the-file-as-side-effect-free\r\nimport 'babylon-vrm-loader'\r\n\r\n// vrmFile is File object retrieved by \u003cinput type=\"file\"\u003e.\r\nconst scene = await BABYLON.SceneLoader.LoadAsync('file:', vrmFile, engine);\r\nconst vrmManager = scene.metadata.vrmManagers[0];\r\n\r\n// Update secondary animation\r\nscene.onBeforeRenderObservable.add(() =\u003e {\r\n    vrmManager.update(scene.getEngine().getDeltaTime());\r\n});\r\n\r\n// Model Transformation\r\nvrmManager.rootMesh.translate(new BABYLON.Vector3(1, 0, 0), 1);\r\n\r\n// Work with HumanoidBone\r\nvrmManager.humanoidBone.leftUpperArm.addRotation(0, 1, 0);\r\n\r\n// Work with BlendShape(MorphTarget)\r\nvrmManager.morphing('Joy', 1.0);\r\n```\r\n\r\n## Contributing\r\n\r\nSee [CONTRIBUTING.md](./CONTRIBUTING.md).\r\n\r\n## Build\r\n\r\n```s\r\n$ yarn build\r\n```\r\n\r\n### Debugging MToonMaterial\r\n\r\n```s\r\n$ yarn debug\r\n```\r\n\r\nYou can see inspector on http://localhost:8080/\r\n\r\n## Related Links\r\n\r\n- [BabylonJS/Babylon.js: Babylon.js: a complete JavaScript framework for building 3D games with HTML 5 and WebGL](https://github.com/BabylonJS/Babylon.js)\r\n- [vrm-c/UniVRM: Unity package that can import and export VRM format](https://github.com/vrm-c/UniVRM)\r\n- [virtual-cast/babylon-mtoon-material: Unity MToon Shader WebGL porting to babylon.js.](https://github.com/virtual-cast/babylon-mtoon-material)\r\n\r\n## Licenses\r\n\r\nsee [LICENSE](./LICENSE).\r\n\r\nThis project uses [babylon.js with Apache License, Version 2.0](https://github.com/BabylonJS/Babylon.js/blob/master/license.md).\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvirtual-cast%2Fbabylon-vrm-loader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvirtual-cast%2Fbabylon-vrm-loader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvirtual-cast%2Fbabylon-vrm-loader/lists"}