SYSTEMAXのKOJIさんが開発されていたSAIが、10年の時を経て遂に発売される事となりました。
長い期間に渡り開発に御尽力されたKOJIさんには頭が下がる思いです。ひとまずおめでとうございます。
TANEはX68k時代の頃から追っかけていた一人な訳ですが(てゆーか、ここまでくるとストーカーですな(^^;)
横で見ていた者としても、とうとうこの日が来たのかと感慨深い思いです。
そんな訳で、横で見ていたTANEが いかにして SAI/彩 の虜になったのか? という昔話なんぞを、
だらだらと書き記してみたいなと思います。面白い文章になればラッキーですが、
退屈な文章になってしまった場合はゴメン。
時は1996年初め頃まで遡ります。丁度Windows95が発売された数ヶ月後です。
当時のX68kは、専門誌であったOh!Xが休刊し、徐々に衰退の一途を
辿り始めていた頃でした。とは言え、PC自体はまだまだ高価な時代だったのと、
ちょっとした物であれば自分でプログラムを書いて解決していた身だった
事、X68kはフリーソフト界隈が元気だった事、など重なって、
「まだX68kでも良いや」という感じで使ってました。
X68kは、画像表示に64k色出せたので、フルカラー表示のMacintoshを
除けば、まだまだフルカラーが浸透していなかった感のあるPCに比べても
そんなに劣っている感じではありませんでした。ただ、64k色表示では、
解像度が512x512というサイズで目いっぱいだった為(なのでピクセルの表示アスペクト比が
横長でした)、もっと広い画面のフルカラー表示ができたらなぁ....と思う事はありました。
そんな中、九十九電機から、X68k用に「TS-6BGA」という
グラフィックアクセラレーションボードが発売される事になり、
光速で予約してゲットしました。しかし、アクセラレーションと言っても
全然加速はしなくて、むしろ速度については遅いくらい、768x512というサイズで
フルカラー表示できるだけって代物でした。それでもフルカラー表示っぷりを見るのに、
「Independent JPEG Group's software」いわゆるIJGのJPEGツールを
X68k上でコンパイルして、JPEGファイルを表示しては
ディザのかからないフルカラーの世界に浸っていました。
と、ここまでは画像を表示する話。一方、X68kのペイントツールを使って
絵を描く方はと言うと、「Z's Staff」や「Matier」といった市販ソフトや、
「MFGED」といったフリーソフトなど、いくつか選択肢はありました。しかし、
当たり前ですが、これらは64k色用のツールであり、流石にフルカラー対応
となるとほぼ皆無(ましてやTS-6BGA対応のペイントツールなどありません)でした。
この頃、世の中はと言うと、Photoshopや Painter が
CG製作に使うツールとしてすっかり浸透していました。
時は変わって1997年初め頃。X68kを使用していたTANEですが、知り合いより譲り受けた
Macintosh PowerBookとPhotoshop3.0を使ってみて、やっぱPhotoshopって
良いなぁなどと思うようになってきます。
でもここで、やっぱりX68k以外のプラットフォームに乗り換えられなかった理由が
いくつかありました。
95年以降、急速に浸透し始めたインターネット接続ですが、会社ではいち早く導入されていて、
X68k関連のリンクなどを眺めていました。そのとき、「グラフィックツールを作って
ます」というようなリンクがあり、辿った先がSYSTEMAXでした。
時は1997年の2月。この時の「彩」は ジャギレスフリーラインのデモ版
という位置づけで、まだ本格的に画像編集に使えるものではありませんでした。
「アンチエリアスラインがリアルタイム処理で引けるのはスゲー」と
思ったのですが、まだツールとしての
体裁が整っていなかったので、どうする訳でもありませんでした。
そしてここから約10ヶ月間、SYSTEMAXの事は忘れてしまいます。
丁度悶々と過ごしていた時期と重なります。
再びサイトを訪問したのは1997年の11月末頃だったと思います。しかも前に
訪問した事はすっかり忘れていました(^^;;。
今思えば、この時に使った彩が、以前見たデモ版とあまりにも様子が違うので、
気づかなかったのかも知れません(笑。さておき、この時使ったのは彩の試食版 1023バージョン。そして、
ちょっと使ってみて衝撃を受けました。思わず、当時出入りしていた
草の根BBS(*注1)に
絵をアップロードしたくらいです。TANEのヘボい絵では伝わらない(<ここ一番ダメな所なのですが(汗;)
部分を文章にしたりしてみました。以下、当時の文章をそのまま引用してみます。
ちょっち暇ができたので触ってみる。24bit処理を行っている事以外 に、実線プレーンと呼ばれる画面を持っていて、Photoshopで例えるな らばレイヤー2面構成の様なイメージになっています。と言っても、 この実線プレーンはHSVのVに相当するモノに特化されているので、 Photoshopで使うならば2レイヤーの手前のレイヤーを乗算合成して、 且つグレースケールしか使用しない といった所でしょうか。しかし、 線画に着色を行う事を想定した場合、この程度のレイヤー構成でも、 X68k用の既存のツールで同じ事をする場合に比べて、見た目/作業効率 が遥かに良くなる事は言うまでも無いでしょう。 ラインやブラシツールはアンチジャギ付きになっているため、いきなり ハイクオリティなラインやブラシ跡を得る事ができます。アンチジャギ 付きラインがX68k上で実用的な速度で動くとは思っていなかったので、 正直言って驚きました。でも、流石に48dot以上のブラシ口径になると かなり辛いです(^^; :<中略> という訳で、「彩」で描いてみました。実線プレーンのお蔭で、主線 が消えてしまう心配無しにおもいっきりブラシが使えます。Photoshop を使い始めた時もこの点を異常なまでに強調しました。あちくしには それだけ重要な機能だったりするのです。 ブラシがおもいっきりはみ出まくってますが、マスク機能が無いため 形が複雑な領域を大径ブラシの円弧部分を使って微妙な色の変化を使っ て塗るという技は使えなかったりします。広い部分を塗るのにはOKな んですけどねぇ。それさえ使えれば、「Photoshop Killer」として世の ツールに対抗できるかも知れません(ちょっと大げさ)。 :<中略> スクウェアピクセルモードはサポートされていない様なので、「彩」 のセーブファイル(*.SAI)を勝手にファイル解析して作ったPPMコンバー タにかませてBMP変換した後、Photoshopで横拡大して見かけ上のアス ペクト比を合わせています。横に拡大するもんだから、主線がかなり ガタっていますが、オリジナルの主線はアンチジャギ付きで本当に びゅりほなので、興味ある方は是非使ってみるべし(始めの方にURLを書 いてあるです)。実際に作者様が描かれた絵とかも置かれています。
少し話はズレますが、当時のハードウェアとソフトウェアの話なんぞをしてみたいと思います。
一番最初の彩はX68kというハードウェアで動作するプログラムでした。
X68kは、PowerPC搭載以前のMacintoshやアーケードゲーム基板などに使用されていた、
MC68000(系)というCPUを搭載しているマシンでした。
クロック周波数はモデルによって異なりますが、X68000系は10MHz,16MHz、後に発売された
ハイエンド機のX68030で25MHz。
標準搭載メモリはX68000系で1MB,2MB、X68030で4MB。メモリボードを載せれば最大12MBまで
搭載可能でした。
2008年2月現在のPCと比べると、クロック周波数は200〜300倍は違うし、
メモリ容量なんて単位が違っています(^^; そもそも1990年前後が最盛期のマシンですから、
1997〜1998年頃で見ると、スペック的にはかなり時代遅れなハードウェアでした。
実行速度とメモリ容量の問題を解決する為に、X68kでの一般的なペイントツールは、
VRAM(ビデオRAM)を メモリとしてそのまま使用ていました。編集などもVRAM域を
直接操作するものが殆どでした。表示されているデータそのものを編集している
ので、結果的に別に問題無いように思われるのですが、そうしてしまうと、
65536色表示というハード制約に データも縛られてしまう事を意味していました。
Windowsでは、画像の実データはメインメモリに持ち、実際の表示はOSが
行います。この時、画像の実データはフルカラー、表示は65536色表示だと
した場合、OS/ビデオドライバーが 自動的に減色処理を行って表示を
行います。この為、画像の実データ色数が 表示色数に影響を受ける
ことはありません。この事については、また後で。
また、メモリを多く搭載してもそれを有効に利用する編集機能を持った
ペイントツールはありませんでした。
例えば、ディスプレイ表示サイズよりも大きな画像を編集する場合でも、
全体のうちの表示サイズ分を一時的に切り取って編集した後、明示的に
元にはめ込む操作が必要だったりしました。
タブレットについても、統一規格のドライバインターフェースは存在
しません。ましてやX68k用のドライバなど、タブレット本体に添付
されるハズもありませんでした。ソフトが対応しているタブレットだったら
使えるという状況でした。
そんな訳で、97年以降に 画像編集を行うのに、X68kをプラットフォーム
として使用するのは、相当厳しいというのが現実でありました。
彩の話に戻ります。スペック的に厳しいハードウェアにも関わらず、
それを忘れてしまうような処理てんこ盛りだった訳です。
TANEが最初に使ったバージョンの彩には、マスク機能はまだ搭載されていませんでした。
このため、線画は別レイヤーに描く事で着色の影響は受けないものの、
ブラシで領域をはみ出さずに着色する事が極めて困難でした。
この時の彩は、線画プレーンと呼ばれる グレースケールのレイヤーと、
着色プレーンと呼ばれる(Photoshopで言うところの)背景レイヤーの 固定二枚構成のキャンバス
に描くというものでした。そこで、TANEは 線画プレーンをマスクにする
(α値として扱う)方法を考えました(当時は「擬似レイヤー」と呼んでました)。
一つの絵をパーツに分けて、複数のファイルに
部品として分けて保存し、全て塗り上がったら部品ファイルを合成する
自作プログラムを使って最後に一つの絵にまとめ上げる事をやってみたのです。
今思えば、「思いついても普通はやらない事」なのかも知れませんが、
結果的に実験は成功します。この時に作成した自作プログラムが
Layman(Layer Manager shell)です。
この実験成功により、彩にマスク機能が付くことを熱望します。
そして、この実験からわずか2ヶ月後にマスク機能のついた新しい彩(V0.10a)が
リリースされました(この時は自動選択的なものはまだ無かったですが)。
それにしても、タブレット対応されてからわずか2ヶ月で大幅に改良されて出てきた訳で、
今考えてみるとあまりにも凄過ぎる開発速度のように思います(^^;
そして、当時のTANEの文章を読んでみると、次から次へ機能要求を
していて、「おまえ、もうちょい遠慮しろよ!」と当時の自分に突っ込んで
しまいました(^^;;;;; しかしながら、そういう無茶な要求に対して、
想像を超えたレスポンスを華麗に返してくるKOJIさんの凄さには
今でも脱帽します。
1998年末には、V0.9.06 がリリースされます。
このリリースではフィルタやファイルIOをプラグインとして自由に開発できる
(と言っても、C言語の知識、コンパイラをインストールする知識などが別途必要)
ようになりました。色々フィルタプラグインを作っては、プラグイン集として
SYSTEMAXのページにも置いてもらっていました。
X68k版の最後のリリースはV0.9.09。
KOJIさんの方も、X68k上で色々と実験を行っていたようですが
(一般非公開のリリースで描かれたKOJIさんの絵がある)、
この次の彩はWindowsで目にする事になります。
そんな訳で、御目汚しですが、X68kで描いていた当時の はづかしい絵を出してみようと思います。
1998/01/25頃 筆圧対応が行われた最初のリリースで描いたものです。線画はスキャナで取り込んで 自作ツールでSAIファイルに変換し、着色を彩で行いました。まだマスクが実装されて いないバージョンなので、色がはみ出ては消しゴム代わりに白で塗り潰したり しながら塗った記憶があります。 |
1998/02/01頃 Laymanでの擬似レイヤー実験を試すのに、一番最初に描いたものです。肌を二つのファイル、 服を三つのファイル、髪の毛、線画、そして背景、の計8個のファイルを 合成してできた絵です。塗っている途中は本当にその部分だけしか見る事が できないので、「本当にうまくいくのかなぁ......」と自分でも思いながら 塗った記憶があります。 |
1998/03/22頃 彩の試食版シリーズを使って描いた最後の絵。Laymanに色々フィルターっぽい ものを実装して遊んでいる感じです。 次の彩のリリースで、マスク機能や多色レイヤー(いわゆる透明度を持ったレイヤー) が実装されます。 |
1998/10/04頃 彩(V0.20E)で描いたもの。この頃には領域選択でマスクを抽出できました (ただし抽出元は実線プレーンからのみ)。 スキャナで取り込んだ線画を自作ツールでSAIフォーマットに変換した後、 キャラを着色。背景は自作ツールでSAI形式のファイルに直接埋め込む感じで生成 していたと思います。SAIの方でRGBベタ形式にエクスポートできた ので、そこからJPEGなどに変換してました。 |
1999/01/17頃 彩(V0.9.06)で描いたもの。プラグインでフィルターやファイルIOを外付け開発 できるようになったので、Laymanのフィルター系コマンドを移植してました。 この絵ではフォント表示できるようにしてうれしがってた頃かも。ただし、 一般的でない(確かZFNとかいう形式)ベクトルフォントセットなので種類を あんま持っていませんでした。また、領域塗り潰しとかまで作れなくて、 あんま良い感じではなかったかも。 それにしても、うすらエロい絵が多いのはなんでだ?(汗; |
1999/02/24頃 FreeTypeというフォント描画のライブラリ(2008年現在でも、UNIX系OSの世界では これを使用したアプリが多数存在します)を移植して、WindowsのTTFファイルを使って 文字描画するプラグインを作ったりしてた頃。 文字の内容を見ると、彩を使ってアニメーションもできるんじゃね?と思って実験 してた頃かも。しかし、絵の腕が無いので「オレには無理」って結論に至った記憶があります。 この頃には、線画ファイルの読み込みからJPEGへのセーブまで、全ての作業を彩で 行っていたと思います。 |
1999/07/12頃 この頃にはプラグインのフィルターを色々作って遊んでいたかも。 あと、筆ツールを使いこなす練習をしていたかも。 ちなみに絵のモデルは佐藤江梨子(当時18才)です。似てねーっ!(^^; |
1999/09/27頃 アナログ画材風なタッチを出す実験をしてたかも。 マスクにノイズをかけて、その上から色を塗ることで、テクスチャー的な 事ができないかなぁと思った実験です。なんとなくそれっぽい感じには なったように思いますが、流石にマスクを常に通して着色するのは、 処理的にかなり負荷が高い為、サクサク塗った感じではありませんでした。 |
2000年に入ると、TANE自身もそろそろX68kでは何をするにも辛くなってきたなぁと思い始めます。
そして、彩もWindowsでの開発が開始される事が宣言されました。
もうここは一つ買っておくか。という訳で、とうとうWindowsマシンを購入するに
至ります。やっぱり安い買い物とは言えませんでしたが、価格性能比は全然違っていたのに驚きます。
CPUはPentiumIII(550MHz)、メモリ容量は64MB、ハードディスク容量は10GB、そしてなんと言っても、
1024x768のサイズでフルカラー表示可能となりました。
ここまで来ればインターネット接続環境もという事でプロバイダ契約も行い、
そして置いたホームページが今の「へっぽこ実験室」になります。
まぁ、とにかく何をやるにも凄い速度で動くので、あっと言う間に
Windowsマシンがメインになっていきます。
彩の一番最初のWindows版のリリースは2000年の6月です。
この時は、まだレイヤーなども無い状態でしたが、巨大ブラシでもストレス無く
描ける点に、CPUパワーを見せ付けられます。
消しゴムやレイヤー処理、ファイルload/saveなど、ひととおりの事ができるようになった
バージョンは、2000年の7月頃にリリースされます。
2001年に一度大きな改版があり、そこでUNDOが付いたり、レイヤーにツール一式がリンクされる
ようになったり、UIも実験的な試みが色々と盛り込まれました。
その後は、頻繁にアップデートが入り、徐々にツールとして固まっていった感じだと思います。
2002年2月には、お絵描きBBSプラグイン対応された彩Onlineもリリースされました。
しかし、こちらの流れに乗っていくことはありませんでした。
2002年5月頃には、巨大キャンバス対応されたりしました。ただ、この時は
2000x2000くらいにすると、動きが結構厳しかったです。その後、しばらく
新しいリリースは無く、2003年は一度もリリースはありませんでした。
ここでは、再度立ち直って見直しを行っていたようです。
そして2004年8月から、表記が「SAI」となってリリースが開始されます。
UIなども大幅に変更されました。巨大キャンバスでも楽々動作し、そしてキャンバス表示を
回転させることができるようになりました。
他にも、ペン入れツールなど、X68kには無かったツールが追加されたりします。
最初のペン入れツールは制御点移動がかなりもっさりしていたのですが、
その後の改善で劇的に使いやすくなります。特にマクロ変形は大量の
制御点を一気に思惑通りに調節できるという素晴らしい機能です。
その後、レイヤーの追加/削除操作、水彩筆のウェットモードなどが追加された
のが2004年の9月頃。ここら辺から、徐々にツールとして作り込まれてゆきます。
2004年末頃には2chでスレッドが立ち、そこから爆発的にユーザが増えていく
感じになりました。2005年頃から、多数の人に使われるようになったため、
ツールとして体裁が一気に整っていったように思います。
ブラシやレイヤーにテクスチャを反映できたりと、表現の幅も広がっていきました。
SAI表記になった頃から、使用期限が設けられた事もあって、SAIは月一回リリースされました。
使用期限と言っても、完全に使えなくなる訳ではなく、セーブできるフォーマット
がBMPに限られるといったものでしたが、それでも制限が早く解除
される、つまり発売を求める声が徐々に大きくなっていきました。
要望やバグ報告なども行われていたのですが、まとまって一箇所で管理されている
という感じではなかったので、繰り返し同じ話題が発生したりという事もありました。
あと、PCのハードやOSに詳しく無い人の方が多いこともあって、
単に「動かない」という報告なども見受けられるようになったように思います。
逆に、一般に浸透してきたと言えるのかも知れません。
TANEはと言うと、2005年辺りからはあまりリリースについていける感じでは
なくなって、大きな変更が入った時に使ってみるという感じになりました。
如何せん、多少問題のあるレベルでも、大勢に影響が無ければ大丈夫と
いう体質なので、あまり細かい所に気づかなかったというのもあります。
その点から言うと、ユーザーが多くなった事で、実に細かい所の指摘まで行われる
ようになった様にも思います。
その後も順調にリリースは行われ(たまに使用期限解除のみという事はありましたが)、
そして、2008年2月25日、めでたくVer1.0.0として製品発売されるに至りました。
こうして書いてみると、X68kの頃に比べるとWindowsでの開発期間はかなり長い
のですが、巨大キャンバス対応や、内部メモリ管理の改善など、X68kの頃には
無かった新たな問題を解決したり、各種ファイルIOに対応したり、細かい使い勝手を
改善したりと、色々対応しなくてはならない事があったのかなと思います。
現在(2008年時点)、PCの性能向上には驚くべきものがあります。特にメモリ容量については、考えられない
くらいの量を搭載できるようになっています。例えばスワップ動作は、少ない実メモリ
容量を、見かけ上 多くのメモリがあるかのように見せるハードウェア機構なのですが、
今や実メモリ容量が非常に多くなった為に、場合によってはスワップ動作自体が
行われないこともあります。この為、スワップ動作の為に、動きが重くなるような
事も少なくなってきました。
しかし、ペイントツールという性質上、表示などの解像度が上がればそれだけ多くのメモリを使う
ようになります。それを処理するのにも高速なCPU処理能力が要求されます。
今後も、メモリ容量が増えても、CPU速度が上がっても、その上を行く要求が
あるのだろうなと思います。
今のところ個人的には、
以上が、TANEの彩/SAIに関する全記憶です。本当に細かな所はかなりかすれては
いるのですが、X68k時代の事などは結構覚えていたりして、長いようで短いという
10年間だったように思います。でも、2008年で Photoshopは20年、Painterは15年
くらいという感じなので、まだまだこれからって所かも(笑。
履歴 2008/03/02 : 初版。 2008/03/27 : 誤記修正。