DevLog: I Must Confess...
Quick reminder: You can follow development more closely on the Trello board.
TLDR;
Tried using motion capture (Body, hands, and facial expressions) and disliked the results
Built Pose Libraries to increase scene output
✅ Last (Two) Week's Progress (and my confession)
I want to explain the last two weeks: where I was with progress, what paused the direct scene progress, what I worked on, what I've learned, and where I am heading.
I've been hard at work, not with direct scene progress, but with my pipeline and workflow; the order in which, and the way that I do things to get stuff accomplished, ie: scenes. I'll admit that this is growing pains, but if you know me: growing pains are what I live for. Once I figure out a workflow, I'm fast as hell — but sometimes it takes a long time to reach that speed.
While working on scene 8 (check out the previous DevLog) where I've got five characters, it started out with the environment, the characters, cameras, lighting, props, etc. I've got good workflows for each one of those things, and I'm getting faster. But after starting to pose the characters within the scenes, I felt extremely bogged down... I couldn't figure out what it was. I was going extremely slow while posing and putting the story together in a coherent visual way. It felt as if the POSING got in the way of progressing in a timely manner — I felt as if I needed a speedier way of getting these scenes done. And if you know me, you know that I don't like to listen to advice until I learn it the hard way, on my own terms (it's a bad trait of mine 😓).
After spending far too long on pose after pose, I felt as though there might be a faster way, I hoped I could figure out a way to save myself time (and everyone else's!) and just... SNAP a pose really quickly. As my ADHD brain did when frustrated, it turned to outside of the box solutions that might get the job done. I thought to myself, "What if I could just... stand up, do a pose as the character, and 'BOOM', I'd have the pose finished?" I thought that motion capture could be a good solution; instead of spending many minutes posing a character, I just stand up, do the pose as I'd like it to appear in Blender, and it'd be done! Wouldn't that be wonderful?!
My Confession
Unfortunately, no. That was not the case — but again, sometimes I have to hit my head against the brick wall myself to realize that there's a wall. I spent a few days rejuvenating and bringing some old code back to life in order to test this idea (cgtinker/BlendArMocap), and the results are... fine. They can vaguely track the pose of a character (remember that the MOTION wouldn't be important), but it wasn't enough fidelity that I'd been searching for. Sidenote: I also briefly priced out the cost of a motion-capture suit and let me just tell you: that is not an option 🫨 In this little detour into "mocap-land", there's a little place called, "facial expression motion capture", that I played around in. This used the iOS ARKit, the same technology that brings you iPhone's memoji and similar filters as Snapchat. It's pretty nice because you can just map it to your existing character's face rig — so it was a quick setup. However, the results are just not up to par, in my opinion. I think they could be really fun as a quick gag while streaming, but for posing characters that are required to look and feel as natural as possible it just wasn't for me. Even though it wasn't absolutely a waste, I spent more time on motion capture than I wanted to. I am glad that I was able to see the writing on the wall that this wasn't going to work and ended it right when I did — silly people go down rabbit holes, only to never be seen again.
So where does that leave me?!
Okay, I hear you: "enough with the failures for the past two weeks, please tell me something good!" ABSOLUTELY. There's a reason I didn't post a DevLog last week, that week was all disappointments and no progress. I'm excited to tell you that not all hope was lost. The amazing dev (Buff Game) of Demon Seed pulled me out from the deps of my despair and suggested a pose library. "DUH" nuii pointer thought to himself, as he sighed woefully. Like I told you, sometimes I have to hit the wall in order to learn. For the past week or so, I've been creating a workflow and a giant pose library full of hand poses, finger poses, body poses, and facial expression poses. I am absolutely sure that I alluded to doing a pose library in the past, however, I ran into a few bumps along the way that prevent it from going much further. One example is an ongoing Blender bug, that caused existing poses to not transfer successfully to other characters (ie. from Willow to Anya); thankfully, I found a pretty good workaround until they have this fixed.
So, to wrap it all up: I'm reaching 100 re-useable facial expressions and have 600+ re-useable body poses. And remember that this library will only continually grow and improve! With this pose library I'm confident that this will remove my "bogged down" feeling that I've been having when spending a lot of time manually posing so many characters and feeling like I'm wasting everyone's time (trust me, I want to go blazing fast and get these updates out ASAP!).
If I remember, I'll let everyone know how one week of using the pose library has been and how much time it's saved.
🛠️ Current Development
What I'm working on right now:
Polishing and cataloguing the pose library - this way it's easier to find something quickly
Scene 8 (I feel guilty that I'm still on this scene 😪)
⚙️ Technical Corner
I wrote a few Python/Blender scripts during the last two weeks.
Copy Rig Rotation Modes
This script was to handle the Blender bug that I mentioned up earlier. The issue is that, due to Diffeomorphic and how it brings in and creates rigs, some bones have different rotation modes — either Euler or Quaternion. The rotation modes themselves aren't the problems but it's a problem with how Blender's pose system stores the data. Some of the bones might be stored with Euler, while others might be Quaternion. However, Diffeomorphic (or Rigify, I couldn't determine which was the issue) attempts to determine the best rotation mode based on the bone, but it isn't consistent. For example, Willow's neck bone could be Quaternion, while Anya's neck would be Euler; this would be a problem because it does NOT correspond 1:1, and while this bug isn't resolved, Blender is not able to handle the conversion. In this example, when you save a pose from Willow's armature to the pose library, and you try to load that same pose on Anya, the pose will be applied to everywhere BUT the neck (because the rotation modes DO NOT MATCH!). My solution was to write a script where I have one main character rig, Ambrose (the MC), and the script just copies it over to all of the other characters. This way it's guaranteed that the character rigs' rotation modes match, and I'm able to re-use poses across all characters now! 🥰
Copy Rig Rotation Modes (advanced)
This script is the exact same as the prior script, but it also adjusts characters' keyframes. It's a result of a problem I had where I had already created keyframes with "bad rotation mode" data, this corrects all of those bad keyframes. Saved me many days worth of work.
Generate Face Expressions
I had to write a Python script that took the selected character's face rig, and it essentially creates a saved/reuseable face expression. These are re-useable on ANY of our amazing characters 😻 Which is great, because I can go back through previous scenes, and just take ANY of those facial expressions and create a pose asset for future scenes.
Mass Import DAZ Poses
All characters originated from DAZ3D Studio but now live in Blender. While DAZ has a LOT of pose packs, it's difficult (time consuming) to import them into Blender. I probably accomplished importing 50 poses in about an hour — that's less than one pose per minute! I finally took 20 minutes to nail this script down, and I'm able to import roughly 100 poses per minute.
Needless to say: scripting and automation can save you hours or days worth of time!
👀 Sneak Peek (TRIGGER WARNING: These are bad! 🤣)
If it wasn't clear by the above text: no, motion capture will not be used — not for still renders, and not for animation.
Needless to say: MoCap testing wasn't successful - but it was fun to experiment with!
Face MoCap - less of a failure 🤷♂️
I'll be opting for a pose library instead
💬 Community Corner
I want to express my gratitude to everyone for supporting me, even if it's just with a thumbs up, even if it's with reading these.
I apologize for my absent DevLog for last week; it's a rare occurrence, but in this case, I felt like it might be better to provide the whole story and the bigger picture in one fell swoop instead of two half-assed DevLogs.
See you in the next one! ™️
Don't forget to check out the Trello board for detailed progress updates! ❤️
Comments (14)
Nuii you always deliver solid work, You tried to find a way to speed things up, Sadly it didn't work and now you know, Keep up the good work Nuii
WoooooooooOOOOOOOOOOOOOOHHHHHHHHHhhhhhh
Maybe it's me just used to the standard AVN way of making characters look and move, but that mocap face animation felt a bit creepy 😅 As always, good job :D
Hah I completely agree. I think that was the moment when I realized, "yeah, this probably isn't the direction that I want at the moment." It was absolutely a blast to test though!
Motion capture and facial expressions … I like the way you think even though it didn't work, Nuii. It was VERY ambitious 😁! "Hey, sometimes choosing to listen to advice goes both ways. Sometimes, they're a hit, and sometimes they're a miss, but you won't know until you try. Plus it's better than not trying 😅." I mean, I would have just listened to you rant about the week 🤣. Thank you, Buff Game, for pulling my brother out of it. "Woooohoo, for the reusable pose library 🥳🙌🏻!" Reading all this detailed technical stuff with no knowledge of being a Dev or not bejng Tech savvy, sure is pretty fun 😂. All them big words 😁. "OMG! PLEASE KEEP ALL THAT MOCAP IN THE GAME 🤣! I would have been scared and run out as fast as MC did if I saw Xana's projection/clone doing that." Nonsense, Nuii. All posts/Dev Logs are always good. I like to read (even if you think it's nonsense); it's part of my daily/weekly routine 😁. As always, thanks for the Dev Log, Nuii! Keep on keeping on 😉!!! ALWAYS EXCITED AND EAGERLY WAITING FOR YOUR GAME AND READING YOUR POSTS 🙌🏻🔥!!! Love and appreciate everything! All of you ❤️, your ladies 😍, your posts 🥰, and your game ❤️! Always make my days better 🌈! Thank you all for being in my life/routine 😉! Stay safe, stay blessed, and stay in PERFECT health, beautiful people! And don't forget to hydrate! Have an amazing and beautiful week! I'll catch you all—ON THE NEXT ONE ✌🏻😁!!!
Jonathan!!! I'll see if I can find some weird ways to keep these mocaps in the game, that'd be hilarious! I'm thankful to have a bunch of people around me that give good advice, but you're right, sometimes I've just got to try things! I'll catch you on the next one!!!
Thanks for the update! It's not really a bad trait to want to test stuff before blindly taking advice, it's akin to having an intrusive thoughts (as we with ADHD can attest) sometimes you just gotta get the thought out or you will be plagued with the "What ifs). Also, just FYI, I will be seeing that first animation in my nightmares now, so thanks for that!!! 😆 not because it's bad, just got a feeling someone in my dreams might just randomly start moving like that and I'll wake up in a cold sweat! You didn't waste yours or our time either. This is now valuable information for the future that you now possess and will help streamline the process next time as you won't need to try it again. Hope you have a great week bud 👍 😀
I absolutely get a lot of intrusive thoughts 😁but you're right, I honestly would get plagued with the "What ifs".. I've been playing around with the pose library and I can already say that there's been improvement in the speed, so this has definitely been a win in my book!
I dont know what you mean, that MoCap dance looks good to me
haha! There were actually some better poses that the mocap gave me, but thought this would drive home the issues that I had. Still wayy fun!
Wait, you mean to tell me some people don't like to listen to advice from others and prefer learning the hard way and bite the nail? Wild
YES! AND IT'S A PROBLEMMMM
You’re my boy blue
That's how I felt about motion capture before I gave up on it lol
