I did some experimenting this week
Dog model
I worked on dog sounds last week. I tried a few different approaches, but in the end I went with real royalty free dog sounds with several filters. Working with Audacity does the job, but it’s slow and lacks real-time effects, so I searched for other DAW software and found REAPER, which did the job well, so I got a license for it.
Below is an example with the robot sounds.
After doing that, I noticed the eyes were not expressive enough. I thought about either adding mechanical eyelids, or an LCD display for the eyes. The first was too mechanically complex for the design, so I opted for a simple segmented LCD display approach, with 5 parts that light up for different expressions. It’s not implemented yet, but here’s the concept for it


And finally, I attempted to rig the model. Emphasis on “attempt”, because it did not go well lol.




I got it to a point where many poses are achievable, but with a lot of tweaking. Animation will be harder than it should with it, but this is the best I can do for now.
Sound visualization
Still on the subject of sounds and noises, I automated the entire process with python and Blender. It takes mp3/wav files and generates the visualization I demonstrated previously devlog week 42-43
It makes things faster, but most importantly by automating the process I don’t risk forgetting any part of the process.
Animation cache
I looked for easy methods with decent performance to send non-deforming animated objects to Unreal. Alembic, converting to skeletal animations and vertex animations were all possible options. One feature I needed that none satisfied was the option to pick a different time for each piece on run-time.
With all that said, I decided to make my own cached animation “format”. Very similar to vertex animation textures, but instead of storing the info for each vertex, I do it for mesh parts instead. It’s much more efficient.
I used Python, with the libraries OpenCV and Numpy Blender’s BPY to write the animation data into the pixels.
I start with objects that have animations (rigidbody simulations, manually animated, procedurally…etc. As long as it can be keyframed object location and rotation animation in the end). With everything selected, I run the script.

The script converts that animation data into textures and merges all the individual objects into one single mesh with apropriate UVs.

The data is stored as raw values in .exr image textures. Each object takes one row, with each column representing a frame. Each object and frame takes exactly 1 pixel.

This is very efficient because it only needs 1 pixel for each mesh island, so it depends on the number of animated objects initially instead of polygon count. The bridge example below has 2900 pieces and 250 frames, so the resolution of the texture needed is 2900×250, even if it has 35K triangles.
And since the animation is stored as textures, it means I can look up different times for different pieces. For example the pieces that are closer to the moving cube will have an animation time of 0, and the pieces that are far away will have a time of 10 seconds after collapse. This has a very interesting time rewinding effect.
I ported this to a material in Unreal Engine. Dealing with the axis difference was a bit confusing, and I also encountered some unforeseen issues (like the “Use High Precision UVs” not being precise enough, so I’m limited to <1000 pieces per object). But in the end it worked fine. Experiencing the effect in third person is more interesting.
It doesn’t seem like it has any noticeable performance impact, but I have to test it on the Steam Deck to see how far I can push this.
Misc
I continued my job hunting. Most positions require on-site and/or don’t offer visa sponsorship, so I don’t have a lot of options. But I’m still looking.
I finished playing RDR2. It started slow, with emphasis on some parts I’m not really interested in (“life sim” that doesn’t progress the story or say a lot about characters), and I was very close to giving up on it. It also had annoying mechanics I wasn’t particularly fond about, emphasizing realism and all, but I installed a mod that added fast travel and allowed me to wear whatever clothes I wanted without worrying about heat and cold. After chapter 3, I was hooked, and I actually think it has the best video narrative and character story/development of all time. The environments are also very well made, and I found myself using a freecam mod just to look around and take screenshots.
That’s all for this time. Thanks for reading, and I hope to see you again soon.
