今さらAnimate覚えたっていいじゃない:その3 アクション

前回は気軽なコピペ結果が場外ホームランで嗚咽でした。
また経典に沿って、今回はアクション(スクリプト)を書いていきます。
これActionScript3かと思ってたら違って、JavaScriptなんですって。
時代についていけてなかった。


Actionsを設定

…の前に、キーフレーム作成するんだったね。
え、8フレームめ?(アオリ検版開始)
自分の失敗ファイルはサウンドの終わりが18フレームめ。

フレームレート30.00で作ちゃてた。経典は12.00だ。

というわけでメニュー項目をしらみつぶしに眺めてー
修正 > ドキュメント
の「ドキュメント設定」で変更できました。
ふつうにプロパティからでもできた。

これでヘンな影響が、出なければいいな。
…出たな。

ここはレイヤーごとに余分なフレームを選択して削除(shift+F5)だけでどうにか。
実はこの時点でもう間違えてる。どこでしょう。

答えはアクションの挿入フレーム。「a」マーク。
2フレームめではなく1フレームめが正解。勇み足で書き込んだ this.stop(); をカット&ペーストで対処。


シーンのActionsを設定する

ええと。
ステージのウィンドウ左上から「←」をクリック

…して、シンボル編集を抜けました。
経典にないレイヤー「gep」は自分の失敗ファイルのもの。
のちのち消します。

ここからちょっと長いスクリプトを書くんだけど、どこに書くんだろ。
たぶ、たぶん鼻のフレームよね。鼻しかさわらないんだし。※1
よし。さて写経。

にしてもこのアクションウィンドウ内、非常に書きにくいづらい。
VSCodeで書いてペーストしよう。
ゎぁぃ copilotがこっちの思考を先回りしてお節介に「次これ書くんじゃろ?」してくれるよ。
いらーん。

というわけでまじめに写経したのでアクションパネルにペースト。
経典では音声ファイルは belchwav.mp3 だけど自分の失敗ファイルでは belch.wav なので
対応して引数の文字列を belch にしておいた。※2


プレビューとパプリッシュ

んじゃでは、どっきどきのムービープレビュー。Macなので ⌘ + return。
はい失敗
延々くちをぱくぱく。しかも無音。

原因:前述の「のちのち消します」としておいたgepレイヤーが残ってましたわ…

gepレイヤーを削除して再ちゃれ。
失敗。いくらクリックしても無反応。鼻が痛くなっちゃうよ。
あれ、わかんね。
経典のコードと差分とってみたけど問題なさそう(対策→攻撃 は素で間違えたけどコメントなのでおっけー)。

あ、はい、すいません…
原因:インスタンス名「nose」が未入力でした。

気を取り直して再々ちゃれ。
鼻クリック。クチひらいた! ゲップした! クチとじない!
自分も猫も、開いた口が塞がらない(言うと思ったと言うと思った)。

経典を先頭から見直したら、※1 先述の疑問点が氷解。
原因:アクション記述先を間違えてた(やっぱり! やっぱり!)。

再々々ちゃれ。
改善なし。
動きはするが元位置にこないということは、たぶん、あれのあれがなんかあれなんだろ。←わかってない
わ、わかんないけどコメントの「攻撃」は「対策」に直しておこう
い、いちおう案外それだけで直るか試しておこう(だめでした)。

冷静に。
サウンド再生が終わったら1フレームめに戻る設計。それでクチが閉じる。
しかし閉じない。つまり1フレームめに飛んでない。つまりサウンドが正常に再生終了していない。
つまり…なんだ、あれがあれなんだろう。
冷静にプレビューしてみるとゲプ音が半分ぐらいに短い。切れている。っぽい。
これ、直感ではフレームレートを変更した影響かも。そんな気してた。

しかし自力では限界が見えたので先生に助けを求めよう。
素直に最初から作り直せよ、と思うものの、ここでの目標は作品の完成よりもアプリの理解なので…

助けを求めた。現状データを見ていただいた。
※2 のアレンジがよくなかったみたい。ワハー。
ライブラリには音声ファイル「belch.wav」しか読み込んでいないのでそうしたんだけど、
どうもパブリッシュの際、かってにmp3に変換しちゃうらしくて、そしたらファイル名が「belchwav.mp3」になってしまうみたい。
つまり、あらかじめmp3を用意しておくのが得策みたい。
ともかく、理屈を理解しつつ挙動も改善したのでばんざい。

それに前後して
「Flash時代の癖でタイムラインを伸ばしたが、どうも不要なようだ」と別の改善点を授かったので反映。
symbolActionsレイヤーの最終フレームに記述したアクション「this.gotoAndStop(“idle”);」も削除で。
これだけで動いたみたい。うん動いた。ありがとうございます!

