Daniel Holden @theorangeduck.bsky.social · 14/08/2026The UE 5.8 release actually already contains lots of the Machine Learning Animation tools we've been working on over the years! Today we finally released an example plugin and bunch of tutorials covering how to use them. Give it a try! www.fab.com/listings/df3... dev.epicgames.com/community/le... 2124
Daniel Holden @theorangeduck.bsky.social · 30/07/2026One of my most requested articles is something on inverse kinematics and foot sliding. I finally found the time to write up the little recipes that have served me well through the years, including an offline method I used recently that works surprisingly nicely. theorangeduck.com/page/inverse... 03711
Daniel Holden @theorangeduck.bsky.social · 09/05/2026I'm just going to go out and say it - respectable people don't litter. theorangeduck.com/page/respect...theorangeduck.com Respectable people don't Litter Computer Science, Machine Learning, Programming, Art, Mathematics, Philosophy, and Short Fiction 073
Daniel Holden @theorangeduck.bsky.social · 23/03/2026Here's a write-up of my investigations into a technique called "Inertial Easing" - an interesting idea on how to use easing functions for spring-damper-like applications. theorangeduck.com/page/inertia... 54412
Daniel Holden @theorangeduck.bsky.social · 15/02/2026Recently I've been taking another look at fitting movement model parameters from data and managed to derive some formulations that work in terms of starting and stopping times and distances - something that is potentially a lot more intuitive for designers to use. theorangeduck.com/page/fitting... 2125
Daniel Holden @theorangeduck.bsky.social · 02/02/2026A reader found a bug in the code listings on my "New Movement Model" article. The intermediate spring should take "track_vel" as a target, not "next_vel" (see github.com/orangeduck/M...) article has been updated!github.com 010
Daniel Holden @theorangeduck.bsky.social · 07/01/2026I've prepared a little blog post discussing the ideas behind the new Smooth Walking Mode we developed for UE's Mover plugin. This Movement Mode is also used in the new UE 5.8 GASP release! theorangeduck.com/page/new-mov... 1185
Daniel Holden @theorangeduck.bsky.social · 24/11/2025I'm so happy to finally be able to talk about our new SIGGRAPH Asia paper "Control Operators for Interactive Character Animation". It's been by far the most work I've seen go into a SIGGRAPH paper (thanks goes to @gouruiyu.bsky.social) and a fun project all round. theorangeduck.com/page/control... 1478
Daniel Holden @theorangeduck.bsky.social · 26/10/2025Time for another short story :) theorangeduck.com/page/review-... 030
Daniel Holden @theorangeduck.bsky.social · 07/10/2025This year I had the chance to visit the Peace Museum in Hiroshima. Of all the things I saw in Japan this is the place that will stay with me forever. theorangeduck.com/page/hiroshimatheorangeduck.com Hiroshima Computer Science, Machine Learning, Programming, Art, Mathematics, Philosophy, and Short Fiction 131
Daniel Holden @theorangeduck.bsky.social · 17/09/2025With a bit of help from the authors I've added another huge high quality dataset to my Geno retargetings. This time the very nice InterAct dataset (hku-cg.github.io/interact/). You can find it here: github.com/orangeduck/i... 030
Daniel Holden @theorangeduck.bsky.social · 24/08/2025My latest article is on the problem of joint-error propagation - and some techniques for tackling it when doing Machine Learning or other data-driven numerical methods. theorangeduck.com/page/joint-e... 0103
Daniel Holden @theorangeduck.bsky.social · 19/08/2025I've just pushed up a version of my GenoView project but implemented in Python (using raylib bindings). Hopefully that is useful to anyone doing ML research building interactive animation systems who wants to make use of PyTorch, Numpy, etc. github.com/orangeduck/GenoViewPythongithub.comGitHub - orangeduck/GenoViewPython: An example raylib python application for viewing animation on the Geno characterAn example raylib python application for viewing animation on the Geno character - GitHub - orangeduck/GenoViewPython: An example raylib python application for viewing animation on the Geno character 1104
Daniel Holden @theorangeduck.bsky.social · 27/06/2025We have a rare opening on our team for an Animation Programmer. If working with us on shipping Machine Learning animation tech inside UE appeals to you, please go ahead and apply! www.epicgames.com/site/en-US/c...epicgames.comJoin Epic Games Today! See Our Latest Career and Job Opportunities.Visit Epic Games Careers to see the latest jobs and employment opportunities. Join an exciting team pushing the limits in gaming and interactive entertainment. 084
Daniel Holden @theorangeduck.bsky.social · 18/06/2025I've added an appendix to my page on debug drawing text with lines with a contribution from @mikkomononen.bsky.social and his version of a non-monospaced font based on the Hershey Fonts Simplex characters: theorangeduck.com/page/debug-d... 1193
Daniel Holden @theorangeduck.bsky.social · 14/06/2025There may not be many obvious alternatives, but CLIP is not a great embedding for describing motion. It's trained on static images so has a confused concept of time/tense/ordering, will often focus on the object rather than the action, and usually interprets verbs as nouns: 171
Daniel Holden @theorangeduck.bsky.social · 08/04/2025More than once I've wanted to debug draw text in a game scene but found it not as easy as expected. I made a lookup table that allows you to draw text via line segments. It was a fun little weekend project, even if I'm sure it's something people have done before! theorangeduck.com/page/debug-d... 190
Daniel Holden @theorangeduck.bsky.social · 04/04/2025Time for another long blog post... and today it's all about how we handle the temporal aspect of animation data. And more specifically, how to approach things from a signal processing perspective, covering up-sampling, down-sampling, and everything in-between. theorangeduck.com/page/filteri... 14312
Daniel Holden @theorangeduck.bsky.social · 01/03/2025Jérôme Eippers' YouTube channel is quickly becoming a goldmine for Animation Programming. He is covering so many classic animation papers - reviving a lot of great ideas and techniques that are either under-utilized or forgotten by the industry. www.youtube.com/@JeromeEippe...youtube.comAnimation TechIn this channel we will be looking at the technical side of animation and physic in the video game industry. Let's dig into whitepapers and reimplement them in python to learn from them. I'm Jerome ... 0276
Daniel Holden @theorangeduck.bsky.social · 25/02/2025Learned a new spring fact from my colleague @rat-face.bsky.social recently. For a critically damped spring tracking a target moving at a constant velocity, the amount of time the spring will lag behind the target is given by "halflife / ln(2)". Added to my blog post theorangeduck.com/page/spring-...theorangeduck.com Spring-It-On: The Game Developer's Spring-Roll-Call Computer Science, Machine Learning, Programming, Art, Mathematics, Philosophy, and Short Fiction 061
Daniel Holden @theorangeduck.bsky.social · 24/01/2025I've uploaded a retargeted version of the 100STYLE dataset matching the other datasets: github.com/orangeduck/1... I wasn't sure if I should add it at first. The quality is lower due to the inertial capture, and it's missing finger motion, but overall I figured it's still worth it. 080
Daniel Holden @theorangeduck.bsky.social · 29/12/2024It's been a while since I did a pure Machine Learning article on my blog, but today I have a post for you about adding noise to Neural Networks, and some fun experiments with Flow-Matching: theorangeduck.com/page/noise-n... 1308
Daniel Holden @theorangeduck.bsky.social · 23/11/2024My latest article is about one of my favorite techniques in graphics - Müller's method of Polar Decomposition. It also details some variations, including one which is ~2x faster to compute with more regular convergence. theorangeduck.com/page/variati... 27016