[GH-ISSUE #252] PNGTuber models with both blinking and talking states are not rendered correctly #92

Closed
opened 2026-03-02 04:00:09 +03:00 by kerem · 4 comments
Owner

Originally created by @transkatgirl on GitHub (Feb 24, 2026).
Original GitHub issue: https://github.com/eerimoq/moblin/issues/252

When using the PNGTuber widget, the model's mouth is always rendered as open, regardless of whether or not the mouth of the person on camera is open. The model's eyes do not have this issue.

For reference, here is the PNGTuberPlus model I'm using:
kattuber.save.zip

Originally created by @transkatgirl on GitHub (Feb 24, 2026). Original GitHub issue: https://github.com/eerimoq/moblin/issues/252 When using the PNGTuber widget, the model's mouth is always rendered as open, regardless of whether or not the mouth of the person on camera is open. The model's eyes do not have this issue. For reference, here is the PNGTuberPlus model I'm using: [kattuber.save.zip](https://github.com/user-attachments/files/25516004/kattuber.save.zip)
kerem closed this issue 2026-03-02 04:00:09 +03:00
Author
Owner

@transkatgirl commented on GitHub (Feb 24, 2026):

I tried making a new PNGTuberPlus model with a different ordering of sprites, and now the mouth is always closed.
kattuber 2.save.zip

Both the old model and new model work as expected in the PNGTuberPlus app, but when loaded into Moblin, the old model always renders the mouth as open and the new model always renders the mouth as closed.

<!-- gh-comment-id:3950531895 --> @transkatgirl commented on GitHub (Feb 24, 2026): I tried making a new PNGTuberPlus model with a different ordering of sprites, and now the mouth is always closed. [kattuber 2.save.zip](https://github.com/user-attachments/files/25516156/kattuber.2.save.zip) Both the old model and new model work as expected in the PNGTuberPlus app, but when loaded into Moblin, the old model always renders the mouth as open and the new model always renders the mouth as closed.
Author
Owner

@transkatgirl commented on GitHub (Feb 24, 2026):

I don't personally know any Swift, but this function looks like it might be the culprit?

github.com/eerimoq/moblin@5dcbf94ef8/Moblin/VideoEffects/PngTuberEffect.swift (L167)

It looks like you're not properly handling models which have both eyes opened/closed and mouth open/closed states.

<!-- gh-comment-id:3950580743 --> @transkatgirl commented on GitHub (Feb 24, 2026): I don't personally know any Swift, but this function looks like it might be the culprit? https://github.com/eerimoq/moblin/blob/5dcbf94ef8755e000076564b5a4364508325fe28/Moblin/VideoEffects/PngTuberEffect.swift#L167 It looks like you're not properly handling models which have both eyes opened/closed and mouth open/closed states.
Author
Owner

@eerimoq commented on GitHub (Feb 24, 2026):

Nice catch. A fix is in test flight now. Please verify that it fixes your problem.

<!-- gh-comment-id:3953304297 --> @eerimoq commented on GitHub (Feb 24, 2026): Nice catch. A fix is in test flight now. Please verify that it fixes your problem.
Author
Owner

@transkatgirl commented on GitHub (Feb 24, 2026):

Can confirm that the issue is fixed now. Thank you!

<!-- gh-comment-id:3954585541 --> @transkatgirl commented on GitHub (Feb 24, 2026): Can confirm that the issue is fixed now. Thank you!
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/moblin#92
No description provided.