JavaScript Deformer
JavaScript Deformer 可用于以有趣新颖的方式操作 Shape 的 points。
有关 JavaScript 如何在所有 JavaScript Layers 中使用的更多信息,请参见 JavaScript Layers。
此 deformer 类似于 JavaScript Shape 和 JavaScript Utility,但它具有一些额外的语法,使其能够访问 Shape 的 geometry。它可以访问所有 Context Module,这意味着数据可以在帧之间保存和加载。
有关此 Layer 独有的 Member Functions,请参见 Deformer Module。
JavaScript Expression - 在此输入 JavaScript 代码。
- 将 Dynamic Attributes 添加为变量。
- 创建一个 Basic Line。
- 创建一个 JavaScript Deformer。
- 将默认的 JavaScript Expression 替换为:
var points = def.getPoints();var bbox = def.getBoundingBox();var maxX = bbox.x+bbox.width;var frequency = 10;var amplitude = 50;for (let pt of points) { let normX = cavalry.norm(pt.x, bbox.x, maxX); pt.y += Math.sin((normX+n0*.1)*frequency)*amplitude;}def.setPoints(points);- 连接 javaScriptDeformer.id→basicLine.deformers。
这会将线段变形为波浪。尝试将第 4 行的 let frequency = 10; 替换为 let frequency = n0;,然后使用底部的 n0 属性来更改 deformer 的频率。