エンジン改造なしでアニメ調キャラクターを魅力的に。『モンギル:STAR DIVE』のTAが語る、アニメ表現マテリアル制作法【Unreal Fest Tokyo 2026】

エンジン改造なしでアニメ調キャラクターを魅力的に。『モンギル:STAR DIVE』のTAが語る、アニメ表現マテリアル制作法【Unreal Fest Tokyo 2026】

2026.11.05
取材レポート注目記事講演レポート3DCGアンリアルエンジンマテリアル
この記事をシェア!
Twitter Facebook LINE B!
Twitter Facebook LINE B!

エピック ゲームズ ジャパン主催のUnreal Engine公式イベント「Unreal Fest Tokyo 2026」が、2026年11月3日(火・祝)~4日(水)、東京・有明のTFTホールで開催されました。

講演「『モンギル:STAR DIVE』Anime-Style Look、完成度を超えて魅力へ」では、ネットマーブルモンスターのアン・ウォンチョル氏が登壇。本稿では、エンジン改造なしで実現したアニメ調のキャラクター表現手法が語られた本講演をレポートします。

TEXT / 神谷 優斗

目次

ネットマーブルモンスター キャラクターテクニカルアートディレクター アン・ウォンチョル(Won Chul Ahn)氏

リリース半年前から「アニメらしさ」にテコ入れ。エンジン改造はなし

『モンギル:STAR DIVE』は、Unreal Engine 5(以下、UE)で開発されたアクションRPGです。アニメ調のキャラクターを軸とする本作は、2026年4月15日に正式サービスを開始しました。

『モンギル:STAR DIVE』リリースPV

アン氏は、映像制作からゲームのシネマティック制作を経てゲーム開発へと活動の場を移してきたといいます。ネクソンやLine UPでTAを務め、ほかにも多数のアニメ調プロジェクトに参加してきました。

アン氏が本作に参加したのは、正式リリース前の開発終盤。その時点で、物理ベースのカスタムシェーダーはすでに整備されていました。ただし、表現を調整する仕組みは十分ではなく、アニメ調の魅力を引き出す余地が残っていたといいます。

参画当時、リリースまでの猶予は半年未満で、膨大なモデルやテクスチャなどのアセットが制作済みでした。アン氏によると、G-Buffer(※)など描画の中核を変更すると、制作済みのアセット全体に修正が及ぶ状況だったそうです。
※ 色やノーマル、ラフネスといった情報を画素ごとに保存し、後段のライティング計算に渡すためのバッファ。ディファードレンダリングで使われる

そこで、既存のカスタムシェーダーを土台に、エンジン本体やG-Bufferの構成を変更しない方針を選択。シェーダーの大きな改造も避け、アセットの追加・修正を最小限に抑えました。

マテリアルだけで実現する髪・目・眉のルック向上

続いてアン氏は、キャラクターの印象を左右する髪、目、眉の改善事例を紹介しました。

髪はハイライトを生かしつつ、疑似ライティングで立体感アップ

髪の光沢には、方向性のあるハイライトを作る異方性スペキュラがすでに使われていました。一方、影の付き方をアニメ調に合わせて調整する仕組みはなく、調整できる範囲が限られていました。そこでアン氏は、既存のハイライト表現を生かしつつ、色味とボリューム感を補う方針を取りました。

まず、スカイライトの色を髪に反映させ、空や背景になじむ色味に整えました。あわせて、マテリアル内で多用していたマスクやテクスチャの参照処理をまとめ、不要な処理を削減しています。

改善前のカスタムシェーダーはスカイライトを反映しておらず、背景とキャラクターで空の色の影響に差があったという

加えて、髪のノーマルと仮想的な光源方向の内積による擬似的なライティングをマテリアル内に実装。実際のライトや影の計算に依存せず、髪の面の向きに応じた明暗を加えることで、既存の異方性スペキュラによる光沢を生かしながら、髪全体のボリューム感を補強しています。

擬似ライティングは顔の陰影とも調和する、自然な仕上がりになったという

