🐴

【Cavalryの基礎・入門】Basic Shape 以外のシェイプの種類

2025/01/13に公開

Basic Shape の他にも特定の用途を意図したシェイプが用意されている様子。

Add Layers から Shapes を選んだ際に表示されるシェイプを順番に見て行こうと思う。

ちなみにダブルクリックをするとレイヤーに追加される。

Background Shape

シーンの背景を覆うサイズのシェイプが作られる。形だけで言えば Basic Shape の Primitive Type を Rectangle(長方形)にして、シーンと同じサイズにすれば再現可能なように思える。

違いは個別設定項目に Shrink(シュリンク)という縮めるという意味の項目があり、X値とY値を加算すると縮んでいく。

なるほど。

シーン全体を幕のように覆ったり開いたりするには便利かもしれない。


Basic Line

線。ただの線だけではなく、ベジェ曲線と渦巻も作れる様子。

Line Type

Line/Bézier/Spiralの三種が選べる。それぞれに少しずつ設定項目が異なる。

Line > Length

長さ。

Line > Divisions

不明

Bézier > Start Position

開始点の位置。

Bézier > Start Offset

開始点の位置のずらし。

Bézier > End Position

終了点の位置。

Bézier > End Offset

終了点の位置のずらし。

Bézier > Divisions

不明。

Spiral > Outer Radius

全体(外側)の渦巻の半径。

Spiral > Inner Radius

中央の穴(内側)の半径。

Spiral > Sides

渦巻の頂点。数が多いと滑らかになるが後述の Start Angle と End Angle との関係もある。

Spiral > Start Angle

渦巻の始点(中心側)の曲げ具合。

Spiral > End Angle

渦巻の終点(外側)の曲げ具合。

Spiral > Divisions

不明。


Cel Animation Shape

これがシェイプに含まれる理由や感覚は追々理解できると思いますが、いわゆるパラパラ漫画的なものが表現できます。

このシェイプ自体は下地もしくは箱のようなものでそれそのものに形や大きさはなく、キーフレームごとにパスを描くことフレームごとに表示非表示を操作してくれる。

例えば1フレーム目に 1 と書いて、2フレームに 2 と書けば、2フレーム目を表示している時は 1 は消えるし、1フレーム目を表示している時は 2 は表示されない。

手描きのパラパラ漫画にはうってつけの機能だ。

描けるのはパスだけで、他のシェイプなどは載せられない様子。

Fill Rule

値には Even Odd(偶数奇数) と Winding(巻き込み)というものがあるのですが、違いがわかりません。おそらくパスが重なった時の塗りのルールなのですが、今のところ不明です。

Onion Skinning

たまねぎの皮のように薄く向こう側が透けて見えるという意味ですね。前後のキーフレームに描いたパスを見えるようにするかのチェックです。

チェックしただけでは何もおこらなかったのですが、どうやらビューポートの以下の部分も有効にしないと使えない機能なようです。


Component(Pro)

Pro版のみ。


Connect Shape

何かと何かを繋げるコネクタを表現するシェイプ。シェイプ同士を繋げることで特殊な動きをさせることもできそうだけれど、とりあえずは「繋いでいる線」を表現するものと思った方が良さそう。

Connect Shape の属性エディタには個別の設定項目の他にも Sorce と Target というタブが増える。コネクトする源と対象ということのようだ。

設定項目が多いうえに、正直ほとんど意味がわからないので以下の動画を見ながら試す方が理解が速い。

https://www.youtube.com/watch?v=jW8kJB8BdFg

色々と設定値ははあるが、Sorce も Target も Sub-Mesh を使うことが多いようだ。
個人的には Path でもいいんじゃないかと思ったりもしている。

いつか使いこなせる日がくることを祈る。

実例

"Connect Shape" by Hideki Saijo licensed CC BY from Scenery.io


Convex Hull

凸包(とつほう)という言葉があるらしい。中に含まれるシェイプを包む最小限の大きさの袋や膜のようなものをイメージしてもらうのがわかりやすいか。

Input Shapes

中に含ませるシェイプを指定できる。何個でもいけるようだ。

High Quality

チェックをいれるとよりみっちりとひっつく。風船のようにピタッと。チェックを外すと少し緩んで雑になる感じ。

実例

"Concentric Hulls" by Giuseppe Laezza licensed CC BY from Scenery.io


Corner Pin

これは最初に生成される四角がただの灰色の Rectangle なのが分かり難い原因です。

Corner Pin は以下のドキュメントにあるように3D遠近法の錯覚を作り出すためにあるものですので、単純なベタ塗りのシェイプだと錯覚が起こり難くて意味が分かり難いです。

https://docs.cavalry.scenegroup.co/nodes/shapes/corner-pin/

このドキュメントの下部にある例を実際にやってみるとわかりやすいのでおすすめです。

まず大事なのは四方の水色の十字は触って動かせます。非常に触り難いですが、ダブルクリックをするなどして掴んでみてください。
そしてドラッグして動かすと突然意味がわかると思います。

イメージとしてはポスターの四隅を持って、任意の隅を手前に引いたり奥に押したりするとポスターは変形して歪み、絵柄もゆがんだりしますよね。そのような3D表現を実現してくれます。

細かい説明は難しいので調べていた時のキャプチャを貼っておきます。

実例

"Deep Corner Pin" by Antonin Waterkeyn licensed CC BY from Scenery.io


Custom Shape

編集可能なシェイプというような意味だけれど、シェイプはどれも編集可能。ここでいう Custom とはもとのシェイプを親として作成した子供のシェイプ(インスタンス)を編集することができるという意味なのだと推測する。

Input Shape

親のシェイプとなるエディタブルシェイプAを作成し、Custom Shape の Input Shape に接続すると Custom Shape は シェイプA のコピーとなる。

Custom Shape は色をつけたり大きさを変更してシェイプAとは違うプロパティを持つことができる。ただし形を形成するパスについてはシェイプAとリンクしている。

シェイプAのパスを変形させると、それと同じように Custom Shape の形も変わる。

Custom Shape の方のパスを変形させようとするとアラートが出て、そのまま無視して変形を続けるとそれはもうインスタンス(Custom Shape)ではなくなり、ただの エディタブルシェイプ になる。

Bake Transform

変形を焼き付ける的な雰囲気ですね。ドキュメントでは

チェックすると、入力シェイプの変換がカスタムシェイプの出力に適用されます。つまり、入力シェイプが拡大縮小された場合、カスタムシェイプもそれに応じて出力されます。これは、拡大縮小時にストローク幅を保持する方法としても使用できます。

このように解説されていて、入力シェイプの Scale 変換と Custom Shape のScale が同調するのかなと思ったのですがそんなことはなく、Custom Shape にシェイプが接続された瞬間の Scale をどうするのか、引き継ぐのかどうなのかを決めるもののようです。

チェックをせずにインスタンスの生成後に拡大縮小をして大きさを合わせると Stroke の幅が合わなくなるようなので、その回避用みたいです。


Editable Shape

ペンツールや鉛筆ツールで描いたものや、シェイプを Ctrl/Cmd + E で 編集可能にしたシェイプがこの種類になる。

Path

パスのキーフレームを打つことができ、キーフレームごとにパスを変化させると変化の過程をアニメーションしてくれる。

Fill Rule

Fill Rule という塗りに関するルールが一般的にあるらしい。パスが交差して Fill が重なる箇所の塗りをどのような規則で塗ったり塗らなかったりするのかを指定できる。

指定できる値は Even Odd(偶数奇数)か Winding(巻き込み)のどちらか。

Onion Skinning

前述の通り。


Extract Sub-Meshes

説明を読むよ Duplicate したシェイプの任意のシェイプ(10個複製していたら 2番目と5番目とか)を対象にすることができるらしい。用途は不明。

Input Shape

入力するシェイプだけれど、基本的に単体シェイプではなく Duplicator を入力するっぽい。

Indices

index の複数形?指定の数字のシェイプが取得される。数字でもいいし、first や last などという指定もできる様子。0:3 とすれば 0~3個目のシェイプになる。

Level Mode

シェイプを取得するレベルやモードとのことですが、詳細は不明。

Custom Level

不明

Ignore Empty Sub-Meshes

空(から)のサブメッシュを無視するかどうかのチェック。


Extrude(Pro)

Pro版のみ。


Footage Shape

Assets から画像や動画を配置した時にできるシェイプでメディアの外枠、箱のようなイメージ。

メディアはこの Footage Shape の塗りの Shaders として表示されている。なのでこの Footage Shape を変形させたりアニメーションさせると画像や動画も動くということになる。

Shrink

縮小。X値とY値を加算すると縮んでいく。

size

メディアの大きさを示す属性で、読み取り専用とのこと。大きさの変更は 基本属性の Scale で調整するっぽい。


Forge Dynamics(Pro)

Pro版のみ。


Grid Layout Group(Pro)

Pro版のみ。


Grid Layout Row(Pro)

Pro版のみ。


Group

レイヤーをグループ化するもの。レイヤーを選択して Ctrl/Cmd + G でもグループ化できる。

グループをそのまま Duplicate することもできたりする。機能面でも整理面でも必須な機能。

Blending and Opacity Mode

ブレンドモードや Opacity を 全体(ArtBoard)でおこなうか個別レイヤー単位(Individual Layers)でおこなうかを選べる。


Image To Shapes

画像を長方形や楕円でサンプリング(クッキーの型抜きのような感じ、もしくは点描)したもの。アセットの画像を入力して使用する。

Image

サンプリングの元となる画像を入力。

Mode

長方形か楕円を選ぶ。

Iterations

反復という意味。数値が高いほど、作成されるシェイプの数が増え、忠実度が高くなるとのこと。

Filter

速度と品質の割合を指定できる。

  • None (Fastest):最高速度。最低品質。
  • Bilinear:高速。低品質。
  • Mipmaps:低速。高品質。
  • Bicubic:最低速度。最高品質。

Isolines(Pro)

Pro版のみ。


JavaScript Shape(Pro)

Pro版のみ。


Layout Group(Pro)

Pro版のみ。


Merge

開いたパスともうひとつのパス(もしくはシェイプ)を繋ぐ(合わせて閉じる)ようなシェイプが作られます。

First Shape / Second Shape

シェイプをふたつ指定します。

Reverse Second Shape

2番目のシェイプのパスの方向を反転します。


Outline

任意のシェイプのアウトラインをシェイプとして利用できるようになります。
設定は Stroke のものとほぼ同じなので同じ項目は割愛します。
ただ、OutLine は Stroke ではなくあくまでもシェイプだと強調されています。

Clean Up

場合によっては不要なジオメトリが作成され、意図しない箇所にアウトラインが生成されるのですが、チェックを入れるとそれを防げるようです。ONにするとパフォーマンスに影響があるらしいですが、二重で Stroke を指定したりしない限りはとくに気にする必要はなさそうで OFF のままでもいいのかなと思います。

Preserve Materials

入力シェイプの Fill または Stroke の色がアウトラインに適用されるようになります。両方とも色がついている場合は Stroke の色が優先的に採用されます。


Points to Path

ポイントとポイントを繋いだパスを作成してくれる。ポイントはいわゆるパスにおけるアンカーポイントに該当するとイメージできる。

ポイントはオブジェクトであればなんでも良さそう。
シェイプが邪魔なら Null(Shift + Ctrl/Cmd + =)を作成すれば見えないポイントになってくれる。

Point Sorce

基本的には Array にして任意のポイントの Position をコネクトするという使い方だと思う。
ただ、Random などにするとランダムなパスが描かれるのも面白い。ただ、ポイントが存在しないので自由に動かせる訳ではないっぽい。

ここでは Array の場合の項目を紹介。

Position 0~3 +Add

ポイントの配置を指定。入力ポイントの Position とコネクトすればポイントの動きに合わせてパスが変形する。
最小値は4個で、始点・二番目・三番目・終点の4つのアンカーポイントで操作できる。

全てをコネクトさせると全部自由に動かせるが、任意のポイントは固定するというような使い方もできそう。始点と終点だけ固定するとか、またはその逆など。

Close

パスを閉じます。始点と終点のパスがくっつきます。

