5 ms·
Show HN: Procedural Character Animation with Machine Learning in Three.js
- andybak 7y agoThe original project had a disappointingly restrictive licence considering my taxes helped fund it: https://github.com/sebastianstarke/AI4Animation https://github.com/sebastianstarke/AI4Animation What licence is this under?
- snayss 7y agoTo be honest I don't have much knowledge about licensing. If you want to experiment with this project for any use please go ahead -- although if you want to use the original dataset, you would have to follow the original licensing
- dvh 7y agoWhy is demo displaying black horse on a black background? Even sample screenshot shows that. Am I crazy? Is this some kind of meta joke? I don't get it.
- snayss 7y agoWe just liked the cyberpunk theme, will make another informative / non-stylish demo soon
- slacka 7y agoIf you want to disguise how poorly your animation system works, you put a black skin on a black background with no lighting. This demo is beyond terrible, and I love cyberpunk.
- penagwin 7y agoIt took me a while to realize it was a horse, the fact that you can't recognize it against the background means they REALLY should adjust some colors.
- snayss 7y agoit's actually a dog :,,) . We agree, adjusting the lighting now.
- deleted 7y ago[deleted]
- KidComputer 7y agoIf I get the horse galloping in a circle its legs end up crossing and clipping through each other.
- snayss 7y agoYeah, we had to do retargeting of the original wolf skeleton to the skeleton of the dog model. That was kind of tricky, and introduced this front leg crossing artifact...
- abainbridge 7y agoFor comparison, here's Dog's Life, a 2003 PS2 game that I worked on. You get to control a selection of dogs. I think the quadruped animation system was pretty good for the time it was made. https://youtu.be/yi0-9ut1cEk?t=216 https://youtu.be/yi0-9ut1cEk?t=216
- canada_dry 7y ago> pretty good for the time it was made No kidding. Especially when you consider how the tools for doing this kinda thing have gotten exponentially better just in the last couple years! I'm curious what your current work looks like?
- abainbridge 7y agoI left the games industry a long time ago so I could earn twice as much and not have to work weekends. Shame. And I can't take credit for the animation tech in Dog's Life, it was all working by the time I joined the team. The game was made by Frontier Developments. I think the same technology was used in Kinectimals (https://youtu.be/BrcXV9_cQYw?t=814 https://youtu.be/BrcXV9_cQYw?t=814), which looks amazing but is a bit more "pre canned" looking.
- css 7y agoWhat is the expected performance like on this? I am getting < 50fps with an i7 6700K and Quadro P4000.
- kif11 7y agoSome people said they got 60 fps on iPhone X. :) Personally, I'm getting 25 fps on MacBook 13, 3.1 GHz Intel Core i7 with Intel Iris Graphics 6100.
- snayss 7y agoI'm getting ~ 50fps with 2.2GHz Intel Core i7 and Iris Pro 1536MB, MacBook Pro 2015. The matrix multiplication is using numjs, and runs on a single core (no web workers).
- snayss 7y agoI'm hoping to use a simpler version of this neural net, which should reduce computation time by half. There are 8 weight matrices that are dynamically blended every frame ( the bulk of the computation ). This number can supposedly be reduced to 4 (according to original research).
- kowdermeister 7y agoI would mention somewhere the WASD controls :) Figured it out by accident.
- dgreensp 7y agoCall me a critic, but I don't see any "realistic transitions"? I mean, the positions of the limbs are continuous, barely. Stopping is very jerky. Sometimes the dog does a sort of "downward dog" pose for a long time when you stop, sometimes entering and exiting this pose slowly. The hind legs look weirdly limp at times. Is this better than some sort of naive interpolation between animations? It took me a while to realize about the A-W-D movement controls (I tried arrow keys and mouse first), and, as others have said, everything is really dark.
- snayss 7y agoThanks for your thoughts, I actually have noticed and agree with most of them. This project is still a work in progress -- just wanted to share some initial results and get feedback from the community. > Is this better than some sort of naive interpolation between animations? The current implementation might not be, but the idea of procedural animation can very powerful. It eliminates a lot of manual labor of creating animations clips / state machines and also can account for realtime unpredictable states. To see what's possible, you should check out the original demo that this project ported to the web -- https://github.com/sebastianstarke/AI4Animation https://github.com/sebastianstarke/AI4Animation
- crazygorilla 7y agoAt least there is a live demo, I see so many GitHub projects where a screenshot or a live demo would say more then a thousand words. Checking out a repo and trying to run it is a big hurdle.
- snayss 7y agohey -- I made a discord chat if you all want to follow up on this -- and give suggestions -- https://discord.gg/UXypcZV https://discord.gg/UXypcZV