Live data from Hacker News

Show HN: Make a video of any word forming out of candy

customanim.com

41–47 of 47 posts

Re: Show HN: Make a video of any word forming out of candy

#41

How does this work behind the scenes? Seems rather alot of work to put text on candy - can you explain the purpose of it more please? Presumably it is made with Blender at the back end judging from the random quote generator "Created while running away from a squad of offensive drunk guys who are fans of the black skills of Blender." UPDATE: This looks like an interesting thing - I'd like to hear more about it - but…

I have no clue how it works, but I know how I'd do it:

1. render the animation a bunch of blobs falling and coming to rest, once

2. save a mask for the pixels each blob occupies on each particular frame

3. note the position of each blob in the final image.

4. pick a color for each of the blobs according to their position in the final image and the text (or image) you you want to display on the blobs

5. go through all frames of the animation and color each blob

Re: Show HN: Make a video of any word forming out of candy

#44

Very cool. It would be nice, if you could add a behind the scenes page on how you did it.

This part of Blender's physics animation is deterministic, so you can get this effect by running the physics animation forward to the last frame; recolor the target candy; then go back to the start again. All Blender functions are exposed by a Python API.

Re: Show HN: Make a video of any word forming out of candy

#47
post #17

Nicely done, but getting stuck at Waiting for GPU server slot, there are None jobs ahead of yours... with a progress bar not longer even crawling. From the console: websocket open app.js:189:14 Got text message: progress: GPU render server received target image... app.js:203:12 Got text message: your ticket is xxx app.js:203:12 Got text message: progress: Waiting for GPU server slot, there is one job ahead of yours..…

Thanks, took me a while to find the issue. I had a feature where if the same client (by IP address) starts another job, their previous jobs are deleted. But after I added secure websockets support by proxying through nginx, all IP addresses from the server's point of view became "127.0.0.1" and every job would just be deleted when a new one came in, because they all had the same IP.

Cheers, thanks a bunch.
Post reply on HN