2023
20231229
GE 支持微信小程序
Galacean Effects 支持微信小程序啦^_^,简单两步即可渲染。
1、安装适配器和 effects 的 npm 包
# 安装 Galacean Effects 的小程序/小游戏适配器
npm i @galacean/appx-adapter --save
# 安装 Galacean Effects
npm i @galacean/effects --save
2、注册及加载
import { registerCanvas } from '@galacean/appx-adapter/weapp';
import { Player } from '@galacean/effects/weapp';
// 1. 使用 adapter 方法注册,'#J-webglCanvas' 为 canvas ID
const canvas = await registerCanvas({ id: '#J-webglCanvas' });
// 2. 通过创建的 canvas 对象实例化一个 Galacean Effects 播放器
const player = new Player({ transparentBackground: true, canvas, pixelRatio: 2, renderFramework: 'webgl' });
// 3. 加载资源并执行播放
void this.player.loadScene('url');
注意:
- Galacean Effects 对小程序的适配包使用了
package.json
exports
,NodeJS v12.7.0 和 Typescript v4.7 及以上才支持,同时tsconfig.json
的module
需配置为ESxxx
(如:ESNext
)。
20231222
元素拆分
结合编辑器设置元素结束行为的特性,GE 支持元素拆分。比如某元素先入场,再无限循环,一键拆分,循环所需部分即可。
在元素列表中,右键动画元素选择「拆分」,可将该元素在时间指示线时刻一分为二。
「拆分」快捷键 Ctrl/Cmd + Shift + D。
20231215
贴图元素可被认父
目前贴图元素可直接被认父,再也不用添加占位的空元素(认父时,透明度 k 帧不会对子元素生效)。
播放器最低支持版本 @galacean/effects 1.0.0 以上
20231208
画布穿透选择
当存在元素重叠位置时,可以通过穿透选择实现对当前位置所有鼠标碰撞元素的单个选中:
- 在画布中,右键点下,通过【选择图层】选项可以看到当前位置所有鼠标碰撞元素,可以在列表中通过元素名称直接选中。
- 在画布中,在按下
command[Mac]
/alt[Windows]
的状态下,右键点下,此时会直接显示当前位置所有鼠标碰撞元素列表,可以通过元素名称直接选中。
20231201
时间轴添加图片
支持将图片直接拖拽添加到时间轴,并快速调整图层的上下位置。被添加的图片资源默认上传至【资源窗】,且在时间轴中创建为图层元素。
20231124
属性面板多选编辑
多选同类元素可以进行批量编辑
多选不类元素可以对部分公共熟悉进行多选编辑
20231110
图层元素的交互属性
图层元素已经支持设置点击交互了!大家不需要再单独创建交互元素和图层元素绑定空节点了。
20231103
Spine 动画融合
添加一个 Spine 元素,将导入该文件下的多个动画。设置融合时长,就可以在播放过程中,实现融合过渡。(融合规则与 Spine 一致)
另外,支持调整动画顺序或删减动画。
在【动画选择】中,拖拽排序或删减,就可编排出需要的 Spine。
20231027
使用历史版本保存项目快照
历史版本可以记录项目中所有的合成和资源,方便需要时查看和恢复。
创建并查看历史版本
预览历史版本 & 恢复到历史版本
点击主菜单中【文件】->【历史版本】会进入只读模式,可以切换历史版本进行预览或恢复。点击右上角的【退出】按钮,回到编辑模式。
NOTE:操作【恢复到此版本】会将项目恢复到历史版本,但不必担心项目当前的内容丢失,GE 会自动将项目当前状态保存为一个版本(以当前时间命名),然后再将项目恢复。
20231020
反转关键帧
反转关键帧可将关键帧按所选的关键帧的时间中心作镜像反转:
路径关键帧反转还会改变运动方向。
20231013
【内测】团队拖拽排序
新创建或新加入的团队会默认会排在团队列表的顶部。若想更改团队列表的排序,将常用团队置于顶部,可以直接拖拽团队,在列表中上下移动,即可更改排序。
20230922
整体调整路径动画位置
方法一:
点击路径属性,全选关键帧,拖动对应元素,即可整体挪动路径动画。
方法二:
修改属性面板基础位置,通过基础位置叠加,实现批量调整关键帧位置的上的。
方法三:
曲线编辑器【值模式】下,移动对应轴的路径的关键帧,也可以实现平移。
20230915
复制 CSS 动画
选中一个或多个元素后,通过元素右键菜单,复制 CSS 动画:
就可以生成开发能直接用的 CSS 关键帧动画:
注意,当前只支持缩放、旋转、透明度、路径这四种常用的属性(路径仅支持直线运动)。
另外,在曲线编辑器的曲线上也可以右键复制 CSS 动画:
20230908
关键帧快捷键操作
- 按
F9
可将关键帧变成缓动。 - 在曲线编辑器中,按
ctrl+alt+点击关键帧
,切换自动、线性。 - 在时间轴中,按
ctrl+alt+点击关键帧
,切换定格、线性。 - 在时间轴中,按
ctrl+点击关键帧
,切换自动、线性。 - 在时间轴中,按住
shfit+拖动指示线
,可吸附至相邻关键帧。
- 在时间轴中,按住
alt+拖动首尾关键帧
,可整体缩放关键帧时间。
按住 shift
拖拽拽时长小长条尾部,也可以实现缩放关键帧时间:
- 在曲线编辑器中,按住
shfit+拖动手柄
,可快速将手柄变为水平:
- 在曲线编辑器中,按住
alt
可调整关键帧包围盒单个顶点(ctrl+alt
反方向调整同竖边的另一个顶点,ctrl+alt+shift
同方向调整同竖边的另一个顶点)
(以上在 Mac 上,ctrl
换成 cmd
,alt
换成 option
)
20230901
曲线编辑器路径的控制手柄怎么没有了?
直观理解
假设元素从 A 点运动至 B 点,它的运动快慢应该由速度控制。
所以我们需要通过曲线编辑器的右键菜单切到速度模式,调整路径移动的速度。
路径曲线的速度模式的单位为每秒运动多少个 GE 中的长度单位。
如果曲线值越大,说明运动速度越快,如果曲线越陡,说明加速度越快。(由于现在路径的速度计算不是一个常规实现,所以与实际表现会存在一些差异。)
数学解释
路径曲线的值模式就变成了 x, y, z 轴每个时刻实际的值(与画布中的路径轨迹关联)。换句话说,值模式的曲线是由很多个时刻的点组成的,并不是贝塞尔曲线了,所以没有控制手柄了。通过路径的值模式可以修改关键帧的值、平移单条曲线。
路径的速度模式在 GE 内部的表示其实也是一条贝塞尔曲线,但是由于调整它的关键帧的值的大小没有实际的意义,比如区间值是 [0, 100] 或者 [0, 1] 都是可以的,实际有用的是曲线值在这个区间的比例,50 对 [0, 100],0.5 对 [0, 1] 都是等价。只有调整它的控制手柄才是有意义的。调整控制手柄就会影响值曲线的斜率(也就是速度)。
因此,与其调整值模式,不如直接调整速度模式,会更加直观。
20230825
元素右键选择资源
点击元素右键“选择元素资源”菜单项,可快速定位到资源管理器中,元素使用到的图片或 Spine 等资源。
20230818
数字输入框的小秘密(一)
在属性面板中,数值输入框支持多种交互方式:
点击录入数值:常规操作,不展开;
拖动调整数值: 鼠标悬浮到数值输入框,点击可将鼠标切换为【↔】,即可拖拽调整数值,即便拖拽超出屏幕也可以继续拖拽,鼠标会从屏幕另一侧继续进入屏幕继续修改数值。
支持四则运算:除了输入数字,也可以输入四则运算,支持 + - * /
及 ( )
,如果是乘法或者除法可以省略被乘数和被除数,比如原值是 6,输入“/2” 会得到 3,如果最终计算得到的值是非法的则不会进行改值,比如 /0。
20230814
我的曲线
选定 ≥2 个连续的关键帧右键,可以“保存曲线”,创建到“我的曲线”中。
使用时,对已选中的连续关键帧生效。若未选中任何关键帧,则对选中属性的全部关键帧生效:将每 2 个关键帧之间的曲线,设置为预设曲线的线型。
同时,支持拖拽使用。(区别于 ctrl+c/ctrl+v 复制曲线,复制的曲线仅在同类属性之间生效。)
20230804
颜色选器的小秘密(一)
- 👏 在颜色选择器的色相面板上可以通过鼠标滚轮或者触控版调整色相。
- 🔥 如果同时按住
alt(Windows)/option(Mac)
键,调整色相的效果将切换为调整颜色透明度。 - ⚡️ 如果同时按住
shift
键将会以 200% 的速率调整。 - 🧨 如果按住按住
ctrl(Windows)/command(Mac)
键将会以 50% 的速率调整。
20230731
时间轴多元素批量操作
时间轴可以多选元素后,进行批量操作,例如批量 K 帧、批量认父、批量加解锁、批量修改延迟时间等操作。
20230721
定格关键帧
在最新的曲线编辑器中,支持了【定格关键帧】,表现为上一帧到下一帧的跳变,实现可爱又迷人的定格动画。
关键帧右键菜单中,选择【切换定格关键帧】设置为定格出,即可保持该帧效果跳变到下一帧数值。
下面,请欣赏 哪吒 同学制作的《夏日快乐冰箱》。
20230714
合成开始时间
本周迭代中,优化了【合成开始时间】在编辑时预览不生效的问题。以下图为例,开始时间设置为 2s ,10s 合成将会在时间轴上展示为 2-12s 的时间范围。相对实现【渲染延时】为负的效果。