SHOEISHA iD

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

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

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

MikuMikuEffectで学ぶHLSL入門

「MikuMikuEffect」のエフェクトファイルの内部構成とシェーダコードの編集方法

MikuMikuEffectで学ぶHLSL入門(3)

ダウンロード simple.zip (1.6 KB)

シェーダコードの改変

 では、実際にシェーダコードに触れてみましょう。

 といっても、今回は、シェーダーコードの具体的な記述内容を解説することは避け、コードの役割を感覚的に理解する手助けとなるべく、シェーダコードに手を加えてみて、それが描画結果にどのような変化となって現れるかを見ていくことにします。 

サンプルエフェクト

 改変に使用するエフェクトファイル(simple.fx)は、添付ファイル内に収録しました。

 このエフェクトファイルは、MMD標準のシェーダとほぼ同じトゥーンシェーダです。ただし、簡易版のため、セルフシャドウやスフィアマップの機能には対応していません。また、分かりやすさを優先するため、一部実行効率の悪い記述を使用しています(ピクセルシェーダ内でのif文の使用など)。

準備

 まず準備として、第2回目と同じ操作でMMD同梱モデル「初音ミクver2.pmd」を読み込み、モデルにsimple.fxが適用された状態にしてください。

図3 エフェクト割当
図3 エフェクト割当

 今回使用するエフェクトファイルはセルフシャドウに対応していないため、セルフシャドウをOFFにしてください(図4)。

図4 セルフシャドウをOFF
図4 セルフシャドウをOFF

また、編集結果を分かりやすくするため、メニューの[表示]-[エッジ太さ]から、エッジの太さを0.0に設定して輪郭を消してください(図5)。

図5 輪郭をOFF
図5 輪郭をOFF

 エフェクトファイルの編集には、メモ帳もしくはお好みのテキストエディタを使用してください。コードを編集してファイルを保存すれば、リアルタイムでMMDの画面上に変化が現れます。

図6 改変前の描画結果
図6 改変前の描画結果

次のページ
頂点シェーダの編集

修正履歴

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

MikuMikuEffectで学ぶHLSL入門連載記事一覧

もっと読む

この記事の著者

舞力介入P(ブリョクカイニュウピー)

ニコニコ動画でMMD関連のツール開発者として活動中。代表作は「MikuMikuEffect」。我流のAPI Hookを常套手段とする、邪道プログラマです。ニコニコ動画マイリスト

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

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

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/6122 2011/09/02 14:00

イベント

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

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

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

メールバックナンバー