セルシェーディングとは
公開日:2023-07-01/更新日:2026-XX-XX
アニメ調の3DCGを自分でも作ってみたものの、陰影の段差が汚く出たり、輪郭線が思うように出せずに手が止まった経験はないでしょうか。セルシェーディングとは、3DCGの陰影を数段階に区切り、輪郭線を加えることで、手描きのセル画アニメやイラストのように見せるレンダリング技法です。仕組みを分解すると、やっていることは「陰影をどう階調化するか」と「輪郭線をどこで作るか」の2つに集約されます。この記事では、Blender・Arnold・Unreal Engineの公式ドキュメントを根拠に、その2つの仕組みとツール別の実現手段、そして手法ごとの制約までを順に整理します。
セルシェーディングとは
セルシェーディング(cel shading)とは、3DCGの陰影を数段階に区切り、輪郭線を加えることで、手描きのセル画アニメやイラストのように見せるレンダリング技法です。
同じ技術は「セルルック」「トゥーンレンダリング」「トゥーンシェーディング」とも呼ばれ、それを実現するシェーダー(表面の描画方法を定義する部品)は「トゥーンシェーダー」「セルシェーダー」と呼ばれます。呼び名は多いものの、指している中身はほぼ同じだと考えて差し支えありません。
通常のフォトリアル系のレンダリングでは、光の当たり方に応じて明るさが連続的に変化します。これに対してセルシェーディングでは、その連続的な明暗をあえて数段階に区切ります。平板で境界のはっきりした陰影が生まれ、そこに輪郭線が加わることで、アニメ調の絵になるという流れです。3DCGそのものの前提を確認したい方は3DCGの基礎、描画処理全体の流れはレンダリングの仕組みもあわせてご覧ください。
写実を目的としないこうした描画は、ノンフォトリアリスティックレンダリング(NPR)と総称されます。Blenderの公式マニュアルでも、Shader to RGB ノードは主にNPRで、BSDFの出力に追加のエフェクトを適用するために使われると説明されています。
もうひとつ、最初に押さえておきたい点があります。セルシェーディングで単純化されているのは表面の質感(マテリアル)の見え方であって、モデルそのものではありません。モデルは通常の3DCG制作と同じように作られます。「アニメ調=簡単に作れる」わけではない、というのがこの技法の実際のところです。
セルルック・トゥーンレンダリングとの違い
用語が混在して見えるのは、指す対象の粒度が少しずつ違うためです。実務では「セルルック」は完成した映像の見た目を指し、「トゥーンシェーダー」はそれを実現するための部品を指す、という使い分けをされることが多くあります。「トゥーンレンダリング」は描画処理そのものを指す言い方です。
とはいえ、いずれも厳密に定義が分かれている用語ではありません。求人票やチュートリアルで異なる呼び名が出てきても、同じ領域の話をしていると受け取って問題ないでしょう。
仕組み①:陰影を段階に区切る
セルシェーディングの中核は、ライトの当たり方という連続的な値を、数段階の色に置き換える処理です。ここが決まれば、絵の印象の大半が決まります。
Blenderでは、この処理を担う代表的なノードが2つあり、しかも使えるレンダーエンジンが分かれています。ひとつが Toon BSDF ノードです。BSDF(双方向散乱分布関数)とは、光がその表面でどう反射・散乱するかを定義する仕組みを指します。公式マニュアルによれば、Toon BSDF は Cycles レンダーエンジン専用のノードです。Component プロパティで Diffuse(拡散反射ベース)と Glossy(光沢反射ベース)を切り替え、Size 入力は 0.0〜1.0 の範囲が反射角0°〜90°に対応します。Smooth 入力は、全反射と無反射の間の遷移を、指定した角度範囲でなだらかにする役割を持ちます。
もうひとつが Shader to RGB ノードです。こちらは EEVEE 専用で、他のレンダーエンジンでは使用できないと公式マニュアルに明記されています。BSDFの出力を色として扱えるようにするノードで、公式マニュアルには「拡散BSDFの出力にカラーランプを通すことで、柔軟なトゥーンシェーダーを作れる」という例が挙げられています。
ランプで階調を作る
階調化の実体は、明るさの値をどこで区切り、何段階にするかの設計です。Blenderであれば、前述のカラーランプ(値の並びを色の帯に置き換えるノード)がその役割を担い、境界の位置と段数はこのノードの設定で決まります。
同じ考え方は他のレンダラでも使われています。Autodesk公式のArnoldチュートリアルでは、toonシェーダーの base_tonemap に白黒のランプを接続し、白の量を増やすことで、シーンのライティングに対するベースシェーディングの反応を調整できると説明されています。ランプで陰影の出方をコントロールするという発想は、ツールをまたいで共通していると考えてよいでしょう。
レンダーエンジンによって使えるノードが違う
ここは独学でつまずきやすいポイントです。Toon BSDF は Cycles 専用、Shader to RGB は EEVEE 専用という排他的な関係にあるため、参考にしたチュートリアルと自分のレンダーエンジンが違うと、そもそも同じノードが見つかりません。
なお、EEVEEで Shader to RGB を使った場合、接続されたBSDFのライティングは「Blendedマテリアルと同様に評価され、その制限を継承する」と公式マニュアルに記載されています。手順をなぞる前に、自分がどちらのエンジンで作っているかを確認しておくと遠回りを避けられます。
仕組み②:輪郭線を出す3つのアプローチ
セルシェーディングのもうひとつの柱が輪郭線です。作り方は大きく3系統に分かれます。モデル側で作るか、レンダラ側で描かせるか、描画後のポストプロセスで検出するか。まずは全体像を押さえてください。
| アプローチ | 代表的な手段 | 得意なこと | 注意点 |
|---|---|---|---|
| モデル側 | 複製したジオメトリの法線を反転させて縁だけを残す背面法(Blenderでは Solidify モディファイアの Flip Normals と Material Offset を利用) | 線の太さをモデル単位で調整できる | ジオメトリが増える。Rim Fill は処理が遅いため不要なら無効にすべきとされる |
| レンダラ側 | Freestyle(Blender)/toonシェーダー+contourフィルタ(Arnold) | エッジの種類ごとに線種を制御できる | Freestyleはメモリ消費が大きい。Arnoldは filter_type を contour にしないとエッジが出ない |
| ポストプロセス側 | 深度・法線などのシーンバッファを参照するポストプロセスマテリアル(Unreal Engine) | 画面全体へ一括で適用できる | シーンバッファから得られる情報の範囲に依存する |
どれが正解というものではなく、目的とパイプラインで選ぶ性質のものです。以下、順に見ていきます。
モデル側で作る(背面法)
モデルをひと回り大きく複製し、面の向き(法線)を反転させて内側から見えるようにすると、シルエットの縁だけが残ります。これを線として使うのが、一般に背面法(インバーテッドハル)と呼ばれる手法です。
Blenderでこの構成を作るときによく使われるのが Solidify モディファイアです。公式マニュアルによれば、Flip Normals オプションは内側・外側の両面を含む全ジオメトリの法線を反転します。また Material Offset により、生成されたジオメトリに別のマテリアルスロットを割り当てることができ、値0は元と同じマテリアルを使うことを意味します。Only Rim を有効にすると、Simple モードでは押し出し面と生成された垂直なリムのみが、Complex モードでは生成された垂直なリムのみが残ります。
なお、公式マニュアルはこのモディファイアを輪郭線用途として推奨しているわけではありません。あくまで、Solidify が持つ法線反転とマテリアル割り当ての機能を組み合わせて線を作る、という一般的な使い方だと理解しておくとよいでしょう。
レンダラ側で描く(Freestyle・Arnold toon)
レンダラ自身に線を描かせる方法もあります。Blenderの Freestyle は、ノンフォトリアリスティックなライン描画機能で、メッシュデータとZ深度情報をもとに、選択したエッジタイプに線を描くと公式マニュアルで説明されています。構造としては、1つのビューマップが複数の Line Set を持ち、各 Line Set に1つの Line Style が適用される形です。輪郭だけでなく、折れ目や輪郭内部の線などを種類ごとに描き分けられるのが強みです。
Maya・3ds Max で使われるArnoldレンダラーの特徴にも toon シェーダーがあります。ここで注意が必要なのは、Autodesk公式のチュートリアルに「レンダー設定の filter_type を contour に変更しないと、toon のエッジシェーディングはレンダリングに現れない」と明記されている点です。一般的に、エッジが出ないというつまずきは、まずこの設定を確認するのが早道です。線の細かさは edge_detection の angle_threshold を下げることで上げられ、太すぎる場合は edge_width_scaling を下げると調整できるとされています。ただし、チュートリアル内の具体的な数値はその作例に合わせたものなので、一般的な推奨値として扱わないほうが安全です。
Autodesk公式のもう一方のチュートリアルでは、facing ratio を使って擬似的に同種の効果を作る方法に触れたうえで、「この種のシェーディング効果には toon シェーダーを使うほうが良い」と述べられています。また、レンダラ標準の機能とは別に、輪郭線表現に特化した外部プラグインを組み合わせる現場もあります(Pencil+ などの輪郭線描画プラグイン)。
ポストプロセスで検出する(Unreal Engine)
リアルタイム描画では、いったん描いた画面に対して後段で線を足すアプローチが取られます。Unreal Engine のポストプロセスマテリアルは、SceneTexture マテリアル式を通じて、深度や法線などのシーンバッファ(GBuffer=描画途中の情報を保持する中間バッファ)を参照できます。
適用タイミングは Blendable Location で指定します。公式ドキュメントでは、Before Tonemapping はHDRのシーンカラーを扱い、深度や法線を含むGBufferのルックアップに関する問題を解決できるとされています。一方の After Tonemapping は、トーンマッピングとカラーグレーディングの後に処理され、LDRで精度要求が低いためパフォーマンス面で有利だと説明されています。
線そのものの作り方については、公式のStylized Renderingサンプルの解説が参考になります。輪郭線は SceneTexture 式でシーン深度をサンプリングし、UV座標を上下左右にわずかにずらしてサンプリングすることで作られている、と記載されています。ここで距離の差が大きい箇所が、シルエットの縁として浮かび上がるという理屈です。ただし、このサンプル自体は UE4.25 の時点で非推奨とされ、UE4.24 が最後の対応バージョンだと公式ページに明記されています。現行バージョンでそのまま使える手順ではなく、考え方を理解するための資料として読むのが適切です。
仕組み③:陰と線を安定させるモデリングの工程
シェーダーの設定が正しくても、モデル側の作りが荒いと絵は安定しません。理由は単純で、陰影を段階に区切ると、面のわずかな向きの違いがそのまま陰の「割れ」として拡大されて見えてしまうからです。フォトリアル系の描画では滑らかなグラデーションに埋もれていた粗が、階調化によって輪郭を持って現れる、と考えると分かりやすいでしょう。
そのため、アニメ調の制作では面の向きや面の流れを意図的に整える工程が重要になります。Blenderの Toon BSDF に Normal 入力があり、デフォルトのシェーディング法線を上書きできるのも、法線の制御が表現の要になるためです。ノード側から法線を差し替えるか、モデル側で法線を整えるかという違いはあっても、狙いは同じところにあります。
冒頭でも触れたとおり、セルシェーディングで単純化されているのはマテリアルの見え方であって、モデルそのものは通常の3DCG制作と同じように作られます。むしろ、ポリゴンが粗いとエッジや陰影の境界がきれいに出にくくなるため、必要な密度は確保しておく必要があります。 モデリングの基本を押さえたうえで、アニメ調特有の作法を上乗せしていくイメージです。
ツール別の実現手段とプリレンダー・リアルタイムの分岐
手段を選ぶときの最初の分岐は、1枚ずつ時間をかけて描くプリレンダーか、毎フレーム即座に描くリアルタイムかという点です。ここが決まると、使えるノードも輪郭線の作り方も自動的に絞り込まれます。プリレンダーとリアルタイムの違いを整理しておくと、この後の選択が早くなります。
| ツール | 階調化の主な手段 | 輪郭線の主な手段 | 備考 |
|---|---|---|---|
| Blender(Cycles) | Toon BSDF | Freestyle / Solidify を使った背面法(一般的な手法) | Toon BSDF は Cycles 専用 |
| Blender(EEVEE) | Shader to RGB+カラーランプ | Solidify を使った背面法(一般的な手法) | Shader to RGB は EEVEE 専用 |
| Maya・3ds Max(Arnold) | toonシェーダー/base_tonemapのランプ | toonシェーダーの edge+contourフィルタ | filter_type を contour にする必要がある |
| Unreal Engine | ポストプロセスマテリアル | シーン深度のサンプリング | UE5.8で実験的機能として Substrate Toon Shading を導入 |
Unreal Engine については、2026年時点の新しい動きも押さえておくとよいでしょう。公式リリースノートによれば、UE5.8では実験的機能(experimental)として Substrate Toon Shading が導入されました。これは Substrate Blendable GBuffer(レガシー)モード上に構築された、様式化されたノンフォトリアリスティックレンダリングの仕組みです。ローカルライト・スカイライト・Lumenグローバルイルミネーションを含む、すべてのライトタイプに対応するとされています。機能としては、ディザリングを伴うランプベースの拡散・スペキュラ制御、ハッチングパターンによるセルフシャドウ減衰、異方性スペキュラハイライト、グローバルイルミネーションのスケール制御などが挙げられています。あくまで実験的機能として案内されている段階のため、確立された標準手法として扱うのは避けたほうがよいと考えられます。
なお、プリレンダーで尺の長い映像を扱う場合、レンダリング時間そのものが制作上の制約になります。クラウドレンダリングのような選択肢を含めて、時間の見積もりを早めに立てておくと安全です。
どちらを選ぶかの考え方
一般的な目安としては、映像作品として1カットの絵の完成度を追いたいならプリレンダー、ゲームや実機デモのように動かしながら見せるならリアルタイム、という整理になります。
ただし、この判断は最終的な納品形式と制作規模に強く依存します。同じアニメ調でも、映像用に作ったマテリアルがそのままゲームエンジンで再現できるとは限りません。どちらで作るかは、目指す進路や関わりたい制作領域とあわせて考えるのが現実的でしょう。
※ノード名・機能名・仕様は2026年9月時点の各社公式ドキュメント(Blender公式マニュアル/Unreal Engine公式ドキュメント/Autodesk公式ヘルプ)の記載にもとづく整理です。バージョンによって名称や挙動が変わるため、導入時は公式ページで最新の情報を確認してください。
つまずきやすいポイントと各手法の制約
各手法には、公式ドキュメントに明記された制約があります。使えないという意味ではなく、知ったうえで選ぶための材料として整理しておきます。
- Freestyle:ビューレイヤー内の全メッシュオブジェクトを一度に読み込むためメモリ消費が大きいと公式マニュアルに記載されています。加えて、面と面の交差部分のエッジを検出できない、出力にZ深度情報を持たない、パノラマカメラに非対応という制約も挙げられています。
- Shader to RGB:この変換を使うとPBRパイプラインが壊れ、アンビエントオクルージョン・コンタクトシャドウ・ソフトシャドウ・スクリーンスペース屈折といった効果と組み合わせたときに結果が予測しづらくなる、と公式マニュアルに明記されています。またレンダーパスでも期待した結果にならないとされています。合成前提のパイプラインでは、この点が効いてきます。PBR(物理ベースレンダリング)の考え方を前提にした機能とは相性が悪い、と理解しておくとよいでしょう。
- Arnold:レンダー設定の filter_type を contour にしないと、toon のエッジシェーディングはレンダリングに現れません。
- Solidify:Rim Fill は内側と外側の面の間にエッジループと面を生成しますが、処理が遅いため不要であれば無効にすべきだと公式マニュアルに記載されています。
いずれも「制約があるから使わない」ではなく、作りたい絵と工程に合う手法を選ぶための判断材料です。複数の手法を併用する現場も珍しくありません。
セルシェーディングが使われる仕事と市場
セルシェーディングはアニメやゲームの映像制作で用いられる技法であり、担い手は3DCG制作に関わる職種です。
厚生労働省の職業情報提供サイト(job tag)では、この領域は職業名「CG制作」として掲載され、別名に「CGデザイナー」「CG制作者」が併記されています。仕事の内容は「コンピュータで図形、絵、映像、アニメーションなどのコンピュータグラフィック(CG)を制作する」と説明されています。同サイトに掲載されている平均年収は539.6万円、労働時間は月164時間で、いずれも令和7年賃金構造基本統計調査の数値です。就業者数は201,100人(令和2年国勢調査)とされています。これはCG制作という職業全体の数値であり、セルシェーディングを専門とする職種の統計ではない点にはご注意ください。仕事内容の詳細は3DCGデザイナーの仕事内容でも整理しています。
市場の規模感も見ておきましょう。総務省の令和7年版情報通信白書によれば、2023年の国内コンテンツ市場の規模は12兆5,833億円で、ソフト形態別の市場構成比では映像系ソフトが全体の60%近くを占めているとされています(出典:総務省情報通信政策研究所「メディア・ソフトの制作及び流通の実態に関する調査」)。映像系ソフトはアニメだけを指すものではありませんが、映像制作を支える技術が置かれている土台の大きさを示す参考値にはなるはずです。
よくある質問
Qセルシェーディングとセルルックは違うものですか?
ほぼ同義で使われる呼び名の違いです。実務では「セルルック」が完成した映像の見た目を、「トゥーンシェーダー」がそれを実現する部品を指す、という使い分けをされることが多くあります。
QBlenderで輪郭線を出すにはどうすればよいですか?
大きく2通りあります。ひとつは Solidify モディファイアの法線反転とマテリアルオフセットを利用してモデル側で線を作る背面法、もうひとつは Freestyle にライン描画させる方法です。Freestyle はビューレイヤー内の全メッシュを一度に読み込むためメモリ消費が大きい点に注意してください。
Qリアルタイムでもセルシェーディングはできますか?
できます。BlenderのEEVEEでは Shader to RGB を使う方法があり、Unreal Engine ではポストプロセスマテリアルでシーンバッファを参照する方法があります。加えて UE5.8 では、実験的機能として Substrate Toon Shading が導入されています。
まとめ:セルシェーディングは「階調」と「線」の設計
セルシェーディングは、陰影を数段階に区切る階調化と、輪郭線をどこで作るかという2つの設計に集約されます。輪郭線はモデル側・レンダラ側・ポストプロセス側の3系統に分かれ、それぞれに公式ドキュメントで示された制約があります。Cycles と EEVEE で使えるノードが違うように、レンダーエンジンやツールの選択が手段を規定する点も、最初に押さえておきたいところです。
ここまでの内容は、実際にノードをつないで陰影の段差を見比べてみると一気に腑に落ちます。手を動かしながら、自分の作りたい絵に合う組み合わせを探してみてください。より体系的に学びたい場合は、3DCGデザイナー専攻のような実務に沿ったカリキュラムを検討するのもひとつの方法です。
セルシェーディングを実務レベルで学びたい方へ
陰影の階調設計や輪郭線の作り込みは、実際のパイプラインの中で試してこそ身につく領域です。デジタルハリウッドの3DCGデザイナー専攻では、モデリングからマテリアル・レンダリングまでを実務の流れに沿って学べます。どのコースが合うかは目的や現在のスキルによって異なるため、無料のスクール説明会で個別に相談することをおすすめします。
説明会・資料請求ともに無料/3DCG系の専攻は東京本校・大阪本校で開講/オンライン参加可
デジタルハリウッド スクール 編集部
1994年の開校以来、Web・映像・3DCG・AIなどデジタルクリエイティブの教育に取り組んできたデジタルハリウッドの編集部です。本記事のノード名・機能名・仕様は、Blender公式マニュアル、Unreal Engine公式ドキュメント、Autodesk公式ヘルプ(いずれも2026年9月時点)の記載にもとづいて整理しています。年収・市場規模は厚生労働省 職業情報提供サイト(job tag)および総務省「令和7年版 情報通信白書」の公開データを参照しています。