SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

MikuMikuEffectで学ぶHLSL入門

3DCGツール「MikuMikuDance」のエフェクトを拡張する「MikuMikuEffect」
専用モデルを利用したエフェクト

MikuMikuEffectで学ぶHLSL入門(6)


  • X ポスト
  • このエントリーをはてなブックマークに追加

 本連載では、3DCG作成ツール「MikuMikuDance」にエフェクトを追加する「MikuMikuEffect」の使用方法と、エフェクトを構成するHLSLコードについて、6回に渡り解説していきます。最終回となる今回は、専用モデルデータを利用したエフェクトの作り方を解説していきます。

  • X ポスト
  • このエントリーをはてなブックマークに追加

作るエフェクト紹介と準備

 今回は今まで制作したシェーディングエフェクトやポストエフェクトとは違い、専用モデルを利用したエフェクト、「ラインエフェクト」を作ります。

ラインエフェクトとは

 ゲームなど、主にリアルタイム3D映像で広く利用されているエフェクトで、3D空間に線を引いているように見えるエフェクトです。

 それを実現するために、過去の連載で紹介したエフェクトとは違い、頂点シェーダを用いて専用モデルの頂点を個別に動かし、下の図のようにひも状に変形させます。

完成図
完成図

エフェクト作成準備

 まずサンプルデータをダウンロードし、「作業開始用」フォルダ」内の「Line.x」をMMDに読み込みます。

Line.xを読み込んだ所
Line.xを読み込んだ所

 データの作成には3Dモデリングソフト「Metasequoia」の、「基本図形」機能を利用しました。

Line.xの構造(モデリングソフト画面)
Line.xの構造(モデリングソフト画面)

 こちらの画面のみでは分かりづらいので、以下で構造を解説します。

モデルデータ構造

Line.xの構造(頂点の配置)

 専用モデルデータ「Line.x」の頂点座標は上のような構造で、エフェクトを使用しない場合はポリゴンが分割された正方形の形をしています。

 実際は100分割されており、各頂点のZ座標がちょうど0、0.1、0.2、...、0.99、1.0となるようにしています。

 このZ座標はそのまま、頂点シェーダ上で頂点を動かす際に「現在どの位置の頂点を計算しているのか」を知るために利用できます。

Line.xの構造(UV値)
 Line.xの構造(UV値)

 モデリングツールから書き出したそのままではありますが、UV値はこのようになっています。なお、このUV値を利用したテクスチャの貼り付けについては後述します。

 この頂点郡を「頂点シェーダ」を利用して動かすことでラインを描きます。

 では、エフェクトファイル「Line.fx」を編集していきましょう。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
頂点シェーダの処理

修正履歴

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
MikuMikuEffectで学ぶHLSL入門連載記事一覧

もっと読む

この記事の著者

ビームマンP(ビームマンピー)

ニコニコ動画等でMikuMikuEffect用シェーダプログラム開発者として活動。 開発を始めた理由はカッコいいビームやミサイルが作りたかった為。 エフェクト配布用サイト http://www43.atwiki.jp/beamman/

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6517 2012/11/13 11:11

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング