2月の計画ーーDanbooruを動かす
Danbooruと言えば,海外発祥のイラストコミュニティサイトで,二次創作を中心としたイラストの投稿がされている.
Danbooruの大きな特徴といえば,無節操なほど様々な人のイラストが投稿され,そのイラストにタグ付けされている.タグの精度はPixiv以上で,特徴のあるイラストならばタグだけで特定することもできる.
そのシステムが先日,オープンソースで公開されている,と言うことがわかって導入することに決めた.もともと,作ろうと目指していたものが3Dも扱えるDanbooruだったのでこれを使うことにした.
Danbooruを扱う上でのメリットは,ほぼ無制限にタグを付けられるだけではなく,一部の特徴のあるタグにカテゴリーを付けることができる.実は僕が研究していたタグ研究のほとんどは,もともとカテゴリー化されていないタグをカテゴリー化するようなもので,最初からこのような機能があれば僕の研究は必要ない.
兼ねてからタグにカテゴリーは必要だと思っていたので,Danbooruはこの上なく便利で魅力的なシステムに僕は見える.
また,システムとしても完成されているという点も大きい.Danbooruを使用しているサービスとして,Sankaku ChannelやGalbooruなど本当にたくさんのシステムが存在している(その方向がエロに向かっている点は共通しているのが不思議).
プロジェクトの規模もUnityでMMDを動かす会と比べると,明らかに歴史もコミッタも多いのがDanbooruで,Wordpressほどではないにしろある程度,安定していることが保証されている.
Danbooruを導入することに決めたのも,既に2週間潰してDanbooruのような物を作っていて,Railsが動かないからSinatraにして,Modelが動かないから最初からそんなものは使わず,mysql2も動かないからDynamoDBを直接操作することで回避して,当然Controllerなんてものはファイルにベタ書きだし,bundlerもまともに動かせないからrubyコマンドを叩いている.
ここまで環境を絞り込んでしまうと,ほとんどのシステムについて車輪の再発明をしなければならない状態になる.Linuxのオペレーションにも時間を取られ過ぎてしまう.僕がシステムを運用するのにも限界がある.
仮にLinuxのオペレータを未踏のお金で雇うことになったとしても,オレオレシステムよりははるかに運用しやすいはずだと思う.
基本的にDanbooruで実現するのは3Dデータのリポジトリだ.あらゆる3Dデータをここで保管し,タグで分類する.この3DデータをWebAPIで引っ張ることができ,様々なDCCツールでリアルタイムでロードすることができる.
また,カテゴリ化されたタグは,そのカテゴリごとに特異な機能を持たせることができる.データはWebAPIで引っ張ってくることができるため,例えばジオタグが付けられたデータに関しては,GoogleMap上で表示するなどの工夫もできる.当然,3Dデータのリアルな大きさを表すタグが付けられていれば,ツールごとにその大きさを正規化することも可能だ.あるツール専用のデータであれば,そのタグを付ければいい.
もし,何かWebサービスを思いついたら,これもWebAPIでデータを引っ張ってくればいい.場合によってはWebAPI経由で投稿するのもいいかもしれない.
キャラクリを作る,そのためのリポジトリだけでなく,その後の利便性も考慮した結果,Danbooruのようなシステムが必要になる.キャラクリのように,他の人のデータを使って新しい何かを作るシステムほど,そのプラットフォームがしっかりしている必要がある.今作ろうとしているのは,そのプラットフォームを完成させることにある.