月: 2026年5月

  • blender : solidとrenderの画面毎に炎を作る分ける~3D Viewで炎を表現する方法~情報収集編 [2026/05/05]

    blender : solidとrenderの画面毎に炎を作る分ける~3D Viewで炎を表現する方法~情報収集編 [2026/05/05]

    はじめに

    画面モードには、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 ColorObject Properties > Viewport Displayの色を使う高い
    Material ColorSolidのColorをMaterialにして表示色を使う高い
    DriverScale / 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 PreviewShader Nodeの炎
    RenderedShader Nodeの炎
    Final RenderShader 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_SOLIDFlame_SolidPreview作業・位置確認
    CHECK_RENDERFlame_Renderレンダー確認
    FINAL_RENDERFlame_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 PreviewShader Nodeマテリアル確認
    RenderedShader Node、Emission、透明、Volume本番に近い見た目確認
    Final RenderRender Engineによる最終出力画像・動画の完成確認

    最も扱いやすいのは、1つの炎オブジェクトにSolid用の見え方とRender用のShader Nodeを持たせる方法です。
    Solid用とRender用を別オブジェクトにする場合は、CollectionやView Layerで切り替えるか、Pythonアドオンで自動切替する設計が必要です。


    【注意点・例外】
    Solid表示は、炎の最終的な見た目を確認するための画面ではありません。あくまで作業確認用です。
    発光、透明、ノイズ、ボリュームなどの本番表現は、Material Preview、Rendered、Final Renderで確認する必要があります。

    また、Volume主体の炎や煙を使う場合は、Solidではほとんど確認できないため、簡易メッシュのガイドを併用する方が実務的です。


    【出典】

    【確実性: 高】

    2026/05/05, KenJin