Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Procedural Character Animation with Machine Learning in Three.js (github.com/sneha-belkhale)
94 points by snayss on April 22, 2019 | hide | past | favorite | 27 comments



The original project had a disappointingly restrictive licence considering my taxes helped fund it: https://github.com/sebastianstarke/AI4Animation

What licence is this under?


To 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


Then you should inform yourself: https://tldrlegal.com/


thanks, just updated the license in the readme: https://github.com/sneha-belkhale/AI4Animation-js#license


Why 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.


It 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.


it's actually a dog :,,) . We agree, adjusting the lighting now.


We just liked the cyberpunk theme, will make another informative / non-stylish demo soon


If 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.


For 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


> 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?


I 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), which looks amazing but is a bit more "pre canned" looking.


Call 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.


Thanks 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


I would mention somewhere the WASD controls :) Figured it out by accident.


Thank you. It should also be noted that WASD controls are very bad on an azerty keyboard. There are better choices than these keys. (Arrows being obviously even better than letter keys)


Hold shift while pressing "W" to unlock a secret walk cycle.


If I get the horse galloping in a circle its legs end up crossing and clipping through each other.


Yeah, 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...


At 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.


hey -- I made a discord chat if you all want to follow up on this -- and give suggestions -- https://discord.gg/UXypcZV


What is the expected performance like on this? I am getting < 50fps with an i7 6700K and Quadro P4000.


I'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).


I'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).


Some 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.


I can confirm 60fps on iPhone Xʀ.


I don't really understand how iPhone is better then i7 6700K and Quadro P4000!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: