はじめに
画面モードには、Solid / Material Preview / Rendered / がある.Solid表示ではShader Nodeは処理されないので,Shader Nodeで作った炎は表示されない.それでもSolid表示でそれらしい炎を作りたい.
今回は,必要な情報をまとめた.
【結論】
Blenderの3D Viewで炎を扱う場合、表示モードごとに目的を分けるのが実務的です。特に重要なのは、Solid表示ではShader Nodeによる炎は基本的に見えないため、Solid用には「メッシュや表示色」、Render系表示には「Shader Node」を使うという考え方です。
Solid / Material Preview / Rendered / Final Render の違い
Blenderで炎を作る場合、Shader Nodeを使えばEmission、Transparent、Noise Texture、ColorRampなどを組み合わせて、炎らしい見た目を作ることができます。
しかし、3D Viewの表示モードによって、見え方は大きく変わります。
特に注意が必要なのは、Solid表示ではShader Nodeで作った炎の見た目は基本的に反映されないという点です。Solid表示は、モデリングや形状確認を目的とした簡易表示であり、公式マニュアルでも「shader nodesを使わない簡略表示」と説明されています。
出典:https://docs.blender.org/manual/en/latest/editors/3dview/display/shading.html
1. Solid表示での炎表現
目的
Solid表示は、炎の最終的な見た目を確認する画面ではなく、主に次の確認に使います。
| 確認内容 | Solidでの役割 |
|---|---|
| 炎の位置 | どこに炎があるか確認する |
| 炎の大きさ | キャラクターや背景とのスケール確認 |
| 炎の動き | driverやshape keyによる揺らぎ確認 |
| 作業性 | 重いshader表示を避けて軽く編集する |
表現方法
Solidでは、Shader Nodeの炎表現は基本的に見えません。したがって、Solid用には次のような表現を使います。
| 方法 | 内容 | 実用性 |
|---|---|---|
| メッシュ炎 | 炎形状の板ポリゴンやメッシュを作る | 高い |
| カーブ炎 | 炎の輪郭をカーブで作る | 中 |
| Object Color | Object Properties > Viewport Displayの色を使う | 高い |
| Material Color | SolidのColorをMaterialにして表示色を使う | 高い |
| Driver | Scale / Rotation / Location / Shape Keyを揺らす | 高い |
Object Colorは、WireframeおよびSolid表示で使われる色として公式マニュアルに説明されています。
出典:https://docs.blender.org/manual/en/latest/scene_layout/object/properties/display.html
Solid用の構成例
Flame_SolidPreview
├─ 炎形状の板ポリゴン
├─ 赤・橙・黄色のViewport Display Color
├─ driverでScaleやRotationを揺らす
└─ 最終レンダーには写さない
Solid用の炎は、本物の炎というより作業用のガイドと考えると分かりやすいです。
2. Material Previewでの炎表現
目的
Material Previewは、マテリアルの見た目を比較的軽く確認するための表示モードです。
炎の場合は、次の確認に向いています。
| 確認内容 | Material Previewでの役割 |
|---|---|
| 炎の色 | 赤、橙、黄、白のグラデーション |
| 発光感 | Emissionの強さ |
| 透明感 | Transparent BSDFやAlpha |
| ノイズ模様 | Noise TextureやColorRamp |
| 板ポリ炎の見え方 | カメラ方向からの見え方確認 |
ただし、Material Previewは最終レンダーと完全に同じではありません。特に、レンダーエンジンやライト設定、透明設定、ボリューム表現によって差が出ます。
表現方法
Material Previewでは、Shader Nodeを使った炎表現が有効です。
代表的な構成は次の通りです。
Texture Coordinate
↓
Noise Texture
↓
ColorRamp
↓
Emission
↓
Material Output
より炎らしくする場合は、Transparent BSDFとEmissionをMix Shaderで混ぜ、Alphaやノイズで透け方を制御します。
3. Rendered表示での炎表現
目的
Rendered表示は、最終レンダーに近い見た目を3D View上で確認するために使います。
炎では、次の確認に向いています。
| 確認内容 | Renderedでの役割 |
|---|---|
| 実際の発光 | 周囲への光の影響 |
| 背景とのなじみ | 暗所・明所での見え方 |
| 透明表現 | Alpha Blend / Alpha Hashedなど |
| Volume表現 | 煙や炎の厚み |
| 最終画質 | Eevee / Cyclesでの見え方 |
Rendered表示ではShader Nodeが評価されるため、炎の本番表現に向いています。
表現方法
Rendered用の炎は、次のようなShader Node構成が実用的です。
| 表現 | 使用する主なノード |
|---|---|
| 発光する炎 | Emission |
| 色のグラデーション | ColorRamp |
| 揺らぎ模様 | Noise Texture / Voronoi Texture |
| 透明感 | Transparent BSDF / Alpha |
| 煙・体積感 | Principled Volume / Volume Scatter |
| 炎の強度調整 | Math / Mix / ColorRamp |
Solidでは見えなかった炎の見た目は、Material PreviewまたはRenderedで確認します。
4. Final Renderでの炎表現
目的
Final Renderは、実際に画像や動画として出力される結果です。
Rendered表示で確認していても、最終レンダーでは次の要素で見え方が変わることがあります。
| 影響要素 | 内容 |
|---|---|
| レンダーエンジン | Eevee / Cyclesで表現が異なる |
| 透明設定 | Blend ModeやAlpha設定が影響 |
| ライト設定 | 炎の発光感や周囲の明るさに影響 |
| カラーマネジメント | Filmic / Standardなどで色が変わる |
| Bloom / Glare | 発光の見え方に影響 |
| Sampling | ノイズや透明の品質に影響 |
最終的な炎の品質は、3D Viewだけでなく、必ずFinal Renderでも確認する必要があります。
Solid用炎とRender用炎を分ける場合の問題
炎表現では、次のように2つのオブジェクトを用意したくなることがあります。
Flame_SolidPreview:Solid表示用のメッシュ炎
Flame_Render:Rendered用のShader Node炎
この考え方自体は有効です。
しかし、注意点があります。
Blender標準では、3D Viewの表示モードがSolidかRenderedかによって、別々のオブジェクトを完全自動で出し分ける単純な設定は基本的にありません。
そのため、何もしないと、
- Solid用炎
- Render用炎
が同時に表示されてしまうことがあります。
解決方法1:1つの炎オブジェクトにまとめる
最も単純で安定する方法は、炎を1つのオブジェクトにまとめることです。
Flame_Main
├─ メッシュ形状:Solidで見える
├─ Viewport Display Color:Solid用の色
├─ Shader Node:Rendered用の炎表現
└─ Driver:ScaleやShape Keyを揺らす
この方法では、SolidでもRenderedでも同じオブジェクトを使います。
| 表示モード | 見える内容 |
|---|---|
| Solid | 炎メッシュと表示色 |
| Material Preview | Shader Nodeの炎 |
| Rendered | Shader Nodeの炎 |
| Final Render | Shader Nodeの炎 |
二重表示の問題が起きにくいため、板ポリゴン型の炎には特に向いています。
解決方法2:CollectionやView Layerで切り替える
Solid用炎とRender用炎を別オブジェクトにしたい場合は、CollectionやView Layerで管理します。
Collection: FLAME_SOLID
└─ Flame_SolidPreview
Collection: FLAME_RENDER
└─ Flame_Render
View Layerを分ける場合は、次のようにします。
| View Layer | 表示する炎 | 用途 |
|---|---|---|
| WORK_SOLID | Flame_SolidPreview | 作業・位置確認 |
| CHECK_RENDER | Flame_Render | レンダー確認 |
| FINAL_RENDER | Flame_Render | 最終出力 |
この方法は、標準機能だけで管理できるため安定しています。
View Layerは、コレクションの表示状態を分けて管理できる仕組みとして説明されています。
出典:https://docs.blender.org/manual/en/latest/render/layers/introduction.html
Collectionは、オブジェクトを整理・表示制御する単位として利用できます。
出典:https://docs.blender.org/manual/en/latest/scene_layout/collections/collections.html
解決方法3:Pythonアドオンで自動切替する
より高度な方法として、Pythonで3D Viewの表示モードを監視し、
- Solidなら
Flame_SolidPreviewを表示 - Material Preview / Renderedなら
Flame_Renderを表示
という自動切替を行うことも可能です。
考え方は次の通りです。
if viewport shading == SOLID:
Flame_SolidPreview = 表示
Flame_Render = 非表示
if viewport shading == MATERIAL or RENDERED:
Flame_SolidPreview = 非表示
Flame_Render = 表示
Blender Python APIには、3D ViewのShading Typeに関する情報が用意されています。
出典:https://docs.blender.org/api/current/bpy.types.View3DShading.html
ただし、複数の3D Viewを開いている場合、どのViewの状態を基準にするかという問題があるため、アドオン化する場合は設計が必要です。
Driverで炎の揺らぎを作る
Solid用炎でもRendered用炎でも、driverを使うことで炎の揺らぎを表現できます。
例えば、Solid用の炎メッシュの Scale Z に次のようなdriverを設定します。
1.0 + 0.08 * sin(frame * 0.25)
これにより、炎が上下に伸び縮みします。
左右揺れには Location X を使います。
0.03 * sin(frame * 0.37)
回転揺れには Rotation Z を使います。
0.08 * sin(frame * 0.22)
複数の板ポリゴンに少しずつ異なる式を入れると、より自然な炎の揺らぎになります。
おすすめの実務構成
ブログで推奨するなら、次の構成が分かりやすいです。
基本推奨:1オブジェクト方式
Flame_Main
├─ 炎形状メッシュ
├─ Solid用Viewport Color
├─ Render用Shader Node
├─ Driverによる揺らぎ
└─ 必要に応じてShape Key
メリット
- 二重表示になりにくい
- 管理が簡単
- Solidでも位置確認できる
- Renderedで本番の炎を確認できる
デメリット
- Solid用とRender用で形状を完全に変えたい場合は不向き
高度な構成:2オブジェクト方式
FLAME_SOLID
└─ Flame_SolidPreview
FLAME_RENDER
└─ Flame_Render
メリット
- Solid用とRender用を完全に分けられる
- 作業用ガイドと本番用炎を独立して調整できる
- Volume炎などにも対応しやすい
デメリット
- 同時表示されないように管理が必要
- View LayerやCollectionの切替が必要
- 完全自動化にはPythonが必要
まとめ
Blenderの炎表現は、表示モードごとに役割を分けると理解しやすくなります。
| 表示モード | 炎の表現方法 | 主な用途 |
|---|---|---|
| Solid | メッシュ、Object Color、Material Color、Driver | 位置・大きさ・動きの確認 |
| Material Preview | Shader Node | マテリアル確認 |
| Rendered | Shader Node、Emission、透明、Volume | 本番に近い見た目確認 |
| Final Render | Render Engineによる最終出力 | 画像・動画の完成確認 |
最も扱いやすいのは、1つの炎オブジェクトにSolid用の見え方とRender用のShader Nodeを持たせる方法です。
Solid用とRender用を別オブジェクトにする場合は、CollectionやView Layerで切り替えるか、Pythonアドオンで自動切替する設計が必要です。
【注意点・例外】
Solid表示は、炎の最終的な見た目を確認するための画面ではありません。あくまで作業確認用です。
発光、透明、ノイズ、ボリュームなどの本番表現は、Material Preview、Rendered、Final Renderで確認する必要があります。
また、Volume主体の炎や煙を使う場合は、Solidではほとんど確認できないため、簡易メッシュのガイドを併用する方が実務的です。
【出典】
- Blender Manual – Viewport Shading
https://docs.blender.org/manual/en/latest/editors/3dview/display/shading.html - Blender Manual – Object Viewport Display
https://docs.blender.org/manual/en/latest/scene_layout/object/properties/display.html - Blender Manual – Object Visibility
https://docs.blender.org/manual/en/latest/scene_layout/object/properties/visibility.html - Blender Manual – View Layers
https://docs.blender.org/manual/en/latest/render/layers/introduction.html - Blender Manual – Collections
https://docs.blender.org/manual/en/latest/scene_layout/collections/collections.html - Blender Python API – View3DShading
https://docs.blender.org/api/current/bpy.types.View3DShading.html
【確実性: 高】
2026/05/05, KenJin

![blender : solidとrenderの画面毎に炎を作る分ける~3D Viewで炎を表現する方法~情報収集編 [2026/05/05]](https://blender-sensei.myDS.me/wp-content/uploads/2026/04/cropped-d4cd7ac1381dc72b731d1c4cdf542dd3.png)