目はグローと瞳孔の奥行きで立体感を出す

目には、瞳の輝き(グロー)の動きと瞳孔の奥行きの表現を追加。グローには、カメラを基準にした座標系を利用し、見る方向に応じて位置を動かしています。

瞳孔にはBumpOffset(※)を使用。見る角度に応じてテクスチャのUVをずらすことで、瞳孔が目の表面より奥にあるように見せています。
※ 視線方向と高さ情報に基づいてUV座標をずらし、表面の凹凸や奥行きを擬似的に表現するUEのマテリアルノード。視差マッピング(Parallax Mapping)の一種で、実際のメッシュ形状は変化しない

眉はWPOを使って髪の前面へ

アニメ調のキャラクターでは、表情を伝えるために前髪の前面へ眉やまつ毛を見せる表現が使われます。実装方法として、アン氏は3つの選択肢を検討したといいます。

前髪を半透明にする方法では、眉が見える代わりに髪の見た目も変わってしまいます。G-Bufferを活用して眉を再描画する方法も検討しましたが、本作ではすでに多くのチャンネルを別の用途で使っており、開発終盤に構成を変更するリスクがありました。

そこで、マテリアルの機能で眉の描画位置をカメラ側へずらし、前髪より手前に見せる方法を採用しました。

具体的には、CameraOffset関数の出力を、描画時に頂点の位置をずらすWorld Position Offsetへつないで実装しています。

これで眉をカメラ側へ移動できますが、元の眉をそのまま動かすだけでは、顔から浮いて見えてしまいます。そこで、元の眉に加え、半透明にしたもう一組の眉を手前へ移動させています。前髪のない部分では元の眉に半透明の眉が重なり、前髪に隠れる部分では手前の半透明の眉が見えます。この二重構造によって、顔にある眉の見え方を保ちながら、前髪越しにも表情が伝わるようにしています。

テクスチャ1枚から3種類のノーマルを作る

本作では、キャラクターの服などの細かな凹凸を表現するために、マテリアルごとに1〜3種類のノーマルが必要でした。しかし、既存のマテリアルはすでに多くのテクスチャを参照しており、必要な種類だけノーマルマップを追加する余裕がありませんでした。

そこでアン氏は、1チャンネルのテクスチャから簡易的なノーマルを作る方法を採用しました。入力値が画面の横方向・縦方向にどれだけ変化しているかを求めるDDX、DDYを白黒の模様に適用すると、明るさが切り替わる場所と、その変化の強さを取り出せます。

講演で示された構成では、この2つの変化量に一定の値を第3の成分として組み合わせ、ノーマルに使う3成分のデータを組み立てています。

白黒画像の明るさの変化をDDXとDDYで取り出し、簡易的なノーマルを作るノード構成

ただし、この手法ではなだらかな凹凸が粗く表現されてしまう場合があります。そのため、境界がはっきりした模様など、相性のよい材質に絞ってこの手法を採用しています。

1枚のテクスチャのうち、R・G・Bからそれぞれ異なる3種類のノーマルを生成し、Aチャンネルを各ノーマルのマスクとして運用しています。

元のテクスチャ(左)と、そこから作り分けた3種類のノーマル(右)

光沢と透け感を重視したタイツ・ストッキング表現

タイツは「起伏に応じた陰影」と「光沢」、ストッキングはさらに「肌が透けて見える感じ」と「細かな質感」を重視し、それぞれの表現をマテリアルで組み合わせています。起伏に応じた陰影にはノーマルと光源方向の内積を使用し、脚の形状と光源の向きに応じた明暗を作っています。

光沢には異方性スペキュラを採用。タンジェントとハーフベクトル(※)の内積を利用し、脚の形に沿ってつながる光沢を表現しています。ハーフベクトルを求める際には視線ベクトルの比重を大きくし、視点を動かしたときの光沢の変化を強調。タンジェントも、ピクセルごとのノーマルと基準方向から求め、ノーマルの細かな変化を光沢へ反映するようにしています。
※ 光源ベクトルと視線ベクトルを加算し、正規化したベクトル

