# 表达式

理解表达式需要一定的编程技能。而编程是一个独立的专业学科,我们这里不作详细说明。NodeVideo使用的是MiniScript (opens new window)作为内置的编程语言,你可以参考它的快速上手 (opens new window)或者用户手册 (opens new window)来学习。

当然,你不会编程也没关系,请参考表达式示例,直接复制需要的代码即可使用。

# 全局变量

名称 解释 类型
time 当前播放时间 数值
name 当前参数名字 字符串
value 当前参数的值 数值,[,],[,,]
frameDuration 一帧的时间,相当于1/FPS 数值
speed 当前参数的变化速度 数值
velocity 当前参数的变化速度向量 数值,[,],[,,]
numKeys 当前参数包含的关键帧数量 数值
numLayers 当前组下包含的图层数量 数值
index 当前图层在父组下的索引位置 数值

查看变量

以上所有变量都可以通过表达式:“print 变量名”查看。 或者给文字图层添加表达式,直接输入变量名也可以显示。

# 全局对象

# thisLayer

名称 解释 类型
name 图层名字 字符串
index 图层在父组下的索引位置 数值
startTime 图层开始时间 数值
is3D 图层是否为3D模式 数值
position 位置 二维数组[,],3D模式下为三维数组[,,]
scale 缩放 二维数组[,],3D模式下为三维数组[,,]
pivot 轴心 二维数组[,],3D模式下为三维数组[,,]
rotation 旋转 数值,3D模式下为三维数组[,,]
opacity 透明度 数值
parent 父图层(组) 图层对象,与该表相同

# 内置函数

名称 解释 参数
wiggle 震动效果
与参数震动器相同
freq: 震动频率
amp: 震动幅度
octaves: 震动细节(默认1)
amp_mult: 振幅倍率(默认0.5)
t: 指定时间(默认图层时间)
smooth 对当前参数进行采样
然后取平均值
width: 采样时间(默认0.1)
samples: 采样数(默认5)
t: 指定时间(默认图层时间)
posterizeTime 设置表达式的更新频率 updatesPerSecond: 每秒更新次数
key 获取关键帧 n: 关键帧索引
nearestKey 获取离当前时间最近的关键帧 t: 指定时间(默认图层时间)
seedRandom 设置随机数种子 offset: 种子
timeless: 是否随时间变化(默认false)
random 取得一个随机数(可以为数组) min: 最小值(可以为数组)
max: 最大值(可以为数组)
noise 取得一个平滑噪声值 n: 数值(可以为数组)
loopIn 从第一个关键帧往后循环 type: 类型
-“cycle”: 从头循环
-“pingpong”: 往复循环
-“continue”: 在最后一个关键帧持续
numKeyframes: 循环到第几个关键帧(默认0表示循环到最后)
loopOut 从最后一个关键帧往前循环 type: 类型
-“cycle”: 从头循环
-“pingpong”: 往复循环
-“continue”: 在第一个关键帧持续
numKeyframes: 循环到第几个关键帧(默认0表示循环到最开始)
loopInDuration 与loopIn类似,循环指定时间 type: 类型,与loopIn相同
duration: 指定循环时间
loopOutDuration 与loopOut,循环指定时间 type: 类型,与loopOut相同
duration: 指定循环时间
timeToTimecode 将时间转换为时间码
[00:00:00:00]
t: 时间(默认为当前时间)
timecodeBase: 帧率(默认30)
isDuration: 是否为相对图层的时间(默认为false)
timeToFrames 将时间转换为帧数 t: 时间(默认当前时间)
fps: 帧率(默认当前项目帧率)
isDuration: 是否为相对图层的时间(默认为false)
framesToTime 将帧数转换为时间 frames: 帧数
fps: 帧率(默认当前项目帧率)
velocityAtTime 获取当前参数的变化速度(向量) t: 时间(默认当前时间)
speedAtTime 获取当前参数的变化速度 t: 时间(默认当前时间)
valueAtTime 获取当前参数的值 t: 时间(默认当前时间)
linear 线性插值 t: 插值[0-1]
value1: 最小值
value2: 最大值
ease 平滑插值,两头速度为0 t: 插值[0-1]
value1: 最小值
value2: 最大值
easeIn 平滑插值,开始速度为0 t: 插值[0-1]
value1: 最小值
value2: 最大值
easeOut 平滑插值,结束速度为0 t: 插值[0-1]
value1: 最小值
value2: 最大值
rgbToHsl 将RGB转换为HSL rgbaArray: rgba四维数组
hslToRgb 将HSL转换为RGB hslaArray: hsla四维数组
toFixed 将数值返回为字符串,指定小数位 v: 数值
n: 小数点位数(默认2)
layer 返回指定图层 index: 相对位置
isRelative: 是否是相对位置(默认True)

# 数学函数

- - -
abs(x) acos(x) asin(x)
atan(y,x) ceil(x) cos(r)
sin(r) floor(x) log(x,b)
round(x,d) pi sign(x)
sqrt(x) tan(r) exp(f)
pow(f,p) clamp(v,min,max) length(v)
normalize(v)
Last Updated:  4/17/2023, 4:14:37 PM