July 05, 2010

FXG書き出しの問題点

Flash 11FXG書き出しの続き。今回は暗黒面。Flash CS5からIllustratorに渡すときは、FXGに移行しましょうって言っても、従来までのIllustrator書き出しと圧倒的に違う点があり、代わりにはなりません。いくつも罠があるからです。

非表示レイヤー

非表示レイヤーはFXGには書き出されません。入れ子になってるシンボルが非表示レイヤーを含んでいるかどうかはそのシンボルを開かないとわからないので、注意が必要です。SWF書き出しの場合は、非表示レイヤーを書き出すかどうかはパブリッシュ設定で選択できますが、FXG書き出しでは非表示レイヤーはガイドレイヤーと同じです。まあ、こんなのは些細なものです。書き出されてないレイヤーがあったら表示にすればいいだけですから。

トゥイーンスパン

トゥイーンスパン中のフレームをFXG書き出しすると、イラレに無効ですって言われて開けません。開く前に確認しろって、何をどう確認したらいいもののか。対処法としてはトゥイーンスパンの書き出したい部分にキーフレームを挿入しておくことです。

グラフィックシンボル

グラフィックシンボルの書き出しについてはもっと深刻です。ヘルプにあるFXGの書き出し制限では「複数のフレームを持つトゥイーンおよびアニメーション:書き出されませんが、選択したフレームは静的オブジェクトとして書き出されます」とありますが、グラフィックシンボルは選択フレームにかかわらず、1フレームめが書き出されてしまうのです。Flash 8からMOVを書き出すとき、ムービークリップのアニメーションは1フレームめしか書き出されませんでしたが、それとよく似ています。

イメージ書き出し上のFLAをFXGで書き出ししてみます。クチパクはシンボルでループしています。胴体のシンボルは胴体、腰、左脚、右脚の4フレームを静止フレームで使い分けています。また、背景のシンボルは2フレームめを静止フレームにしています。 親のタイムライン上では、1〜3フレームが開き口、4〜7フレームが閉じ口です。口を閉じている4フレームめを指定してイメージ書き出してみます。
Illustrator書き出しFlash CS4からIllustrator形式で書き出しました。Illsutratorで開くと、CMYKですが意図通りの絵が書き出されています。色を修正する必要はありますけど、Flash CS3でも同じ結果です。因みにFlash CS3までは書き出すIllustratorのバージョンも選べました。6.0って初めてのWin版で、Mac版は5.5の次が7.0でしたね。
FXG書き出しFlash CS5からFXG形式で書き出して、Illsutratorで開くと、意図とは異なる絵が書き出されて驚いてしまいます。口は開いちゃってるし、下半身はボロボロ。背景も違います。口、胴体、背景のシンボルは1フレームめが書き出されているからです。これでは従来のIllustrator書き出しの代わりにはなりませんな。Flashチームにも確認してもらったので、今後改善されることを期待しましょう。
とりあえず回避策としては、正しいカットが書き出されるようにFLAを修正するしかありません。まあ、これまでもAI形式で書き出しする時は、Illustrator向けに重なりをアレンジしたりしてたわけで、FXGならシンボルの書き出したいフレームを1フレームめに集めておけばいいということです。

マスクとフィルタ

これらはFlash CS5のFXG書き出しに限ったものではありません。CS4以前のAI書き出しが抱えていた問題でもあるわけです。ダメなところまで引き継いじゃったね。まず、ムービークリップにかけたフィルタのエフェクト、これはFXGに書き出せません。無視されます。まあ、仕方ないかな。問題なのはマスクレイヤーが書き出せないことです。というかイラレで開いた時ショックです。マスクが解除された状態になってます、あかんやん。


AI書き出し AI書き出し
上のムービーをFlash CS4からAI書き出ししたものをイラレで開くと、マスクは通常のパスとして書き出されてます。にしては、白い粒を赤い円でマスクしてるんだけど、重なり順が逆。右はIllustratorの表示をアウトラインにしたところ。赤い円のマスクの下にはちゃんとあるわけで、マスク設定をし直せってことね。
FXG書き出し FXG書き出し
同じムービーをFlash CS5からFXG書き出ししたものをイラレで開くと…ね、ダメでしょ。右は同じくアウトライン表示してみたところ。回避策としては、Flash側でマスクなしで成立する静止画として作っておくか、イラレ側でマスク処理するかです。
Posted by A.e.Suck at July 5, 2010 05:42 PM