Bézier

(ベジェ)曲線でパスを描画します。チェックしない場合は直線になります。


Pre-Comp

プレではなくプリコンポジション。Add Layers から作成すると変な感じになるので Assets で作成したコンポジションを親コンポジションのレイヤーとして配置するか、任意のレイヤーを選択して右クリックから Pre-Compose Selection を選択するのが良さそう。

作成済みのプリコンポジションにレイヤーを追加しようとすると
「Parent or move into Composition?」という問いが出て、
選択肢として、「Parent」か「Move into Composition」を選ぶ必要があります。

Parent はこのコンポジションを親レイヤーとして使い、レイヤーは元コンポジションに残す。
Move into Composition はレイヤーをこのコンポジションに移動させるという意味。

ほとんどの場合が後者のつもりで移動させるのではないかなと思うけれど、このコンポジションと一緒に動かしたいという場合などは前者もあり得るのかな?それなら Group を使用した方がわかりやすいのではないかとも思う。

感覚としてはプリコンポジションという明確なものがあるのではなく、コンポジションを他のコンポジションに含ませた場合、その含まれた方のコンポジションのことをプリコンポジションと呼ぶ感じ。

コンポジションA と コンポジションB があって Aの中にBを入れた場合、Bをプリコンポジションと呼ぶし、Bの中にAを入れた場合 Aをプリコンポジションと呼んでいるっぽい。

ちなみに AにBを入れた状態でBを開き、そこにAを入れようとしてもエラーだった。循環・無限ループしてしまうからだろう。


Quad Tree Shape

意味が分からないものの代表ですね。

ポイントの分布を使用して、ポイントの密度に応じて正方形を小さな正方形に分割

してくれるそうです。やってみると一応こんな感じ。

どう使うのだろう。。。

ドキュメントでも詳しい説明はなくて実例や以下のチュートリアル動画が置いてあるだけです。

https://www.youtube.com/watch?v=qRTFaOzKFvs

実例

"Future User Interface" by Scene Group licensed CC BY from Scenery.io

こんな感じの表現をしたい時に使えるようですが、コンピューターの画面とか、何かをランダムに表示する時くらいした用途が思い浮かびません。

とりあえずは上級者向けと割り切っておこうと思いました。


Ray

レイ。光線ですね。一筋の光という感じです。障害物に当たるまで無限の長さ(シーン・コンポジションの端まで)に放射される線とのことです。

ただ、自動で障害物認定はされず、Ray に対して障害物となるものを Collision Shapes で指定します。

Collision Shapes

障害物としてみなすシェイプを指定できる。

Collision Margin

障害物との衝突の深度を設定。深くめり込むのか、手前で止まるのか。

Bidirectional

光線が進む方向。チェックを入れると(二次元に)双方向。チェックを入れなければ片方のみ。

Divisions

分割数。使われ方は不明。


SVG

SVGを使用する時のもの。Image To Shapes と感覚は似ているが、より直接的。

File

使用するSVGデータを Assets から入力する。

SVG Materials

SVGのマテリアル(≒塗り?)を無視するには、この属性のチェックを外す。Fillで上書可能。

SVG Strokes

SVGの Stroke(≒線)を無視するには、この属性のチェックを外す。Strokeで上書可能。


Segment Path(Pro)

Pro版のみ。


Shortest Path(Pro)

Pro版のみ。


Spacer(Pro)

Pro版のみ。


Text Shape

最後にして最高に設定項目が多いテキストシェイプ。

タブには Background の項目も増えています。

テキストシェイプ自体に理解が難しいことはないので、設定可能項目をひとつずつ見て行きたいと思います。

String

表示する文字です。日本語も(フォントがあれば)いけますし、改行も理解します。
日本語フォントは重いので注意が必要です。

Generatorボタンを押すと日付けやランダムな文字などを自動で入力することもできます。
Timecodeを表示することもできます。

Font

フォントの指定ができます。存在すれば weight の指定も可能です。

Typeface

Typeface というユーティリティがあり、書体だけの情報を持ったオブジェクト(?)を作れるのですが、それをコネクトすることができます。

同じ Typeface を複数のテキストシェイプにコネクトさせることで共通の書体を利用することができます。

テキストシェイプの Font 同士をコネクトしても同じような効果は得られますが、Typeface を使用した方がスマートかもしれません。

Font Size

フォントの大きさです。

Shrink to Fit Text Box

テキストボックスの大きさに連動してフォントサイズを小さくするのか、それとも改行させるのかどちらを優先するのかを決められます。

テキストボックスのサイズを Auto にしていると文字の大きさの方が主体となるので触れなくなる。

Allow Word Breaks

改行するということは、改行位置をどこにするか?単語単位で改行するか?という問題が出てきます。これにチェックを入れると単語の途中で区切って改行することを許可するということになります。

Avoid Orphans

最後の行が1単語だけになってしまうのを防いでくれるそうです。日本語だとあまり恩恵は少ない気がします。

Alignment

テキストボックスの中で水平方向の文字寄せを指定できます。

Vertical Alignment

テキストボックスの中で垂直方向の文字寄せを指定できます。

Character Spacing

文字間の幅を指定できます。いわゆるカーニングですね。

Word Spacing

単語間の距離を指定できます。日本語だとそれほど使わないかもです。半角スペースをあけた時の広さと考えていいかもしれません。

Line Spacing

行間の広さです。

Paragraph Spacing

段落と段落の間の広さです。改行で1行分の余白をあけた時の広さと考えていいかもしれません。

Text Box Size

テキストボックスのサイズです。テキストボックスがあってその中にテキストがあると考えるか、テキストボックスは自動伸縮(Autoにチェック)とテキストは常に同じと考えるかによって変わります。

Force Monospasing

チェックを入れると、非等幅フォントからカーニングが削除されるようです。文字をアニメーションする時に便利な様子。

String Manipulators

String Manipulator(文字列マニピュレータ)という文字列を操作する(例えば置換したりシャッフルしたり)機能をコネクトすることができます。

Style Behaviours

テキストの任意の文字列(〇文字目とか)のスタイルを指定可能です。1文字目だけ大文字にするなど

Material Behaviours

テキストに追加の効果・フィルターを加えることができます。例えばドロップシャドウなど。

Formatting Inputs

文字列を追加することができます。別のテキストシェイプを挿入して連結させることも可能です。どんな時に必要なのかは不明。一部のテキストの書式は違うけれど、アニメーションはひとまとまりにしたい時などか?

Text Path

コネクトしたシェイプに沿って文字が配置されます。

Path Travel

テキストシェイプがパスに沿って移動します。

Path Loop

チェックすると、テキストシェイプがパスの周りをループします。

Path Push

パスとテキストシェイプの距離と考えた方がわかりやすいかも。


ここからは Backgroundタブ内の項目です。

Background Shape

プラスボタンをクリックすると背景用のカスタムシェイプが作成されます。

Mode

背景をどのようにつけるか Document/Paragraph/Line/Word/Charactor の中から選べます。

Specific Indices

任意の範囲・文字にだけ背景をつけることができます。

Padding

文字と背景の余白です。

Ascender Adjustment

上昇方向の調整。

Descender Adjustment

下降方向の調整。

Corner Radius Mode

角丸の調整。All(全部一括)か Individual(個別指定)かを選べる。

Corner Radius

All の時の角丸の大きさ。

Top Radii

上側の角丸の大きさ。Lは左上、Rは右上。

Bottom Radii

下側の角丸の大きさ。Lは左下、Rは右下。

Chamfer

角丸した部分の面取りをするか否か。


いくつか用途や内容が理解できないものや、Pro版のみのものもあったけれど、とりあえず Shapes にあったものは全部触ってみて、なんとなく理屈はわかった気がします。

とあるアニメーションを思い付いた時に、必要なシェイプとその設定を最短で思い出して導き出せるようになるにはまだまだ時間がかかると思うけれど、少し慣れ親しんできたと感じています。

次は、Behaviours か Utilities か Effects を触ってみようと思います。

それぞれ単体で使うものではないと思うので、代表的な使い方だけでも知ることができたら嬉しいくらいの気持ちでやっていこうと思います。

Discussion