高度なレイヤー生成支援ツール開発で起きた、カメラレイヤー作成のトラブル。
このスクリプトは、After Effectsでレイヤーを作成する作業を効率化するためのツールです。ユーザーはパネル上のボタンをクリックするだけで、様々な種類のレイヤーを簡単に作成できます。作成されたレイヤーは、ユーザーが選択しているレイヤーのタイミングに自動的に合わせられ、また選択レイヤーの上に配置されます。
現在、ヌルレイヤー、シェイプレイヤー、調整レイヤー、ソリッドレイヤー、テキストレイヤー、カメラレイヤー、そしてライトレイヤーの作成に対応しています。特にヌルレイヤーとシェイプレイヤーには右クリックでモードを切り替える機能があり、ユーザーの用途に応じて柔軟に対応できるようにしています。
現在問題が発生しているのはカメラレイヤーの作成機能です。カメラレイヤーには通常カメラとヌル付きカメラの2つのモードがありますが、その切り替えと作成の両方に問題が生じています。。。
具体的には、カメラ作成ダイアログを使用してユーザーにカメラの設定を行ってもらい、その後に、スクリプト側で適切なタイミング設定(自動でデュレーションを合わせる機能)と位置設定を適用する必要があります。
さらにヌル付きモードの場合は、カメラレイヤーの上にヌルを配置して親子つけする必要があります。これらの処理を実現したいのですが、うまくいっていません。
このスクリプトではAtarabiさんのライブラリを使用しており、レイヤーを作成するときに、もし同じ大きさの平面がすでにあったらそれで代用する、という処理や、アイコンの管理やレイヤーの作成、設定の永続化などの機能を作成しています。
https://atarabi.hateblo.jp/entry/2023/09/02/211426
https://github.com/atarabi/at_script
現状の実装では、`app.executeCommand(2645)`でカメラ作成ダイアログを開き、ユーザーに設定を行ってもらっています。しかし、カメラ作成後の処理タイミングが適切に制御できておらず、「元に戻す(Undo)」機能を使用するとAfter Effectsが強制終了してしまいます。
また、スクリプトウィンドウに表示されているカメラ生成のモードと実際に生成されるカメラの種類(カメラ単体生成か、カメラとヌルを一緒に生成するのか)が、初回のみずれることがあります。
これらの問題を解決して、スクリプトを使用できる実装方法についてアドバイスをいただけないでしょうか。よろしくおねがいします。
スクリプトUIパネルに入れて使用可能です。
https://46.gigafile.nu/0520-cec9991736454d436d144bd8a6ba289e8
スクリプト導入にあたって、Atarabiさんのブログにある、必須StartUpファイル(jsx)と、必須プラグインをそれぞれ導入してください。すいません。
