I encountered several issues when uploading my latest model to Sketchfab. The model is a bust of a boy and I have rigged and posed the face with 14 expressions. Here is a list of issues covered in this post:
- Posed model flawed after upload.
- Animations with only 1 frame (ie: poses) are not handled nicely.
- Customised animation order and initial animation are not saved correctly.
1. Posed model flawed after upload
I used the Rigify add-on to rig my model. I used the Pitchipoy metarig and modified it by deleting the legs and arms (except the clavicles). While I was working on all my poses, I saved them to a Pose Library.
Before uploading it to Sketchfab, I created an action for each of my final poses. In Pose Mode with all the rig layers visible, I added a single keyframe on frame 1 for the 'Whole Character'. I tested and confirmed that this method accurately records the poses - the poses appear correctly when I switch between the different actions.
After uploading to Sketchfab, all of the poses appear distorted to varying degrees.
In order to overcome this problem, I created a fairly horrible workaround. I made 15 copies of the model and applied the armature deform of each pose to each copy. I then created a new, very simple armature to shift the different copies around the scene so that you only see one at a time.
Here are some GIF images that compare the correct appearance of each pose (as seen in my workaround version) with the distorted appearance of each pose (as seen in my draft upload that uses the original rig):
- Example 1 - "Shrug" pose
- Example 2 - "Smile" pose
- Example 3 - "Smirk" pose
- Example 4 - "Disgusted" pose
With example 3, I actually think I have an idea about what might be going wrong. The rig has a constraint called "eyes_follow" and the "Smirk" pose is the only pose in which I turned this setting from 1 to 0. Perhaps Sketchfab doesn't interpret the rig's various constraints correctly.
I am new to 3D modelling. I only began learning to use Blender six months ago. I wouldn't be surprised if I have done something wrong so I'm hoping that someone will be able to give me some advice on how to make this work on Sketchfab without using my fairly horrible workaround.
2. Animations with only 1 frame (ie: poses) are not handled nicely.
When you view my model on Sketchfab, you will probably notice that the play-head zooms across the bottom of the screen constantly. This behaviour is both irritating and detracts from the visual quality of the model because the dithered transparency doesn't resolve. You can press the pause button to stop this from happening but this is clearly not ideal.
I tried all the different animation settings and "Cycle One" was the least problematic. "Cycle All" is clearly the wrong choice for me because it just flickers through all of the poses until the user presses pause. I thought that maybe "No Cycle" would work well but it also has some problems:
- When the user opens the model, it will quickly flicker through each of the poses until it reaches the end of the list. This means the pose that I choose for the starting pose is irrelevant - it will always zoom to the bottom of the list.
- The pose that it uses for "Static Pose" is not the Rest Position of the armature. It randomly uses one of the other poses. This issue also applies to the "Cycle All" mode. The "Cycle One" mode is the only mode that makes the Rest Position of the armature appear as the "Static Pose".
Perhaps Sketchfab should add a checkbox called "Start Paused" to the Animation tab of the 3D settings interface. This would simply set the initial state of the viewer to be paused.
Another idea I had would be to explicitly support the concept of poses separately from animations. This would remove the Play/Pause button from the viewer. I don't know if this would be feasible but maybe there could be an option called "Use Pose Library", which would look for an action that has a different pose on each frame (like the default "PoseLib" action in Blender, which gets created when you add a new Pose Library to an armature).
3. Customised animation order and default animation are not saved correctly
In the Animation tab of the 3D Settings interface, you can customise the order of the animations and choose the default animation to be played at startup. However, these settings are never remembered correctly for me.
The order that I choose is always corrupted slightly. My model has 14 animations in the list. When I re-order them, the last 4 animations in the list always end up being placed in positions 3 through 6. The first 2 animations always appear where I placed them. Animations 3 to 10 appear in positions 7 to 14.
Additionally, the default animation that I choose is never saved. It seems to always just use the first animation in the list. (At least, this is the case when I use "Cycle One" mode.)
I wanted to use the "Gasp" pose as the default pose because I thought that it would be more likely to grab peoples' attention when they are browsing. Even if I click the "Save View" button looking at the "Gasp" pose in the 3D Settings, it will only keep that thumbnail image for a minute or two. Then, it seems like Sketchfab makes a new thumbnail behind the scenes that conforms to whatever the default animation is.
Thank you for reading my long post. Thanks in advance for any advice you post. And thank you to Sketchfab for the Staff Pick!