2015年1月5日月曜日

Clip Studio Paint+AutoHotkeyを使ってアニメを無理やり作る 改良版

このスクリプトは、一部の処理にOpenAndClose LayerFolderを利用しています。
入手先: ディメトロのblog(絵):OpenAndClose LayerFolder(AutoHotkeyスクリプト)- 

以前公開していたClip Studio Paintでアニメを無理やり作るためのAHKスクリプト
(アレな出来だったので今は公開停止)を改良。
Clip Studio Paintにはレイヤーフォルダ-を開閉するショートカットがないのは分かっていたのだけれど、ひょっとしたら誰かがどうにかしてくれているのではないかとgoogleで調べていたら、
それをなんとかしてしまっている人を発見。この記事の冒頭に紹介したサイトでディメトロさんが公開しているOpenAndClose LayerFolderというAHKスクリプトの関数を使えばこの前公開した無理やりアニメーションAHKスクリプトはもっと便利になる。
ディメトロさんにはスクリプトの使用許可を貰っているので今回はOpenAndClose LayerFolderを組み合わせた無理やりアニメーションスクリプトを公開。

これがスクリプトです (ZIPファイル)
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
中にあるCSP_animation.ahkを起動して使います。
それとOpenAndClose LayerFolder.ahkを CSP_animation.ahkにincludeする形で動かしているので
両方のスクリプトを同じパスに置いて使ってください。



スクリプト解説
まずクリスタのレイヤー移動と単独表示機能を組み合わせただけの擬似コマ送り機能を改良。
このスクリプトを使うとこういう感じにレイヤーフォルダーの移動ができます。
最初の方がレイヤーフォルダーの中身を 無視して編集レイヤーフォルダーを切り替える機能で
後半がレイヤーフォルダ-の中身を表示しながらコマ送りをする機能。
Clip Studio Paint標準の編集レイヤー切り替えではレイヤーフォルダーごと切り替えることは出来ないです。これはディメトロさんに教えて頂いた現在選択しているレイヤーはレイヤーフォルダ-かどうかを判定する関数が大活躍。


それとこういう感じに開いているレイヤーフォルダーを全て閉じてアニメーションを再生する機能。
レイヤーフォルダーが開いているとレイヤーフォルダーの中身まで表示してしまうので一度全てのレイヤーフォルダーを閉じる必要があります。この前公開していたスクリプトではフォルダーを自動で閉じることができなかったけれどこれもOpenAndClose LayerFolderを使うことで見事解決。


あとは開いているレイヤーフォルダーを全て閉じたり開いたりする機能。
アニメーションを作成している時にフォルダーを閉じたり開いたりすることが多いと思ったので作成。
アニメ以外にも使えそうな機能。



これらの機能があればClip Studio Paintでもアニメが作れると思う 多分


デフォルトのショートカットキー
(AHKで設定されたショートカットを変更したい場合は自分で書き換えてください)
shift+1でレイヤーフォルダーを移動しながら下にコマ送り
shift+2でレイヤーフォルダーを移動しながら上にコマ送り
shit+4で下にレイヤーフォルダー移動
shit+5で上にレイヤーフォルダー移動
(一枚目のgif画像でやっていること)

shift+3で開いてるレイヤーフォルダーを全て閉じてアニメーション再生(もう一度shift+3を押すとアニメーション停止)
(二枚目のgif画像でやっていること)

Pageupで全てのレイヤーフォルダーを閉じる(もう一度Pageupを押すとレイヤーフォルダーを閉じるのをやめる)
Pagedownで全てのレイヤーフォルダーを開く(もう一度Pagedownでレイヤーフォルダーを開くのをやめる)
(三枚目のgif画像でやっていること)

このスクリプトを使用する前にClip Studio Paintで準備すること
まずはショートカット設定を2つ。
"alt+[" に レイヤー > 編集対象にする > 上のレイヤー を割り当てる
"alt+] "に レイヤー > 編集対象にする > 下のレイヤー を割り当てる
あとはアクションを2つ作成する。
まずはレイヤーアイコンをaltクリックすると記録される 他のレイヤーの表示を一時的に切り替えのアクションを用意。これをアクション1とする。
次に
 レイヤー > 編集対象にする > 下のレイヤー
 レイヤーアイコンをaltクリックすると記録される 他のレイヤーの表示を一時的に切り替え
 の順番で記録したアクションを用意。これをアクション2とする
 そしてアクション1に"shift+T"キーをショートカットキーとして割り当て
同じくアクション2には":"(コロンキー)を割り当てる
これでClip Studio Paintの設定は終わり。

それとこのスクリプトは一番上にあるレイヤーが一番最初のコマと考えて作られているので
gif画像のように上から1コマ、2コマ、3コマ、となるようにレイヤーとレイヤーフォルダーを並べること。
あとClip Studio Paintのレイヤーパネルはフローティングにしておくこと。そうしないとディメトロさんのスクリプトが動かなくなるので注意!

 あとはincludeされているディメトロさんのOpenAndClose LayerFolder.ahkを動かすための設定が必要です。レイヤーパネルのオプションには
  
プロパティバーの表示
 コマンドバーの表示
コマンドバーをリストの下に配置

と3つの項目がありますが、チェックが入っている項目がある場合はOpenAndClose LayerFolder.ahkの冒頭部分に書かれた、チェックが入った項目に対応した項目にtrueと書いてください。(設定の詳しい解説は冒頭に張ったディメトロさんのページにあるんで気になる場合は見ておいてください。)

 
OpenAndClose LayerFolderスクリプトから設定部分を抜粋 この部分をレイヤーパネルの設定に応じて変更
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
 propertyBar_Displays := true (デフォルトではtrue) 
 ;「プロパティバーの表示」がONの場合はtrueをセットして、OFFの場合はfalseをセットします。
commandBar_Displays := true(デフォルトではtrue)  ;「コマンドバーの表示」がONの場合はtrueをセットして、OFFの場合はfalseをセットします。
commandBar_PlacedBottom := true (デフォルトではtrue)    ;「コマンドバーをリストの下に配置」がONの場合はtrueをセットして、OFFの場合はfalseをセットします。


Clip Studio Paintで設定するショートカットを変更したい場合はAHKで割り当てられているショートカットを自分で変更してください。それとこのスクリプトは自分が適切だと思うタイミングでショートカットを実行するようにしています。変更したい場合はそこも自分でいじってください。(Sleepの値を変更してください。)

とまあこんなかんじのスクリプトです。正直自分が書いたスクリプトはかなりしょぼいです。includeしているディメトロさんのスクリプトのほうが立派です。これでClip Studio Paintでもなんとかアニメが作れるでしょう。アニメが完成したら各レイヤーフォルダーを単独表示してそのままpngとかで一枚ずつ書き出していくといいと思います。それを外部ツールでgifにするなりaviにするなりすればいいと思います。

0 件のコメント:

コメントを投稿