Affinityのレイヤー書き出しファイル名に親グループ名を含めるには、子レイヤーのスライスを作成し、Shapes_Circleのような結合名を入力します。公式ヘルプにはファイル名を編集できることが記載されていますが、親グループ名を自動で挿入するトークンについては説明されていません。

このガイドでは、現行のAffinityデスクトップアプリのSlice Studioを使い、Macで個々のレイヤーアセットを書き出す方法を説明します。また、ワークスペースがExport Personaと呼ばれるAffinity Designer 2の該当コントロールについても取り上げます。目的は、グループの情報を名前に残した子レイヤー別のファイルを書き出すことです。

Affinityで親グループ名を自動挿入できますか?

現行のSlicesパネルのドキュメントでは、書き出しパスとファイル名に定義済みトークンまたはカスタムユーザー変数を使用できるとされています。しかし、スライスの親グループ名を読み取るトークンは示されていません。そのため、親名を自動で付ける方法を裏付ける公式情報は不十分です。Slices panel — Affinity Help Center

Affinity Designer 2のより詳細なトークン一覧には、ドキュメント名、ドキュメントのファイル名、スライス名、倍率、倍率サフィックス、幅、高さ、正方形のサイズが記載されています。親グループ用のトークンはありません。ドキュメントには、スライスのFilenameテキストボックスにカスタムファイル名を入力できることが明記されています。Slices panel — Affinity Designer 2 Help

したがって、サポートされている方法は、各子スライスの書き出し名にグループ名を手動で入力することです。このテキストは手動で管理するものとして扱ってください。ドキュメントでは、入力した名前と親グループが連動するとは示されていません。Parent、Group Nameなどの変数があると想定して、命名設定を組み立てないでください。

カスタムユーザー変数が使えることも、階層を自動で参照できる根拠にはなりません。現行のヘルプではカスタム変数を命名要素として使用できるとされていますが、変数を親グループ名に結び付ける方法は説明されていません。この作業では、未確認の動作に頼らず、結合したファイル名全体を入力します。

各ファイルに含めるレイヤーまたはグループを決める

ファイル名を設定する前に、書き出す内容を決めます。Affinityでは、Export Layersパネルの項目から作成するスライスと、Slice Toolで描画する長方形のスライスは区別されます。項目から作成したスライスは、元になったレイヤーの内容だけを書き出します。描画したスライスは、その範囲内にある表示中の全レイヤーの内容を含みます。項目から作成したスライスのサイズは、選択した項目の範囲に合わせて自動調整されます。Exporting using the Slice Studio

子アセットを個別に書き出す場合は、それぞれの子レイヤーを元として選択します。親グループを選択すると、そのグループからスライスが作成されます。スライスのファイル名を変えても、書き出す元の項目は変わりません。Export Layersパネルでは、アートボード、レイヤー、グループ、オブジェクトからスライスを作成できます。Export Layers panel (Slice Studio)

次の架空の例で、命名方法を示します。ドキュメントにShapesとTilesという2つのグループがあり、それぞれにCircleという子レイヤーがあるとします。以下は提案する名前であり、書き出し結果を測定したものではありません。

元のグループ 書き出す子レイヤー 結合後の書き出し名 PNGファイル名の例
Shapes Circle Shapes_Circle Shapes_Circle.png
Tiles Circle Tiles_Circle Tiles_Circle.png

グループ名を先頭に付けると、同じ書き出しフォルダー内でも、名前が同じ子レイヤーを区別できます。階層がさらに深い場合は、スライスに名前を付ける前に一貫したルールを決めてください。たとえば、Collection内のShapesにあるCircleレイヤーには、Collection_Shapes_Circleという名前を使えます。これはAffinityの階層表記ではなく、自分で入力する命名規則です。

Macで子レイヤーを結合名で書き出す

1. Slice Studioとパネルを開く

現行のデスクトップアプリでは、Slice Studioはデフォルトで非表示です。Studio Managerを開いてSlice Studioを有効にします。公式ヘルプによると、見つけるにはスクロールが必要な場合があります。Slice Studio

必要なパネルが表示されていない場合は、Window > General > Export LayersとWindow > General > Slicesを選択します。これらは、この手順で使うパネルを開くために公式ドキュメントに記載されたMacのメニュー経路です。Export Layers panel、Slices panel

2. 各子項目からスライスを作成する

Export Layersパネルで個別ファイルにしたい子レイヤーを選び、Create Sliceをクリックします。他の子項目についても同じ操作を繰り返します。子レイヤーごとに1ファイル必要な場合は、親グループではなく対象の子レイヤーを選択してください。作成されたスライスはSlicesパネルに表示されます。Export Layers panel (Slice Studio)