というわけで、InDesignで作ったやつよりサクサクとゲプゲプするやつ、どうぞどうぞ。
(先生記事にあるやつと何も変わらないのだが)

次回、また権利的に微妙なやつでアニメーションの練習をします。
先生を楽しくさせるお題、というとこだけは自信あるw

透明効果とオーバープリントは仲が悪いぞ の余録

先日の入稿データ謎トラブルについて、京都のおせんべいやさんこと元・SCREEN 出力の手引きWebの中の人、松久さんから大変ありがたいコメントをいただけました。
自分の読解力の乏しさから聞き返してしまい、そのたび溢れ出るエモい情報整理。

こうなったら何度も聞き返して至福を味わい続けちゃおう…などとは思いもしなかったわりに、結果そうなってしまいまして。めんもくない。
自分だけ読むのはあまりにももったいないので、一連のやりとり掲載のご許可をいただきました。
本業のお忙しい中、本当にありがとうございますすぎます。

自動黒オーバープリントは、画面で確認したデータをRIP内部で書き換える処理であり、原理的に「画面通りに出ない」リスクを高めます。正しく黒オーバープリントが指定されているデータの場合は余計な処理であり、一方的に「受け手側の都合」とは言い切れません(この点を先方に理解してもらえれば、そう説明できます)。

また、「PDF/X-1aだから安全」とは一概に言えないため、その前提自体を確認すべきです。

・PDF/X-1a
透明効果はDTPアプリ側で分割・統合(1)され、見かけ上は透明でも、実体は透明でないデータになります。この段階での透明の振る舞いにはRIPは関与していません。

・PDF/X-4
透明効果の合成はRIP内部の演算処理(2)によって行われます。
一般的に、RIPでの自動オーバープリント処理は、DTPアプリ(1)が出力したPDFと、RIPでの透明合成演算(2)の間で行われます。そのため、期待通りの結果になるかどうかはケースバイケースです。

具体的には、透明効果の種類によっても結果は変わり、自動オーバープリントは各RIPベンダー実装に依存するため、処理も異なります。今回の「比較(明)」では問題なさそうに見えても、他の透明効果が絡むと万能ではありません。従って、「PDF/X-1aで書き出していれば自動オーバープリントは問題ない」と断言することはできません。
はじめの一節、すこし表現が逆転している観があるので確認させてください。

「受け手」が印刷会社、対して制作主が「送り手」の場合、
「一方的に『受け手側の都合』とは言い切れません」
は、むしろオーバープリント処理に無頓着な送り手に向けた意見なのでは、と思います。
「そっちの都合でしょ」と言うのは、作り手=制作者ですよね。つまり、印刷会社の都合で自動オーバープリントを行っているわけですよね?
もうこれは、製作者と出力側の力関係かも知れませんが、印刷会社目線では以下のことが言えます。

黒オーバープリントを、正しくデータで指定されている、という共通認識が基本的にない、とした場合、自動オーバープリントは、墨ノセが行われない問題、墨オブジェクトがヌキになる問題の回避策です。
これは、比較(明)で発生しうる問題より、はるかに頻度が高いので、仕方なく、自動オーバープリントを行っている、と言えます。
つまり、「データの不備」を助けているのて、この観点から言うと、むしろ制作者の都合とも言えます。

ただし、「そっちの都合でしょ」って言ってしまうような制作者に、「いやいや、データが悪いから仕方なくやってるんですよ」なんて言っても、険悪になるだけで、理解は得られそうにありません。
従って「理解してもらえれば」の前提が付いてしまうんです。

RIPベンダーの立場で、これを、制作側にも出力側にも、訴えることで、黒オーバープリントは正しくデータで指定されている事、つまりノセイキ運用が、技術的には理想解と示してきたわけです。
これなら、墨ノセと比較(明)が両立できます。
当方の懸念点「『そっちの都合でしょ』と言われかねない」は、そもそもオーバープリント管理がされていないデータの制作主に言われた場合、認識の改善と理解を期待して説明する機会が生まれる、ということですね。
ようやく不安を持たず先方に展開できる自信がつきました! ありがとうございますっ

といったところです。
松久さんとっくに退役されているのにどっぷり頼ってしまい。
しかも弊社EQUIOSじゃなくてApogeeなのに…非常に申し訳ないですw ものすごく助かりました。
松久さん、今でも出力サイドにいる自分にとって希望の星です。どっぷり甘えてご面倒おかけしました。
よい子のみんなは真似しないでね!(うちはまたやりたい…がまん)

Illustrator:ドキュメントのカラーモードに合わせてカラーパネルを自動で切り替えるエクステンションをこしらえたよ

はじめに

きっかけは、はむこさんのぼやき。なんかこの流れわりと多いなw
しょっちゅういいこというからなあ。

https://x.com/hamko1114/status/1980819102185976050

