sketchpunklabs / ossos Goto Github PK
View Code? Open in Web Editor NEWWebbased Character Animation System
License: MIT License
Webbased Character Animation System
License: MIT License
Currently, setting up this project for local testing requires going into examples/_res
and following the instructions to clone the resources repository. This can be problematic because:
main
branch of the repository is not guaranteed to be in sync with commits in this repositoryThis could be handled more elegantly with the resources repo as a Git submodule of this project.
This would mean that:
git clone --recurse-submodules
The build commands I use are:
npm run build
npm run build:types
But this creates the following files inside ./dist
So I have to either rename the ossos.js
manually into ossos.cjs.js
or replace every mention of ossos.cjs.js
into ossos.js
inside package.json
. After this step, I can successfully include them in my node project.
Below is the patch. Let me know if I do anything wrong, thank you.
801a3c.patch
"poses" is not a standard field of gltf, so it cannot be read directly in my program. Why not set the data in the TPose directly to the node?
This model does not work.
Its the standard ybot from mixamo that i imported into Blender and re-exported as a GLTF
Is there any special process to follow?
Hi:
I tried to see the examples so I clone the repo and follow the installation steps: npm install, npm run dev, I found nothing on localhost:3000, then I tried npm run build:site and npm run preview-site but I found nothing on localhost:5000 then I navigated to http://localhost:5000/examples/threejs/000_gltf2_mesh.html but I got an error on Starter.js at line 51 from console:
Uncaught TypeError: Cannot read properties of undefined (reading 'substring') at Starter.cd2d3b33.js:51
Am I missing some obvious step? How can I see the examples in the browser?
Thanks!
Trying to import a new model and run into error
UNSUPPORTED - Parsing Stride Buffer
63d9bb5d72f63b7131de4c61.glb.zip
Would appreciate support for this!
I am trying to use the current version of the OSSOS library with ThreeJS to take advantage of the retargeting and IK support. I am doing so inside a React app using threeJS Fiber. So I have a <primitive object=...>
that I used to use the threejs GLTF loader to load a file and then grab the .scene
member to use as the root character.
But the data structure returned by the OSSOS library GLTF2 file loader appears to be a bit different. For example, there is .json
instead, and .json.scene
exists but has the value of 0
, which is not a model.
Can I use OSSOS to get an object compatible with the <primitive object=...>
markup used with threejs and fiber?
Note: I am not a deep expert. I was trying to use the threejs retargeting sample code, but it did not work for me. I want to take an animation clip from one model and retarget it to a different bone structure. My fallback is to try and reimplement the whole bone rotation logic you described on the video (which conceptually made sense... but I would rather not have to code it, lol!)
I was trying to apply Mixamo animation clips to a VRM model created by VRoid Studio in case that makes a difference.
Thx for any advice! I could not find much in the way of docs to work it out sorry.
I was wondering if your spring bone implementation should have a maximum stretch clamp from looking at your demo... ;-)
Unless of course you left that in just for amusement. This is when the walk animation resets to the original position causing the bust spring bone to snap back due to the super-fast movement back to the origin. (I have had the same problem with hair in other spring bone solutions - moving the character in an animation sequence to a new position causes the hair to think the body moved at 100,000 miles per hour in one tick, which then caused the hair to take a while to settle back down again.)
Hi is the example shown in this video available? https://www.youtube.com/watch?v=1Ep0jroq2VU&t=341s
How to make interactive edits to the model's pose with IK? any examples?
I'm trying to run this project locally. I followed the setup instructions including cloning the resources repository, but I'm facing an error when running npm run dev
:
Looking at the docs for vite-plugin-list-directory-contents
, it seems the import statement in this project's Vite config is the issue.
The docs say:
import { directoryPlugin } from 'vite-plugin-list-directory-contents';
Compared to the usage here:
Line 3 in d5b1843
If I remove /dist/plugin.js
from the import path, then I can run the npm run dev
command successfully.
I wonder if this behavior is caused by different versions of dependencies getting installed on my end. I notice there is no lockfile being tracked in this project, perhaps that would reduce the chances of contributors facing version mismatches.
It's a few clicks to set up...
I did it here: https://github.com/manthrax/THREE-CSGMesh
[ Main Focus ]
[ Secondary ]
[ Maybe? ]
[ Most Likely ]
I'm using the 003_retarget_and_springs.html
example with a custom mixamoRig model. The tall/left model is the source, while the short/right model is the target.
If I remove the arm.offset.set()
line, this is what I get:
Meanwhile, after re-enabling the line:
The target is actually moving downward just a tiny bit. So here you can see that somehow that offset.set()
somehow manages to:
To emphasize the downward movement direction, here's the clip when I set the offset without the skin.scale
(so just rotation & position):
Possible read standard glb without bones and retarget it with other bones?
I cloned the res pack and found some of them works well but more of them even not work.
1,works well:
tina / ligerZero / toru / trex / vegeta / xboxavatar_dehvor
2, works,but renders only one part of the gltf.scene
ahsoka_tano / cattus / tyranitar
all these 3 gltf files has moran than one part , the gltf parse function ignored the other parts?
3, not work
1),at_rt /cherubbotpm1 / gine / jinx / ronin /
everything is OK in blender but shows the following error:
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'idx')
Uncaught (in promise) SyntaxError: Unexpected token a in JSON at position 6
Uncaught (in promise) TypeError: Cannot read properties of null (reading 'joints')
2), readplayerme
everything is OK in blender but shows the following error:
UtilArm.js:34 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'getSkin')
3),companioncube / sword_war
gltf file has no amature and it shows error:
UtilArm.js:34 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'getSkin')
4), suzanne
gltf file can not importted into blender and it shows the following error:
Uncaught (in promise) SyntaxError: Unexpected token a in JSON at position 6
I tried to run the examples after cloning and running npm install, but I'm not sure what the process is to set up the dev environment.
I'm getting this error when I try to run build
or preview-site
failed to load config from /Users/josh/Downloads/ossos-main/vite.config.js
error when starting preview server:
Error: Build failed with 1 error:
**node_modules/esbuild/lib/main.js:1336:27: ERROR: [plugin: externalize-deps] Missing "./dist/plugin.js" export in "vite-plugin-list-directory-contents" package**
at failureErrorWithLog (/Users/josh/Downloads/ossos-main/node_modules/esbuild/lib/main.js:1575:15)
at /Users/josh/Downloads/ossos-main/node_modules/esbuild/lib/main.js:1033:28
at runOnEndCallbacks (/Users/josh/Downloads/ossos-main/node_modules/esbuild/lib/main.js:1447:61)
at buildResponseToResult (/Users/josh/Downloads/ossos-main/node_modules/esbuild/lib/main.js:1031:7)
at /Users/josh/Downloads/ossos-main/node_modules/esbuild/lib/main.js:1143:14
at responseCallbacks.<computed> (/Users/josh/Downloads/ossos-main/node_modules/esbuild/lib/main.js:680:9)
at handleIncomingPacket (/Users/josh/Downloads/ossos-main/node_modules/esbuild/lib/main.js:735:9)
at Socket.readFromStdout (/Users/josh/Downloads/ossos-main/node_modules/esbuild/lib/main.js:656:7)
at Socket.emit (node:events:513:28)
at addChunk (node:internal/streams/readable:315:12)
Ultimately, I'm just trying to check out the running examples. Are they hosted somewhere?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.