原画PSDファイルから書き出し

Photoshop形式の原画上がり=各セルの連番をまとめたレイヤーフォルダやレイアウトやフレーム指示のレイヤーなどを、あたかもタイムシートに挟んだ原画上がり一式として別ファイル出力するPhotoshopのスクリプトを今日必要に迫られて作りました。前々から作っておくべき!‥‥と考えていたのですが、ようやく重い腰を上げて作った次第です。

 

今回作ったのはコレ。

 

 

書き出すファイル形式は、当座の都合でTargaにしていますが、レイヤーなしのTIFFでもPSDでも可能です。絵が荒れるのでJPEGは使う予定はないですが、JPEGでもGIFでもPNGでも可能です。アルファチャンネルはファイル形式と状況によって適宜。

 

そして、(いつ作るかはニーズに応じて未定ですが)コレも用意しておくと、特定のプラットフォームやソフトウェアに縛られず、ファイルとレイヤーの行き来が可能になりましょう。

 

 

もはや、PSDファイルのレイヤー構造は、AdobeのPhotoshopでの使用に限定したものではなく、「レイヤー付き画像フォーマットといえばPSD」というくらい各所で普及していますから(ProcreateでもPhotoshopのレイヤー構造を保ったまま読み書き可能)、この2つのスクリプトは便利に使えると思います。

 

スクリプト自体には何の難しいところもないです。レイヤーの表示(=visible)を出力の基準にして、レイヤーの種別(ArtLayerやLayerSet)に応じて、当該のファイルフォーマットで複製保存するだけです。まあ、「常時表示するレイヤー」とかをちゃんと見分ける仕込みは必要ですが、基本的には難しいことはないです。

 

難しいのは、そのPhotoshopの「レイヤー構造の成り立ち」のほうです。

 

階層の深さの規定は、絶対に必要です。また、レイヤー名に基づいて出力するので、レイヤー名とその親フォルダの命名規則は極めて重要です。

 

でも、そういう部分が一番ルーズになるものです。人間が介在する部分が、一番「揺れ」ます。

 

なので、当座はスクリプト処理の都合も含めて、以下のように定めました。

 

  • スクリプトが掘る階層は、レイヤーフォルダの第1階層まで。
  • 静止画としてのレイヤーフォルダと連番格納のレイヤーフォルダは名前で判別する。
  • 連番レイヤーは、親フォルダ名とレイヤー名を連結してセルのファイル名とする。
  • 常時表示のレイヤーはレイヤー名先頭に判別文字を付与する。

 

 

とはいうものの、私のメインはあくまでCO/KFアニメーションなので、「従来作画のタブレット化・データ化への関与」はやんわりと距離を置くべきと考えており、上記程度の決め事で様子見です。

 

 

 

「デジタル作画」のここらへんの決まりって、誰か決める人、いないのかな‥‥。「デジタル作画」を自分のメインにしていこうと思っている人たちが、自分たちで決めていくのが良いと思います。私がフガフガ鼻息荒くして言う立場じゃないです。

 

一方、CO/KFアニメーションでの線画作業については、徐々にガイドラインを構築しつつあります。レイヤー名の命名規則も、

 

object.line

object.shadow.region

object.shadow.line

 

‥‥など、何度かの紆余曲折を経て、固まりつつあります。コンピュータで用いる規則ですから、プログラム・スクリプトでも処理しやすいように考えています。

 

 

 

Photoshopのスクリプトは久々に書きましたが、After Effectsとは似ているようでちょいちょい異なるので、多少混乱しました。

 

「layers」って、リファレンスには「The collection of layer objects」って書いてありますが、After Effectsでは「collection」は「コレクションオブジェクト」といいまして、

 

インデックス番号1から始まり()で呼び出す集合

 

‥‥なのに、Photoshopでは、

 

インデックス番号0から始まり [ ] で呼び出す配列

 

‥‥なのは、当初混乱しました。

 

また、Targaを書き出す際に用いる「TargaSaveOptions」のプロパティに、

 

resolution :The number of bits per pixel

 

‥‥があって、「タルガって解像度があったんか!」と一瞬驚きましたが、よく読むと、

 

1ピクセルあたりのビット数

 

‥‥で、初期値は「TargaBitsPerPixels.TWENTYFOUR」=24bitとありますから、いわゆるピクセルの色深度(各チャンネルの深度)のことですネ。1ピクセルあたりに使えるビット数という定義なのか、depthとは言わんのネ。

 

スクリプトの内容は、普通なら手作業でレイヤーのオンオフを切り替えて別名保存するのを、自動処理するものなので、何の特別な技も必要ないです。ただ、段取りが面倒なだけ‥‥です。

 

スクリプト動作中は、Photoshopが固まったようになるので、スクリプトが動いているんだかエラー停止しているのかイマイチ判別ができませんが、Finder上でフォルダが自動で作成されて、その中にファイルがどんどん増えていくのを見ながら、動作を確認しました。

 

 

 

なんとなく手作業のまま処理して、結構な時間を消費していた作業が自動化できました。今回はTarga書き出し版ですが、TIFF書き出し版(dpi〜解像度をもつ)も一部変更するだけで作れます。

 

必要なマニュアルは、以下のPDFにて。

 

Photoshop CC JavaScript Reference

 

フォルダなどファイルシステム管轄の操作は「JAVASCRIPT TOOLS GUIDE」(ESTKのSDKフォルダの中にあります)で「Folderオブジェクト」の項を読めば解ります。

 

 

 

 



calendar

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  
<< October 2019 >>

selected entries

categories

archives

profile

search this site.

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM