跳转到内容

空间转换

thisLayer

使用图层空间变换方法将值从一个空间转换到另一个空间,例如从图层空间转换到世界空间。

对于 2D 图层,合成(comp)空间和世界空间是相同的。然而,对于 3D 图层,合成空间是相对于活动摄像机的,而世界空间则独立于摄像机。

在本页中,我们将使用 thisLayer 作为调用这些项的示例,但请注意,任何返回 Layer 的方法都可以使用。

from 方法将值从指定空间(合成或世界)转换到图层空间。

to 方法将值从图层空间转换到指定空间(合成或世界)。每个变换方法都接受一个可选参数来确定计算变换的时间;然而,你几乎总是可以使用当前(默认)时间。

当变换方向矢量时(例如两个位置值之间的差异),使用 Vec 变换方法。

当变换一个点时(例如位置),使用普通的(非 Vec)变换方法。


thisLayer.toComp(point[, t=time])

将点从图层空间转换到合成空间。

参数类型描述
point数组(2 维或 3 维)要转换的点
t数字可选。采样点的时间。默认为 time

数组(2 维或 3 维)


thisLayer.fromComp(point[, t=time])

将点从合成空间转换到图层空间。在 3D 图层中,结果点即使在图层空间中也可能具有非零值。

参数类型描述
point数组(2 维或 3 维)要转换的点
t数字可选。采样点的时间。默认为 time

数组(2 维或 3 维)

fromComp(thisComp.layer(2).position)

thisLayer.toWorld(point[, t=time])

将点从图层空间转换到与视图无关的世界空间。

参数类型描述
point数组(2 维或 3 维)要转换的点
t数字可选。采样点的时间。默认为 time

数组(2 维或 3 维)

toWorld.effect("Bulge")("Bulge Center")

thisLayer.fromWorld(point[, t=time])

将点从世界空间转换到图层空间。

参数类型描述
point数组(2 维或 3 维)要转换的点
t数字可选。采样点的时间。默认为 time

数组(2 维或 3 维)

fromWorld(thisComp.layer(2).position)

thisLayer.toCompVec(vec[, t=time])

将矢量从图层空间转换到合成空间。

参数类型描述
vec数组(2 维或 3 维)
t数字

数组(2 维或 3 维)

toCompVec([1, 0])

thisLayer.fromCompVec(vec[, t=time])

将矢量从合成空间转换到图层空间。

参数类型描述
vec数组(2 维或 3 维)
t数字

数组(2 维或 3 维)

对于 2D 图层:

const dir = sub(position, thisComp.layer(2).position);
fromCompVec(dir)

thisLayer.toWorldVec(vec[, t=time])

将矢量从图层空间转换到世界空间。

参数类型描述
vec数组(2 维或 3 维)
t数字

数组(2 维或 3 维)

将两个不同的 “Bulge Center” 属性从应用效果的图层的图层空间转换到图层所在合成的 世界空间

const p1 = effect("Eye Bulge 1")("Bulge Center");
const p2 = effect("Eye Bulge 2")("Bulge Center");
toWorld(sub(p1, p2))

thisLayer.fromWorldVec(vec[, t=time])

将矢量从世界空间转换到图层空间。

参数类型描述
vec数组(2 维或 3 维)
t数字

数组(2 维或 3 维)

将图层 #2 的位置从世界空间转换到此图层的空间:

fromWorld(thisComp.layer(2).position)

thisLayer.fromCompToSurface(point[, t=time])

将位于合成空间中的点投影到图层表面(零 z 值)上的点,该点是当从活动摄像机查看时出现的位置。此方法对于设置效果控制点非常有用。

:::note 仅用于 3D 图层。 :::#### 参数

参数类型描述
point数组(2 维或 3 维)要转换的点
t数字可选。采样点的时间。默认为 time

数组(2 维)