From 121d4ef6276118723c3f96d7ce36b69fe2975130 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Wed, 24 Apr 2024 17:19:09 -0700 Subject: [PATCH 1/2] add the res repo as a git submodule so that it is possible to easily reproduce needed assets at a certain commit --- .gitmodules | 3 +++ prototypes/_res | 1 + 2 files changed, 4 insertions(+) create mode 100644 .gitmodules create mode 160000 prototypes/_res diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..fd768e4 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "prototypes/_res"] + path = prototypes/_res + url = git@github.com:sketchpunk/res.git diff --git a/prototypes/_res b/prototypes/_res new file mode 160000 index 0000000..8ad34da --- /dev/null +++ b/prototypes/_res @@ -0,0 +1 @@ +Subproject commit 8ad34da012bd056873589fadd581c7152d446127 From e6c72b029fa02e30a773a5b98058f202d1dbcb09 Mon Sep 17 00:00:00 2001 From: Joe Pea Date: Wed, 24 Apr 2024 17:37:00 -0700 Subject: [PATCH 2/2] update README to mention the git submodule. also delete mentions of Babylon and undo the TODO checkbox as Babylon is not currently supported in ossos_next --- README.md | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index ff954ed..6577774 100644 --- a/README.md +++ b/README.md @@ -9,19 +9,39 @@ ## Character Animation Library ### + -This project is working toward a complete character skinning & animation library for the web. First most, this library is focused on being independent from any rendering engine with examples of how to use it in webgl based engines like threejs. The one big focus is recreating the IK Rig & IK Animations type system that was demoed several years ago from Ubisoft's GDC talk on IK Rigs. With many game engines like Unity and Unreal developing their own IK Rig like systems, this project helps fill the void for web based engines like threejs, babylon, etc. Hopefully with enough help we can create something just as good as the big boys, maybe even better since its free & open source. + +This project is working toward a complete character skinning & animation library +for the web. First most, this library is focused on being independent from any +rendering engine with examples of how to use it in threejs. The one big focus is +recreating the IK Rig & IK Animations type system that was demoed several years +ago from Ubisoft's GDC talk on IK Rigs. With many game engines like Unity and +Unreal developing their own IK Rig like systems, this project helps fill the +void for web based engines like (currently only threejs). Hopefully with enough +help we can create something just as good as the big boys, maybe even better +since its free & open source.
### Setup ### -``` +```sh npm install npm run dev ``` -**[ NOTE ]** To be able to run the example, you'll need to go into /examples/_res/ and follow the instructions to clone the resource repo. The files are quite large, so they are kept in a seperate repo to keep this project as light weight as possible. +> [!NOTE] +> To be able to run the examples, you'll need to clone the git submodule +that has all the assets by running + +```sh +git submodule update --init +``` + +The files are quite large, so they are kept in a seperate repo to keep this +project as light weight as possible. We use a git submodule so that we can +reproduce the examples at any particular commit. ## Usage ### @@ -76,7 +96,6 @@ App.add( mesh ); * ZSolver * Catenary / Rope * GLTF2 Asset Parsing for cherry picking what you need to load. -* A few examples using BabylonJS for rendering * Several examples using ThreeJS for rendering * Some extra fun examples like converting animations to Data Textures * Running Full Skinned animation on the GPU with GLSL Example @@ -101,7 +120,7 @@ App.add( mesh ); - [ ] Figure out how to implement VRIK - [x] Bone Slots / Attachments - [ ] Actions or State Machine based Animator -- [x] Build Examples in other Rendering Engines like BabylonJS +- [ ] Build Examples in other Rendering Engines like BabylonJS - [ ] Remake Auto Skinning ( Need WebGPU compute shaders for this ) - [ ] Bone Constraints - [ ] Procedural Animation ProtoTyping