そーなんすよ。
カラーパネルの野郎、今さわってるドキュメントのカラーモードがRGBだろうがCMYKだろうが「まったくそれとは無関係でござい」を貫いて表示してよこすんすよ。頑固っ! 頑固っ!
これがまた、うっかりの勘違いを引き起こす。たまによくやる。

カラーパネルの切り替えはスクリプトのDOMには用意されてない(おれ調べ)。
でもアクションならできるみたい(はむこ調べ)、
んじゃアクションを実行するスクリプトを何らかで連動すればいけるかもね、って。

で、何かいい方法あるかなって探してみたです。
探してみたところで、うちは勝手が効くのがExtendScriptだけなので。プラグイン作れる人はなんでもできる。
この「何かしたら連動して何かなる」というのを叶えるにはイベントリスナーを設定するってことなんだけど、IllustratorはInDesignと違ってそんなの用意されてない。
そう、InDesignならね(ないものねだり)。

でも別の日に別のもの調べてるとき、ちろっと見かけたんですよ。
IllustratorのイベントをExtendScriptでつかまえられるプラグインあるって。
ブラウザの履歴をたどったら、確かにあった。
AIHostAdapter ですって。

https://community.adobe.com/t5/illustrator-discussions/aihostadapter-aip-macos-installation-filepath/td-p/14228574?profile.language=en

https://community.adobe.com/t5/illustrator-discussions/aihostadapter-plugin-windows-install/td-p/12727345?profile.language=en

それをもとに、やれるだけやってみました(やれない部分もあるという意味…)。
よかったら使ってみてくださいまし。


いれかた(ちょっと手順がいくつかあります…)

AIHostAdapter プラグインをもらいにいきましょう。

https://github.com/Adobe-CEP/CEP-Resources/tree/master/CEP_11.x/AIHostAdapter

Win または macOS を、その日の気分でカチ。

なんちゃら.zip をカチ。

画面右上 … ボタンから「Download」。

ダウンロードして展開して、AIHostAdapter.aip を Plug-ins フォルダへ。
どうも入れ場所が諸説あるんですが、自分の環境では Plug-ins フォルダ直下で大丈夫でした。

Windowsの人は
/Applications/Adobe Illustrator 202x/Plug-ins.localized/AIHostAdapter.aip
あたり、らしいです。現在試せませんすみません…

続いて、うちがこしらえたCEPエクステンションをダウンロード。

https://github.com/AJABON/ColorPanelAdapter/blob/main/ColorPanelAdapter.zxp

ソースコードも置いてありますが、このzxpファイルだけで大丈夫です。
例によって右上の … ボタンからダウンロードしてください。

で、このzxpファイルをインストールするためのアプリが必要です(めんどいね、めんどいよね…)。

https://aescripts.com/learn/post/zxp-installer?srsltid=AfmBOoqR6UhtylS3KQe4wYcNsVxQ7sGko-q_Shzt1H_UNkztd_r8uEW_

macOSかWinか、風水に従ってダウンロード。

インストールは直感でやってみて。

野良アプリなので、macOSの場合いちばん最初の起動だけ右クリックから「開く」で。
セキュリティ的なことをゴネられたら、システム設定「プライバシーとセキュリティ」で許してあげて。

で、いざ起動するとこういう画面が出るので、zxpファイルを投げ込んでみましょう。
(このあと金のzxpと銀のzxpを手に持った女神が出てきますうそです)

以上が終わったらIllustrator起動。
起動済みだったら再起動。
以上でーす。


つかいかた

この時点でもうエクステンションは仕事しています。今回そういう造りです。
オフにするにはエクステンションをアンインストールするしかない。強気だー。

で、ドキュメントがRGBのとき、カラーパネルはHSBで表示したい、という大元の希望があったんだけど
配るにあたり、RGBがいい人もいるだろうということで、
切り替えるためのパネルも作りました。ウィンドウメニューから出します。
これは切り替えにだけ使うもので、パネルが出ていなくても仕事はします。

で、「WebセーフRGB」はバグがあるようで、どうしてもアクション実行から切り替えられませんでした。
ざんねーん。なので今回はCMYK、RGBまたはHSB のいずれかとなります。

冒頭の経緯にあるように、処理じたいは即席でアクションを作って、実行してすぐ削除しています。
Illustratorのスクリプトではけっこう常套手段なんだけど、気になる人は気になってしまうかも。
慣れましょうね(としか言えない)。

使い始めは少しだけギクシャクするかもしれません。
何度か動かしてるうちにスムースになっていく感じです。
何に対してもわりと言えることですね(いいのかそれで)。
なんでかはちょっとわかってない…たぶん変数が出揃ってないんだ。
まあ、ちょっと使ってみてくださいまし。

CEPの技術的な話題は次の機会にー。