ストッキングの透け感には、ノーマルと視線ベクトルの内積を使い、見る角度によって肌が透けて見える度合いが変わるように調整しています。

さらに、膝を曲げる動きによっても見え方が変わるようにしています。

Custom Primitive Dataを通じて、ブループリントから膝の曲げ角度に応じた値をマテリアルへ渡します。曲げ角度の値とマスクテクスチャを組み合わせることで、膝を曲げたときの透け具合の変化を表現しています。

ラプラシアンフィルタでアウトラインを描く

アウトラインはポストプロセスで表現。画素間の急な変化を検出するラプラシアンフィルタを用い、カスタムデプスの差でキャラクターなどの境界を判定しています。

本作では、キャラクターのディザ表現との相性を考慮して、アウトラインを輪郭の内側に描く構成を採用しています。外側に線を描くと、透けて見える部分で線が過度に目立ってしまったといいます。

オブジェクトの識別に使うステンシル値を、ディザー表現中だけ変えて線を消す案もありましたが、開発終盤に既存の表現ロジックを変更するリスクを避けるため、内側に描く方式を維持したそうです。

キャラクター内部のアウトラインはラフネスで制御

服や肌など、キャラクターの内部にあるパーツのアウトラインをきれいに描くには別の工夫が必要でした。ノーマルに基づくアウトラインでは、面の向きの細かな変化まで検出され、意図しない場所にも線が出てしまったといいます。

そこで注目したのがラフネスです。ラフネスは本来、表面の粗さを表す値ですが、本作のカスタムシェーダーでは陰影計算に使われていませんでした。

パーツごとに異なる値をラフネスに設定しておけば、G-Bufferから各パーツの境界を検出できます。SceneTextureノードからラフネスの情報を取り出してラプラシアンフィルタを適用し、狙ったパーツの境目に線が引けるようになりました。

パーツごとにラフネス値が分かれている様子

本作では、そのほかにもステンシル値やシェーディングモデルIDを、アウトライン用の情報として利用しているとのことです。

一方、モバイル環境では、処理負荷に加え、G-Buffer由来のScene Textureを利用できない制約がありました。そこで、モバイルではオブジェクトの外周に絞ってアウトラインを表示させています。

アウトラインの色や太さも制御

また、線の彩度や明度には、Scene ColorやBase Colorが反映されるようにしています。

肌や髪の色味に合わせて調整したアウトライン

画面上で同じ太さの線を描き続けると、キャラクターが遠ざかって小さくなるほど、線だけが相対的に太く見えます。

そこで、カメラからの深度とFOVを使い、線の太さや細部の出方を調整しています。

遠すぎるキャラクターでは線を描かないようにし、画面上の大きさが変わっても線の印象が崩れにくくしている

アウトラインの制御に深度を使うと、球形のオブジェクトに不要な線が現れる問題がありました。

そこで、球形のオブジェクトはステンシル値で識別し、対象だけ線の太さや細部の出方を別の方法で調整するようにしています。

唇の光沢や毛並みもマテリアルで表現

講演後半では、キャラクターの細部や背景に加えた工夫も紹介されました。

唇の質感を向上させるため、ノーマルとハーフベクトルの内積に基づく光沢を適用。マスクで表示範囲を唇の一部に絞っています。

カメラを動かしたときに光沢の位置が動きすぎるのを抑えるため、唇の光沢で使われるハーフベクトルは、視線方向の比重を下げています。

光沢は小さな調整ながら、キャラクターの印象に大きく寄与したという

動物型モンスターの毛には、視差によって厚みを感じさせる表現を加えました。

視差オクルージョンマッピング(Parallax Occlusion Mapping)は求める毛の表現に多くのサンプリングが必要だったため、本作では目でも使ったBumpOffsetを採用。BumpOffsetを何重にも適用することで、長さや密度を調整できるファー表現を実現しました。

スカイライトの色味を取り込み、キャラを背景となじませる

