3DCGツール「MikuMikuDance」のエフェクトを拡張する「MikuMikuEffect」
専用モデルを利用したエフェクト
MikuMikuEffectで学ぶHLSL入門(6)
ダウンロード サンプルファイル (86.9 KB)
本連載では、3DCG作成ツール「MikuMikuDance」にエフェクトを追加する「MikuMikuEffect」の使用方法と、エフェクトを構成するHLSLコードについて、6回に渡り解説していきます。最終回となる今回は、専用モデルデータを利用したエフェクトの作り方を解説していきます。
作るエフェクト紹介と準備
今回は今まで制作したシェーディングエフェクトやポストエフェクトとは違い、専用モデルを利用したエフェクト、「ラインエフェクト」を作ります。
ラインエフェクトとは
ゲームなど、主にリアルタイム3D映像で広く利用されているエフェクトで、3D空間に線を引いているように見えるエフェクトです。
それを実現するために、過去の連載で紹介したエフェクトとは違い、頂点シェーダを用いて専用モデルの頂点を個別に動かし、下の図のようにひも状に変形させます。
エフェクト作成準備
まずサンプルデータをダウンロードし、「作業開始用」フォルダ」内の「Line.x」をMMDに読み込みます。
データの作成には3Dモデリングソフト「Metasequoia」の、「基本図形」機能を利用しました。
こちらの画面のみでは分かりづらいので、以下で構造を解説します。
モデルデータ構造
専用モデルデータ「Line.x」の頂点座標は上のような構造で、エフェクトを使用しない場合はポリゴンが分割された正方形の形をしています。
実際は100分割されており、各頂点のZ座標がちょうど0、0.1、0.2、...、0.99、1.0となるようにしています。
このZ座標はそのまま、頂点シェーダ上で頂点を動かす際に「現在どの位置の頂点を計算しているのか」を知るために利用できます。
モデリングツールから書き出したそのままではありますが、UV値はこのようになっています。なお、このUV値を利用したテクスチャの貼り付けについては後述します。
この頂点郡を「頂点シェーダ」を利用して動かすことでラインを描きます。
では、エフェクトファイル「Line.fx」を編集していきましょう。
- 修正履歴
-
- 2012/11/13 10:49 Lerp関数の利用 画像のurlを修正
- 2012/10/18 02:31 記事完成
- 2012/10/15 23:44 アドバイスに従い間違い修正および文章、画像追加
この記事は参考になりましたか?
- MikuMikuEffectで学ぶHLSL入門連載記事一覧
-
- 3DCGツール「MikuMikuDance」のエフェクトを拡張する「MikuMikuEff...
- 3DCGツール「MikuMikuDance」のエフェクトを拡張する「MikuMikuEff...
- 3DCGツール「MikuMikuDance」のエフェクトを拡張する「MikuMikuEff...
- この記事の著者
-
ビームマンP(ビームマンピー)
ニコニコ動画等でMikuMikuEffect用シェーダプログラム開発者として活動。 開発を始めた理由はカッコいいビームやミサイルが作りたかった為。 エフェクト配布用サイト http://www43.atwiki.jp/beamman/
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア


