跳至主要內容

changeFigure

Mahiru大约 4 分钟

changeFigure

立绘入场, 替换立绘, 立绘退场,设置立绘参数的四合一命令。

语句内容

填写立绘的路径。当文件路径为空或为 none 时,表示立绘退场。
详情请见背景与立绘

; 如果没有立绘存在,则此句表示立绘入场。
changeFigure:1/open_eyes.png;
; 如果已有立绘存在,则此句表示替换立绘。
changeFigure:2/open_eyes.png;
; 如果填写 none 或者不填,则此句表示立绘退场。
changeFigure:none;

如果立绘的路径与 id 保持不变,则不会触发入场或退场动画,而是将新参数应用到目标立绘上。

; Live2d 立绘入场
changeFigure:character_a/model.json -id=aaa;
; 修改 Live2d 立绘的动作表情
changeFigure:character_a/model.json -id=aaa -motion=smile -expression=sad;

目前 WebGAL 支持图片立绘,Live2D 立绘和 Spine 立绘。

图片立绘

任何不是 Live2D 或 Spine 的格式,都将尝试作为图片立绘导入。

changeFigure:1/open_eyes.png;

Live2D 立绘

相关信息

使用 Live2D 需要开发者做一些准备工作,详情请见 关于Live2D

填入 Live2D 模型 (.json/.model3.json) 的路径,WebGAL 会加载 Live2D 模型。

changeFigure:character_a/model.json;

Spine 立绘

相关信息

使用 Spine 需要开发者做一些准备工作,详情请见 关于Spine

如果您的 Spine 模型是 .skel 格式,您可以直接填写该文件的路径。

changeFigure:character_x/model.skel;

如果您的 Spine 模型是 .json 格式,您需要在路径后指定立绘类型为 Spine,避免误当作 Live2D 模型导入。

changeFigure:character_x/model.json?type=spine;

参数

transform

  • 字符串

填写 json 字符串,控制舞台对象的变换与效果。详情请见 变换效果参考

注意

此参数仅在对象入场,或替换对象时生效。如果需要修改在场对象的变换效果,请使用 setTransformsetAnimationsetTempAnimation 等命令。

changeFigure:1/open_eyes.png -transform={"position":{"x":-50,"y":-20},"rotation":0.1,"scale":{"x":1.2,"y":1.2},"brightness":0.5,"blur":10};

enter

  • 字符串

填写动画名称,对象出场时将播放该动画,顶替默认的透明度淡入的入场动画。

changeFigure:1/open_eyes.png -enter=enter-from-left;

exit

  • 字符串

填写动画名称,对象退场时将播放该动画,顶替默认的透明度淡出的退场动画。

changeFigure:1/open_eyes.png -exit=exit-to-right;

duration

  • 数字
  • 范围:0 到正无穷
  • 单位:毫秒

动画的持续时间。

作用于默认入场退场动画,默认值为 1000。

changeFigure:1/open_eyes.png -duration=200;

ease

  • 字符串

填写缓动类型,控制动画的缓动效果,默认值为 easeInOut,可选值包括

  • linear:线性
  • easeIn:缓入
  • easeOut:缓出
  • easeInOut:缓入缓出
  • circIn:圆形缓入
  • circOut:圆形缓出
  • circInOut:圆形缓入缓出
  • backIn:起点回弹
  • backOut:终点回弹
  • backInOut:起止回弹
  • bounceIn:起点弹跳
  • bounceOut:终点弹跳
  • bounceInOut:起止弹跳
  • anticipate:预先反向

任何其他字符串都会回退到默认值。

作用于默认入场退场动画。

changeFigure:1/open_eyes.png -ease=easeOut;

left

  • 布尔值

当值为 true 时,新立绘出场时将位于舞台左侧,对象坐标原点也会向左偏移。
若参数 id 未填写或值为空字符串时,默认赋予该立绘以 fig-left 的 id。

注意

此参数仅在立绘出场,或替换立绘时生效。如果需要修改在场立绘的坐标,请使用 setTransformsetAnimationsetTempAnimation 等命令。

changeFigure:1/open_eyes.png -left;
  • 布尔值

当值为 true 时,新立绘出场时将位于舞台右侧,对象坐标原点也会向右偏移。
若参数 id 未填写或值为空字符串时,默认赋予该立绘以 fig-right 的 id。

注意

此参数仅在立绘出场,或替换立绘时生效。如果需要修改在场立绘的坐标,请使用 setTransformsetAnimationsetTempAnimation 等命令。

changeFigure:1/open_eyes.png -right;

id

  • 字符串

填写名称作为该立绘的唯一标识符,并将该立绘视作自由立绘。

若未填写该参数,或值为空字符串时

  • left 参数为 true,则默认赋予该立绘以 fig-left 的 id
  • right 参数为 true,则默认赋予该立绘以 fig-right 的 id
  • leftright 参数均为 false,则默认赋予该立绘以 fig-center 的 id
; 填写了不同 id 后,即使初始位置相同,立绘也不会相互顶替。
changeFigure:1/open_eyes.png -id=aaa;
changeFigure:2/open_eyes.png -id=bbb;
; 此时 -left -right 仅与初始位置有关,可以与 -id 一起使用。
changeFigure:3/open_eyes.png -id=ccc -left;

zIndex

  • 数字 (整数)
  • 范围: 0 到正无穷

立绘的层级,数值越大,立绘图层越靠上。如果数值相同,则入场较晚的立绘图层会更靠上。
若不填写该参数,默认值为0。

; 立绘 aaa 会在立绘 bbb 上方。
changeFigure:1/open_eyes.png -id=aaa -zIndex=2;
changeFigure:2/open_eyes.png -id=bbb -zIndex=1;

clear

  • 布尔值

将语句内容替换为空字符串。

changeFigure:1/open_eyes.png -clear;

none

  • 布尔值

将语句内容替换为空字符串。

changeFigure:1/open_eyes.png -none;

animationFlag

  • 字符串

动画标志,暂无实际作用。

mouthOpen

  • 字符串

填写图片立绘的路径,作为张嘴时的立绘差分。

changeFigure:1/open_eyes.png -mouthOpen=1/open_mouth.png;

mouthHalfOpen

  • 字符串

填写图片立绘的路径,作为半张嘴时的立绘差分。

changeFigure:1/open_eyes.png -mouthHalfOpen=1/halfopen_mouth.png;

mouthClose

  • 字符串

填写图片立绘的路径,作为闭嘴时的立绘差分。

changeFigure:1/open_eyes.png -mouthClose=1/closed_mouth.png;

eyesOpen

  • 字符串

填写图片立绘的路径,作为睁眼时的立绘差分。

changeFigure:1/open_eyes.png -eyesOpen=1/open_eyes.png;

eyesClose

  • 字符串

填写图片立绘的路径,作为睁眼时的立绘差分。

changeFigure:1/open_eyes.png -eyesClose=1/closed_eyes.png;

motion

  • 字符串

对于 Live2D 立绘或 Spine 立绘,填写动作名称,播放对应的动作动画。

changeFigure:character_a/model.json -motion=sad;
changeFigure:character_a/model.json -motion=smile;

expression

  • 字符串

对于 Live2D 立绘,填写表情名称,切换对应的表情。

changeFigure:character_a/model.json -expression=smile;
changeFigure:character_a/model.json -expression=sad;

bounds

  • 字符串

对于 Live2D 立绘,填写 number[4] 数组,拓展或收缩立绘的显示区域。
以向右和向下为正方向,顺序为 左,上,右,下

注意

此参数仅在立绘出场,或替换立绘时生效。

; 往左和往右拓展 300 像素
changeFigure:character_a/model.json -bounds=-300,0,300,0;