« ffdshow tryouts rev3765での出力色空間の削減とその影響 | トップページ | ハードウェアアクセラレーション(GPU再生支援)を考慮した場合のx264エンコード設定について »

2011年10月 3日 (月)

文字を3Dモデル化してAviUtl拡張編集に読み込ませる方法(立体テキストの作成)

※筆者は3DCGモデリングの知識があんまりない素人です。
  メタセコイアもPMDエディタも、今回初めて使ったので、詳しいことはよくわかっていません。
  この記事は「とりあえずこんな感じでやったらできた」というメモにすぎませんので、
  コメントで色々と指摘していただければ幸いです。

※2011/10/03
  とりあえずざっくりとした概要のみ。まだ文字だけですが少しずつ手を入れていきたいと思っています。

※2011/10/03 21:45追記
  Blenderという3DCGアニメーションソフトでも、テキストの3Dモデルを簡単に作れる上、
  色々な整形ツール(捻ったり)も使えて便利だとのことです。
  まだ試せていませんが、興味のある方はそちらも試してみるとよいかもしれません。

 
---ここから記事開始---

今更ですが、「AviUtl拡張編集Pluginスレッド Part4」の223氏が書いてくれた
立体テキストの作り方を試してみましたので、手順をメモとしてまとめてみました。
223氏、本当にありがとうございました。

 ◎単色の立体テキストを作って読み込んだ例(拡張編集プラグインによる動画)

 ◎テクスチャを貼った立体テキストを作って読み込んだ例(拡張編集プラグインによる動画)

AviUtl拡張編集Pluginスレッド Part4 のレス223