例のドキュメントでは、ShapesのCircleから1つ、TilesのCircleからもう1つスライスを作成します。名前を付ける前にサムネイルと範囲を確認し、それぞれのスライスがどの項目を元にしているか把握してください。

3. 書き出し名全体を入力する

Slicesパネルで各スライスの書き出しファイル名を編集し、グループ名と子レイヤー名の両方を含めます。最初の例にはShapes_Circle、2つ目にはTiles_Circleを使います。現行のヘルプではFilenameコントロールが示され、スライスの書き出し設定でファイル名を変更できることが説明されています。Designer 2のヘルプには、Filenameテキストボックスに直接入力する方法が明記されています。Slices panel、Exporting artboards、Designer 2 Slices panel

例のベース名と形式の選択は分けて扱います。名前にShapes_Circleを入力し、書き出し形式としてPNGを選択します。スライスの追加プロパティでファイル名の式をカスタマイズしている場合は、その設定も確認してください。Affinityのドキュメントでは、ファイル名の設定は書き出し形式ごとに行うとされています。そのため、最上位のスライス名だけを確認すると、既存の命名ルールを見落とす可能性があります。Slices panel

4. 形式と書き出しサイズを設定する

スライスの項目を展開し、必要な形式を選びます。選択したスライスはExport Optionsパネルで調整でき、Slicesパネル内で形式を変更することもできます。対応する**+**コントロールを使うと、形式やサイズを追加できます。最初に名前を確認するときは、各スライスにつき1つの形式と1つのサイズにしておくと、出力を確認しやすくなります。Exporting slices

5. 選択したスライスを書き出す

書き出すスライスを有効にし、Export Slices (n)をクリックします。保存先フォルダーを選択してExportをクリックします。これにより、有効にしたスライスについて設定済みのすべての形式とサイズが書き出されます。保存先フォルダーの設定は、現在の編集セッション中のみ記憶されます。Exporting slices

Finderで結果を確認します。この例では、Shapes_Circle.pngとTiles_Circle.pngの両方があることを確認し、各ファイルを開いて内容と寸法をチェックします。多くのスライスに名前を付ける前に代表的な1組を確認しておくと、元項目の選択ミスやファイル名の設定ミスに早く気付けます。

この手順に影響する書き出し上の制限は?

ファイル名に階層情報を付けても、ドキュメント構造は保持されない

Shapes_Circle.pngのような名前に含まれるグループ情報は、単なるテキストです。書き出したファイルにAffinityの編集可能なレイヤー階層が保持されるわけではありません。納品物にファイル内のレイヤーが必要な場合は、ファイル名の作業とは別に検討してください。

たとえばAffinityのドキュメントでは、Affinityレイヤーを保持するTIFFオプションが説明されていますが、これらのレイヤーを読み取れるのはTIFFをAffinityで開いた場合のみです。PDFにはInclude layersオプションがありますが、名前付きレイヤーのみが含まれるという条件があります。どちらの設定も、親グループ名から子レイヤー別のファイル名を生成するものとしては説明されていません。Export Settings

ベクター形式でも内容がラスタライズされる場合がある

PDF、SVG、EPSを書き出す場合、Rasterize設定によって、対応していないデザイン要素の扱いが決まります。Unsupported propertiesを選ぶと、非対応の要素がラスタライズされます。Everythingではデザイン全体がラスタライズされます。Nothingでは、非対応の要素が書き出しファイルから除外されます。作品の要件に合わせて設定を選び、結果を確認してください。Export Settings

書き出し倍率はドキュメントのDPIに左右される

1xのスライスが常に想定どおりのピクセル寸法になるとは限りません。AffinityのSlice Studioヘルプには、書き出し倍率がドキュメントのDPIと連動すると明記されており、ドキュメントの寸法が同じでも出力寸法が異なる例が示されています。サイズ設定と書き出したファイルのピクセル寸法の両方を確認し、アセットのサイズを揃えてください。Exporting using the Slice Studio

継続書き出しでグループ名が自動補完されるわけではない

最初に**Export Slices (n)**を実行した後、Continuousを有効にすると、ドキュメントの変更時にスライスを再書き出しできます。これは書き出しの更新を自動化する機能です。親グループ名を取得する機能としては説明されていません。グループ名を変更したり、子項目を別のグループに移動したりした場合は、手動で入力した接頭辞を確認してください。Exporting slices

この作業では、各子項目とスライスの対応をシンプルに保ちます。正しい元項目を選び、一意の結合名を入力し、必要な形式を選択して、書き出したファイルを確認してください。Affinityの公式ヘルプに記載された命名機能の範囲で、グループ情報を含むファイル名を付けられます。

参照資料