本作では、通常のスカイライトによる陰影が、目標とするトゥーン表現になじまなかったとのこと。

ただし、キャラクターへのスカイライト適用を外すと、背景とキャラクターの色味がなじまなくなります。また、スカイライト自体を単純化すると背景の陰影表現が意図せず変わってしまいます。

そこで、キャラクターへの適用は外しつつも、マテリアルで環境光の色味を補う方針を採用。SkyLightEnvMapSampleでスカイライト用のキューブマップから指定方向の色を参照しています。得た色をベースカラーにオーバーレイで合成することで、陰影表現を大きく変えずに、背景の色味をキャラクターへ反映できるようになりました。

半透明を使わないガラス表現

背景のガラスでは、半透明オブジェクトの描画順による表示の問題が起きていました。そこで、Scene Captureでキューブマップに記録した景色をガラス面に表示して、向こう側が透けて見えるようにしています。

キューブマップは、参照する方向によって取り出す景色が変わります。アン氏はその見え方を調整しやすくするため、参照方向を決める反射ベクトルの計算を自作したそうです。

キューブマップを活用し、半透明を使わずに透過を模したガラス

Substrateを使ったトゥーン表現の可能性

講演では、UE5.8で実験的に導入された「Substrate Toon BSDF」の検証結果も紹介されました。

アン氏は「思ったより使いやすい」としつつ、顔の影を狙いどおりに整えるには課題が残るといいます。アン氏が試したFacial SDFは、テクスチャで顔に落ちる影の形を制御しますが、陰影の調整に必要なShadow Attenuationの調整項目が見当たらず、エンジン側の修正が必要に見えたそうです。

一方で、エンジンを改造せずに既存のライトシステムを使える点は、品質面でも有利だとアン氏はいいます。

『モンギル』の開発者が捉える、アニメ調表現のトレンド

講演の締めくくりに、アン氏はアニメ調表現のトレンドを、「圧倒的なクオリティ」「オタク好みの画風」「唯一無二の世界観とムード」という3つの方向性で捉えていると語りました。

そのうえで、どう開発するかと同じくらい、何を表現するかが重要だと強調しました。キャラクターの魅力を引き出すには、見せたい要素を具体化し、その実現に合う手法を選ぶことが欠かせないといいます。

アン氏は、AIの活用でも、必要なツールや機能を挙げるだけでなく、何をどのように作るかまで具体的に伝え、分析と計画を明確にすることがより良い結果につながるとの考えを示し、講演を締めくくりました。

「Unreal Fest Tokyo 2026」公式サイト『モンギル:STAR DIVE』公式サイト

関連記事

Unityでも無料で使えるEOS!オンラインマルチプレイだけじゃない約20個の機能をEpic公式が紹介【Unreal Fest Tokyo 2026】
2026.11.05
UE6で完全移行が決まった「Verse」の基本をおさらい。Epic GamesのVerseエバンジェリストが解説する、プログラミング言語としての特徴【Unreal Fest Tokyo 2026】
2026.11.05
「Unreal MCPを入れて終わり」にしない!LLMが使えるプロジェクト専用ツールの作り方【Unreal Fest Tokyo 2026】
2026.11.04
UE6は最初からBP廃止へ方針転換、UE5.9は来週プレビュー版リリース。Epic Games CEOが登壇した基調講演をレポート【Unreal Fest Tokyo 2026】
2026.11.03
UEやMetaHumanをAI学習データとして使用可能に。UEのエンドユーザーライセンス契約が改定
2026.11.03
UE6、アクター・ブループリントが「非推奨」から「削除」へ。C++ Gameplay Frameworkも廃止し、Verseへ完全移行
2026.11.03

注目記事ランキング

2026.10.29 - 2026.11.05
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

レンダリング(Rendering)
レンダリング コンピューターグラフィックスにおける、各種データ(3Dモデルなど)をプログラムを用いて計算し、画像として表示すること。レンダリングを行うプログラムをレンダラー(Renderer)と呼ぶ。
VIEW MORE

Xで最新情報をチェック!