Cavalry 練習とメモ
アニメーション作成アプリのCavalryの練習スクラップ
線のなみなみを作る
STEP1
Scene Windowの Quick Addから Basic Line
を追加する
Attribute Editorで Basic Line
の設定をする。今回は長さを横幅いっぱいに伸ばす
Deformers から Noise
を追加する。
Noiseは名前の通りノイズを使えるようになります。今回はこのNoise
を使って線をうねうねさせます。そのままだと、X軸が動くだけなので、User Normals
にチェックを入れます。ホバーすると英語での説明が出て 「法線に沿って形状を変形します(Google翻訳)」 と出ます。 Basic Line のDivisions
が影響を受けます。ですので、うねうねの数をコントロールしたい時は、この値を変更します。
今回変更したNoiseの各値は、Minimum/Maximum
とTime Scale
、Loop
です。最小/最大はそのままの意味で、得られる値の最小/最大です。TimeScaleはNoiseにTime (タイムラインの経過時間) を渡しているので、それのスケールです。これを変更するとうねうねのスピードを変更できます。
Loop
は指定したLoop Lengthで、Noiseの値が1ループするようになります。ですので、Frame数と同じにしておくと、ループムービーが作れます。
次にもう一度 Deformers から Subdivide
を追加します。Noiseは線の各頂点に対して影響するので、そのままだと直線的になってしまいます。なのでこのDeformerで滑らかにしています。
(別の方法もありそうな気がします)
STEP.2
デフォルトだとViewport
の右上に有る、_Create a Duplicator_で Duplicator
をタイムラインに追加します。
DuplicatorのAttributeからDistribution
を Grid(グリッド) から Liner(直線) へ変更し、Count
を適当な数にします。そうするとラインが縦に並びます。縦の並びの幅は、Size
で指定する事が出来ます。
STEP.3
Quick Add からColor Array
を追加します。
Color Arrayは名前の通り色情報の配列です。Color ArrayのAttributeから+Add
をクリックして、色を追加します。タイムラインに配置された、Color Arrayの右にある丸ポチからドラッグして、_Basic LineのStrokeの
Stroke Color`へドラッグします。そうするとラインにColor Arrayで指定した色が、それぞれの線に着色されます。
以上で完成です。
粗いですが、webmで書き出したもの:
使ってみての印象と
- CavalryはAdobe系の様なクリエティブツールというより、ノードエディタに近い感覚でモーションを作ることが出来るツールです。
- 画面の位置、
見た目
をマウスで調整する、というよりオブジェクトのプロパティを調整するイメージ - なので、クリエティブコーディングのGUIバージョンが一番近い印象です。
- 項目が多いので最初何からすれば良いか少し戸惑う
- なれるととても使いやすい
- Lottieにも書き出せるので、実務にも使えそう
基本的なメモ
- 無料でも全機能が使えるそうです
- サブスクリプション方式(クリエティブツールとしては高くない気がする)
- プロパティにBehaviorを追加するには、タイムラインに配置して繋げたり、Attributeのラベルを右クリックなどで繋げる事が出来る
- まだ日本語の情報は少なめ。Cavalryと検索するとまだまだ騎兵隊が出てくる。
- Youtubeが今の所一番わかり易い
プログラムっぽく理解する
- グリッドに配置したブロックの色を、時間軸で変更する
STEP.1
-
Rectangle Tool
でブロックを配置する。 - Duplicatorで複製する。DistributionはGridにして、CountとSizeで敷き詰める。
まだわかっていない点として、1000pxに10x10でブロックを配置したのですが、Countはx/yを10にし、Sizeを1000にしたのですが、そうするとCompositionからはみ出てしまいました。900にするとぴったり嵌りました。CavalryはCompositionもそうなのですが、原点(x:0/y:0)が中心になるようです。ですので、1000にすると端のブロックの中心が1000の位置に来てしまうので、半分だけはみ出したようになるのだと思います。
STEP.2
-
Color Array
を追加して、適当に色を設定する -
Color Array
を最初に配置したRectangleのFill Color
に繋ぎます
STEP.3
-
Math
を追加する - FirstにDuplicatorの
Index Context
を繋ぐ - Secondに
Frame
を繋ぐ(右クリックでAdd Behaviourから追加など) - Operation を
Add
にする
足し算をしています。
ブロックの位置を示すIndex Context
に現在のFrameを足しています。
STEP.4
-
Math
を追加する - Firstに
STEP.3
のResultを繋ぎます - Resultを
Color Array
のindexに繋ぎます
微調整
そのままだと、Frame Rateの設定でカラーが切り替わります。
Frame Rate自体を変更しても良いですが、FrameのAttribute/Valueを変更しても調整出来ます。
まとめ
これでブロックがColor Arrayの順番に切り替わるモーションが出来ました。
RectangleのIndexを使うことでそれぞれのブロックで初期値が変えられるので、カラフルな画面になります。
Mathを使うあたりは、JSなどでプログラムをしている感覚に近かったです。