223 名前:名無しさん@お腹いっぱい。 投稿日:2011/08/20(土) 09:56:52.05 qC0dOcHc0
>>218
スレ違いというか板違いだけど、ヒント的な
PMD=MMD用可動3Dフィギュア
おすすめ3DCGモデリングソフトはとっつきやすいメタセコイア
「メタセコイア テキスト」でググると立体文字作成ソフトが出てくる
できたmqoをメタセコで読み込んで.xで出力して、MMD関連ソフトのPMDeditorでインポートしてPMD出力
自分でモデルを作るのは、MMD本とかメタセコ解説サイト(clip-studio)色々あるけど、絵が描けないとかなり辛い

 
■必要なもの(全てフリーソフト。バージョンは記事作成時点でのもの。)

 ●String MQObject Builder v1.0.0.1

    ※.NET Framework 2.0が必要です。

 ●MetasequoiaLE R2.4a

 ●PMDエディタ(PMDEditor)

   立体テキストをAviUtl拡張編集にもっていくだけなら、古いバージョンであるv0.0.6.3で十分のようです。
   もちろん最新版(現時点ではv0.1.3.1c)でも構いませんが、必要なものが変わってきます。
   最新版などの情報については、こちらのページを見るとよいと思われます。
      VPVP wiki - PMDエディタの使い方/Version情報

   ◎PMDエディタ 0.0.6.3 (2010/05/07) (古いバージョンだが.NET 2.0とVC++2008SP1で動く)

     ※0.0.6.3のリンクを直接クリックしても403エラーになると思います。
       リファラの問題ですので、「リンクを右クリック→ショートカットのコピー」でURLをコピーし、
       ブラウザのURL欄に直接貼り付けてダウンロードして下さい。

     ※必要なもの
       ○Microsoft .NET Framework Version 2.0 再頒布可能パッケージ (x86)
       ○DirectX エンド ユーザー ランタイム
       ○Microsoft Visual C++ 2008 Service Pack 1 再頒布可能パッケージ ATL のセキュリティ更新プログラム

   ◎PMDエディタ 0.1.3.1c(2011/9/25) (新しいバージョンだが.NET 4.0とVC++2010が必要)

     ※必要なもの
       ○Microsoft ..NET Framework 4 ( Web インストーラースタンドアロンのインストーラー
       ○DirectX エンド ユーザー ランタイム
       ○Microsoft Visual C++ 2010 再頒布可能パッケージ (x86)

 ●AviUtl+拡張編集プラグイン (記事作成時点での最新版は、AviUtl 0.99j と 拡張編集 0.89g)

 ●ポリゴンモデル表示スクリプト(PMDモデルを拡張編集に読み込むためのカスタムオブジェクト用Luaスクリプト)

   以下の動画で配布されています。
   「ポリゴンモデル表示.obj」は、AviUtlのscriptフォルダに入れておきます。

        

 
■処理の概要

  1.「String MQObject Builder」でテキストの3Dモデルを作成しMQOファイルとして保存。

  2.「MetasequoiaLE」で、MQOファイルをXファイルに変換。

  3.「PMDEditor」で、XファイルをPMDファイルに変換。

  4.「ポリゴンモデル表示スクリプト」の「PMD2modeldat.exe」でPMDファイルをDATファイルに変換。

  5.AviUtlの拡張編集タイムラインにカスタムオブジェクトを追加し、
    「ポリゴンモデル表示」でDATファイルを読み込む。

 
■作業手順

 1.モデルファイルやテクスチャファイルを置くためのフォルダを作っておく。
    パスやフォルダ名に日本語が入らないようにすること。
    ここでは仮に「D:\testModel」というフォルダを作ったとする。

 2.テクスチャを使いたい場合は、テクスチャファイル(bmpとかpng)を用意し、手順1のフォルダに置いておく。
   ファイル名に日本語が入らないようにすること。ここでは仮に「D:\testModel\tex1.png」とする。

 3.「String MQObject Builder」で、3Dテキストを作成する。
   文字列やフォント、厚みなどを自分が思うように設定し、「適用」ボタンを押して反映する。
   ただし、一部のフォントでは
      「Glyphの情報が読み込めませんでした」
   という意味のGDIエラーが発生し、強制終了することがある。(ビットマップフォントなどがアウト?)
   「マテリアル設定」については、AviUtl拡張編集で使うことを考えた場合に有効なのは
   「色(RGB)」と「テクスチャ」くらいだと思われる。
   単色でよいなら「色(RGB)」で色を指定。
   テクスチャを使う場合は、「テクスチャ」に手順2で用意したテクスチャファイルを指定する。
   最後に「MQOファイルとして保存」で、mqoファイルとして保存する。

 4.「MetasequoiaLE」で、メニューの「開く」で、手順1で作成したmqoファイルを開く。
   そのまま何も作業は行なわず、「名前をつけて保存」で「ファイルの種類」を
   「Direct3D Retained Mode(*.x)」にして保存する。
   保存の際に「X Export」という画面が出るが、テクスチャを使っていない場合はデフォルトのままでよい。
   テクスチャを使った場合は、「Xオプション」の「UVマッピング」にチェックを入れる。

 5.「PMDEditor」を起動。ここではv0.0.6.3を使うものとして説明する。

    5-1.「ファイル→インポート→Xファイル」で、手順4で保存したXファイルをインポートする。
         「サイズ調整」の「サイズ」は「任意」の1.0で良いと思われる。

    5-2.テクスチャを使った場合は、「材質」タブを開き、「材質0」を選択。
         右下の「テクスチャ」のところにフルパスでテクスチャファイルが
         指定されているはずなので、ここからパスを取り除き、ファイル名だけにする。
         (PMDファイルと同じディレクトリにあるテクスチャファイルを参照するようになる。)
           例: D:\testModel\tex1.png → tex1.png

    5-3.「ファイル→名前をつけて保存」で、「MMD3モデルファイル(*.pmd)」として保存する。
         保存先は手順1で作成したフォルダにする。
         これでPMDファイルが完成。

 6.「ポリゴンモデル表示スクリプト」のzipを解凍したフォルダに移動し、「PMD2modeldat.exe」のアイコンに、
   手順5で作成したPMDファイルをドラッグ&ドロップする。
   これにより、手順5のPMDファイルと同じ場所に、DATファイル(*.dat)が作成される。

 7.「AviUtl」で拡張編集のプロジェクトを新規作成し、拡張編集タイムラインに
      ・カメラ制御
      ・シャドー(カメラ制御) ←必須ではないがあるとわかりやすい。
      ・カスタムオブジェクト ←拡張描画オブジェクトにしておくこと。(重要)
   を追加する。

 8.カスタムオブジェクトの左下の選択ボックスで「ポリゴンモデル表示」を選択。
   その右側の「参照」ボタンでファイルを参照できるので、手順6で作成したDATファイルを指定する。

 9.カスタムオブジェクトとして立体テキストが読み込まれる。
   あとはオブジェクトの座標や回転などを使ってオブジェクトを動かせばよい。

 ※よくわかっていませんが、この手順で進めた場合、最終的に拡張編集に読み込まれる
   立体文字の大きさは「String MQObject Builder」で指定したフォントサイズの約5倍強になる模様?

 
まだ細かいことは全然わかりませんが、とりあえずこんな感じでした。

立体テキストに限らず、ちょっとした小物モデルを読み込んで使うのも面白そうです。
ただしポリゴンモデル表示スクリプトにはreadmeに書いてあるような制限事項もありますし、
複雑なモデルを読み込むと重くなるので注意が必要です。

M@STER FONTSや、TOHO Silhouetteなどのイメージフォントを使うのも面白そうです。

|

« ffdshow tryouts rev3765での出力色空間の削減とその影響 | トップページ | ハードウェアアクセラレーション(GPU再生支援)を考慮した場合のx264エンコード設定について »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1278146/42229452

この記事へのトラックバック一覧です: 文字を3Dモデル化してAviUtl拡張編集に読み込ませる方法(立体テキストの作成):

« ffdshow tryouts rev3765での出力色空間の削減とその影響 | トップページ | ハードウェアアクセラレーション(GPU再生支援)を考慮した場合のx264エンコード設定について »