MMDモデルのシルエットフォントを作る

Twitterに書くには長すぎたんだけどどっかにまともに書くほどでもないチラシの裏だったのでこっちに書く。


概要

M@STER FONTS ( http://ameblo.jp/echoecho/entry-10069718371.html )っていうのがあって、それにインスパイアされて出来たRits'type Font ( http://shiromoji.net/font/ritstype/ )っていうのがある。Rits'typeは波音リツってキャラクターのMMDモデルから作ってるんだけど、それの欲音ルコバージョンを作ってみたくなったから試しにやってみた。

使ったもの

MacだけじゃMMD部分がどうにもならないからWinを使った。その他の作業も別にWinでできると思う。

Win
家族共用のXPマシンを間借りして使用。
Mac
いつもの。Mac OS X 10.5.8 on MacBook(Early 2008)
MMD
これのみWin側で。MultiModelEdition(v524)
MMD Model
babiさんの欲音ルコモデル
MMD モーション変換
MotionConverter
Movie->連番png
手元にあったffmpeg
カラーpng->シルエットbmp
手元にあったImageMagick
bmp->svg
MacportsでインストールしたPotrace
svg->フォント
FontForge 2

手順

使ったソフトはRits'typeのクレジット欄を見ながら揃えた。手順は適当に考えた。

出力用の動画を作る

MMDで作業。
自分でモーション作る気力はなかったから、付属のきしめんを読み込んでモーションデータ(vmd)として出力。
それをMotionConverter( http://yumin3123.at.webry.info/200811/article_1.html )に食わせる。
もとのモーションは初音ミクMetal用なので、このツールで欲音ルコモデル( http://www.nicovideo.jp/watch/sm12629413 )用に変換。
MMDに戻って新規プロジェクトに欲音ルコモデルを配置してさっき変換したモーションを食わせる。
座標軸を消して影も消して、あとはダンス中に画面からはみ出ない程度に適当にカメラ位置を設定する。
さらに念のため暗くした光源をモデルにあてて、なるべくモデルを黒くしておく(実際は真っ白じゃなければいいんだけど……)。
ここまでやったら動画を出力する。コーデックはなんでもいいんだけど、ffdshowがインストールされてたからH.264(100%)で出力した。

連番svgを作る

動画をMacに持ってくる。ffmpegで連番pngを作って、ImageMagickのconvertでシルエット化する。 $ffmpeg -i 動画.avi -r 2 -f image2 フォルダ1/%03d.png
$convert フォルダ1/*.png -threshold 99% -monochrome フォルダ2/%03d.bmp
これでフォルダ2の中に、「真っ白い画面の中に黒いモデルのシルエット」っていうbmp画像(000.bmp,001.bmp...)が出来てるはず。

これを次はsvgに変換する。potraceをデフォルト設定で呼び出してで変換しただけ。
$potrace -s フォルダ2/*.bmp すると、フォルダ2の中にベクター化されたsvg画像(000.svg,001.svg...)が出来てるはず。
この中から、なるべく代わり映えがするように26枚のポーズを選んでおく。足りなかったらffmpegを-r 3とかにして再実行して候補を増やした方がいいかも。

FontForgeで変換する

ここがすごい苦労したw
FontForgeを起動して、a-zのグリフ編集画面でそれぞれsvgをインポートする。
インポートした時点ではサイズが小さいから、エレメント->変形->変形...で拡大しつつ、適当に配置を揃える。
元のモーションにそんなに前後移動がなければモデルの画像サイズもだいたい同じだから、全画像を同じ拡大率/配置で置けるように工夫したいところ。
配置したあとについでにエレメント->単純化->単純化でパスを単純化しておいた。効果はよくわからんw
貼り付け終わったらエレメント->フォント情報で適当に名前とかを入力して、TrueTypeフォントとして出力する。
いろいろ警告が出るけど、多分お遊びでシルエット並べるだけのフォントなら無視していいはず……w

完成?品

これ
いろんな意味でひどい出来だから個人で眺める程度に留めておいて下さいはい。
収録グリフはa-zのみです。Rits'typeみたいにロゴも入れようと思ったらうまくいかなかったw


Sitemaster: じゅりあす