<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Lip Sync on PlumePHP</title><link>https://plumephp.com/tags/lip-sync/</link><description>Recent content in Lip Sync on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Wed, 11 Mar 2026 20:22:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/lip-sync/index.xml" rel="self" type="application/rss+xml"/><item><title>Phaser 对话立绘与口型系统：表情层、打字机和语音同步不要互相抢</title><link>https://plumephp.com/phaser-dialogue-portrait-lipsync-2026/</link><pubDate>Wed, 11 Mar 2026 20:22:00 +0800</pubDate><guid>https://plumephp.com/phaser-dialogue-portrait-lipsync-2026/</guid><description>&lt;h2 id="为什么这个系统不能临时拼"&gt;为什么这个系统不能临时拼&lt;/h2&gt;
&lt;p&gt;剧情 RPG 中，角色立绘有身体、眼睛、嘴型、情绪特效和说话高亮。语音播放时口型跟随，没语音时按文字节奏开合。&lt;/p&gt;
&lt;p&gt;真实项目里，最容易出问题的不是第一版能不能跑，而是后续能不能解释、能不能复现、能不能被内容团队稳定使用。如果打字机、语音和立绘动画各自运行，玩家跳过文本时嘴还在动，切换表情时旧嘴型残留，回看记录也会出现不同步。 这类系统一旦和奖励、存档、关卡进度或玩家输入有关，就不能只写在某个 Scene 的按钮回调里。更稳的做法是把规则层、表现层和调试层拆开：规则层只处理数据和状态，表现层负责 Phaser 动画、粒子、音效和 UI，调试层负责把中间状态暴露出来。&lt;/p&gt;</description></item></channel></rss>