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 的頻率。