Skip to content

关于表情的动态效果 #79

@DetLFY

Description

@DetLFY

默认使用 SetExpression 设置表情时,表情是不会触发动态效果的,但是有很多的表情是有动态效果的(例如一些星星眼的表情,会有闪烁的效果,通过 SetExpression 设置时是不会触发的)。

我目前的解决方案是在 SetExpression后面调用一个空动作 IDLE 0,这样就能触发表情的动态效果。我想知道这个动态效果是因为 live2d 模型制作者在制作 exp3.json 文件时候的问题,还是说能有其它对应的解决方案?

附上我的方法:

    def setModelExpression(self, expId: str, time: int = -1) -> None:
        """模型表情设置"""
        if expId == "随机表情":
            self.model.SetRandomExpression(time)
        elif expId == "重置表情":
            self.model.ResetExpression()
        elif expId is not None:
            self.model.SetExpression(expId, time)
            if "IDLE" in self.motions:
                self.model.StartMotion("IDLE", 0, live2d.MotionPriority.FORCE,
                                       self.onStartCallback, self.onFinishCallback) # 为表情增加动态,默认调用IDLE_0
            elif "idle" in self.motions:
                self.model.StartMotion("idle", 0, live2d.MotionPriority.FORCE,
                                       self.onStartCallback, self.onFinishCallback)

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions