MaterialShading["material"]
続く曲面を素材"material"の外観で描画するように指定する三次元グラフィックス指示子である.
MaterialShading[{"material",col}]
指定された色 col を基調色として使う.
MaterialShading[parm1val1,parm2val2,…]
指定されたパラメータ parms を使う.
MaterialShading
MaterialShading["material"]
続く曲面を素材"material"の外観で描画するように指定する三次元グラフィックス指示子である.
MaterialShading[{"material",col}]
指定された色 col を基調色として使う.
MaterialShading[parm1val1,parm2val2,…]
指定されたパラメータ parms を使う.
詳細
- MaterialShadingは,物理ベースシェーディングあるいはPBR陰影処理としても知られている.
- MaterialShadingは,一般に,現実世界における光と素材のインタラクションの何らかの重要な側面をモデル化するような仕方で表面を描画するために使われる.
- MaterialShading["material"]は,表面反射率が素材"material"の光学的特性を近似するように指定する.
- 次は,使用可能な素材である.
- MaterialShading[{"material",col}]は素材"material"の基調色を指定する.
- MaterialShading[<|parm1val1,…|>]は,表面反射率が,物理,幾何学,照明の各特性 parmiに基づいて反射率方程式を近似するように指定する.
- 次は,使用可能な素材の色パラメータ parmiである.
-
"BaseColor" 素材の基調色 "EmissionColor" 曲面全体に放出される光の色 "SpecularColor" 鏡面反射の光の色 - 色パラメータ parmiの値 valiは次の形で与えられる.
-
col 色 Texture[image] 画像に基づいた2Dテクスチャ {…,s} 最終的な色に対する色の寄与割合 - 次は,使用可能な物理パラメータ parmiである.
-
"MetallicCoefficient" 素材表面の金属係数 "RoughnessCoefficient" 素材表面の粗さの係数 - 物理パラメータ parmiの値 valiは次の形式で与えられる.
-
s 表面の特性の割合 Texture[image] 画像に基づいた2Dテクスチャ - 次は,使用可能な幾何学パラメータ parmiである.
-
"SurfaceNormals" 表面の法線ベクトル - 幾何学パラメータ parmiの値 valiは次の形式で与えられる.
-
Texture[image] 画像に基づいた2Dテクスチャ {…,s} 表面法線の割合 - 次は,使用可能な素材のクリアコーティング被覆のパラメータ parmiである.
-
"CoatColor" コーティング被覆の色 "CoatRoughnessCoefficient" コーティング被覆の粗さの係数 - 次は,使用可能な異方性パラメータ parmiである.
-
"SpecularAnisotropyCoefficient" 鏡面反射の異方性係数 "CoatAnisotropyCofficient" コーティング反射の異方性係数 - 異方性パラメータ parmiの値 valiは次の形式で与えられる.
-
s 視野角に対する反射割合 {s,θ} 反射の回転 - 次は,グレージング角における使用可能な素材のパラメータ parmiである.
-
"SheenColor" 反射光の色 "SheenRoughnessCoefficient" 粗さの係数 - 次は,使用可能な光のパラメータ parmiである.
-
"AmbientExposureFraction" 表面の周辺光の割合 - 光のパラメータ parmiの値 valiは次の形式で与えられる.
-
s 表面の周辺光の割合 Texture[image] 画像に基づいた2Dテクスチャ - MaterialShading[]は,事実上,MaterialShading[<|"BaseColor"White|>]に等しい.
- MaterialShadingは,任意の色,Opacity,Texture,Glow,Specularityの設定を無効にする.
例題
すべて開く すべて閉じる例 (4)
Graphics3D[{MaterialShading["Iron"], Sphere[]}, Lighting -> "ThreePoint"]Graphics3D[{MaterialShading["Bronze"], KnotData["SolomonSeal", "ImageData"]}, Lighting -> "ThreePoint"]Plot3D[Sin[x + y ^ 2], {x, -3, 3}, {y, -2, 2}, PlotPoints -> 80, PlotStyle -> MaterialShading["Copper"], Mesh -> None, Lighting -> "ThreePoint"]Graphics3D[{MaterialShading["Gold"], ExampleData[{"Geometry3D", "Beethoven"}, "GraphicsComplex"]}, Boxed -> False, Lighting -> "ThreePoint"]スコープ (15)
基本的な用法 (6)
マテリアルシェーディングをグラフィックスプリミティブに適用する:
Graphics3D[{MaterialShading["Iron"], #}, Lighting -> "ThreePoint"]& /@ {Sphere[], CapsuleShape[], Cone[]}SphericalPlot3D[1 + Sin[5ϕ] / 5, {θ, 0, Pi}, {ϕ, 0, 2Pi}, Axes -> False, PlotStyle -> MaterialShading["Gold"], PlotPoints -> 40, Lighting -> "ThreePoint"]BarChart3D[Range[5], ChartElements -> [image], ChartStyle -> MaterialShading["Copper"], Lighting -> "ThreePoint"]Region[Style[MengerMesh[2, 3], MaterialShading["Clay"]], Lighting -> "Accent"]Graphics3D[{MaterialShading["Aluminum"], ExampleData[{"Geometry3D", "Galleon"}, "GraphicsComplex"]}, Lighting -> "ThreePoint", Boxed -> False]MaterialShading["Gold"]指定 (6)
Graphics3D[{MaterialShading["Electrum"], Sphere[]}, Lighting -> "ThreePoint"]素材のEntityを使う:
Graphics3D[{MaterialShading[Entity["Element", "Copper"]], Sphere[]}, Lighting -> "ThreePoint"]Graphics3D[{MaterialShading[{"Electrum", Cyan}], Sphere[]}, Lighting -> "ThreePoint"]Graphics3D[{MaterialShading[<|"BaseColor" -> Red, "MetallicCoefficient" -> 1.0, "RoughnessCoefficient" -> 0.8 |>], Sphere[]}, Lighting -> "ThreePoint"]LightDarkSwitchedを使ってライトモードとダークモードに異なる色を指定する:
graphic = Graphics3D[{MaterialShading[<|"BaseColor" -> LightDarkSwitched[Red, Cyan]|>], Sphere[]}, Lighting -> "ThreePoint"];{LightModePane[graphic], DarkModePane[graphic]}引数がないMaterialShading[]は基調色にWhiteを使う:
Graphics3D[{MaterialShading[], Sphere[]}, Lighting -> "ThreePoint"]照明 (3)
MaterialShadingはあらゆる種類の照明に使うことができる:
lights = {{"Ambient", LightGray}, {"Point", White, ImageScaled[{1, 1, 2}]}, {"Directional", White, ImageScaled[{1, 1, 2}]}, {"Spot", White, {{1, -1, 1}, {0, 0, 0}}, Pi / 4}};
Graphics3D[{MaterialShading["Iron"], Sphere[]}, Lighting -> {#}]& /@ lightsGraphics3D[{MaterialShading["Iron"], Sphere[]}, Lighting -> {{"Directional", Red, ImageScaled[{1, -0.5, 1}]}, {"Directional", Green, ImageScaled[{-1, -0.5, 1}]}, {"Directional", Blue, ImageScaled[{0, 1, 1}]}, {"Ambient", GrayLevel[0.2]}}]"ThreePoint"または"Accent"の照明を使って曲面上に色を忠実に再現する:
Graphics3D[{MaterialShading["Iron"], Sphere[]}, Lighting -> #] & /@ { "ThreePoint", "Accent", Automatic}アプリケーション (14)
基本的なアプリケーション (10)
knot = IconizedObject[«[image]»];
materials = {"Aluminum", "Brass", "Bronze", "Copper", "Electrum", "Gold", "Iron", "Pewter", "Silver", "Clay", "Foil", "Glazed", "Plastic", "Rubber", "Satin", "Velvet"};Grid[Partition[Labeled[Graphics3D[{MaterialShading[#], knot}, Lighting -> "ThreePoint", Boxed -> False, ImageSize -> 72, Method -> {"ShrinkWrap" -> True}], #]& /@ materials, 4, 4, 1, {}], Spacings -> {1, 1}]"BaseColor"パラメータを使って素材の基調色を指定する:
Table[Graphics3D[{MaterialShading[<|"BaseColor" -> c|>], Sphere[]}, Lighting -> "ThreePoint"], {c, {RGBColor[0.34398, 0.49112, 0.89936], RGBColor[0.97, 0.606, 0.081], RGBColor[0.91, 0.318, 0.243]}}]"RoughnessCoefficient"パラメータを使って素材の光沢を設定する:
Table[Graphics3D[{MaterialShading[<|"RoughnessCoefficient" -> r|>], Sphere[]}, Lighting -> "ThreePoint"], {r, {0.15, 0.4, 1.0}}]"SpecularColor"パラメータを使って光沢のある素材上に鏡面ハイライトの色を設定する:
Table[Graphics3D[{MaterialShading[<|"SpecularColor" -> s, "RoughnessCoefficient" -> 0.3|>], Sphere[]}, Lighting -> "ThreePoint"], {s, {RGBColor[0.34398, 0.49112, 0.89936], RGBColor[0.97, 0.606, 0.081], RGBColor[0.91, 0.318, 0.243]}}]基調色をBlackに設定した鏡面ハイライト:
Table[Graphics3D[{MaterialShading[<|"SpecularColor" -> s, "RoughnessCoefficient" -> 0.3, "BaseColor" -> Black|>], Sphere[]}, Lighting -> "ThreePoint"], {s, {RGBColor[0.34398, 0.49112, 0.89936], RGBColor[0.97, 0.606, 0.081], RGBColor[0.91, 0.318, 0.243]}}]"MetallicCoefficient"パラメータを使って金属素材を作成する:
Table[Graphics3D[{MaterialShading[<|"MetallicCoefficient" -> m, "RoughnessCoefficient" -> 0.7|>], Sphere[]}, Lighting -> "ThreePoint"], {m, {0, 1}}]Table[Graphics3D[{MaterialShading[<|"BaseColor" -> c, "MetallicCoefficient" -> 1, "RoughnessCoefficient" -> 0.7|>], Sphere[]}, Lighting -> "ThreePoint"], {c, {RGBColor[0.34398, 0.49112, 0.89936], RGBColor[0.97, 0.606, 0.081], RGBColor[0.91, 0.318, 0.243]}}]"SpecularAnisotropyCoefficient"パラメータを使って接線方向に沿った反射光に対する素材の初期設定を行う:
Table[Graphics3D[{MaterialShading[<|"MetallicCoefficient" -> 1, "RoughnessCoefficient" -> 0.7, "SpecularAnisotropyCoefficient" -> a|>], Sphere[]}, Lighting -> "Accent"], {a, {0, 0.5, 1.0}}]Table[Graphics3D[{MaterialShading[<|"MetallicCoefficient" -> 1, "RoughnessCoefficient" -> 0.7, "SpecularAnisotropyCoefficient" -> {1.0, θ}|>], Sphere[]}, Lighting -> "Accent"], {θ, {0, Pi / 4, Pi / 2}}]"EmissionColor"パラメータを使って素材自体から発せられる光を設定する:
Table[Graphics3D[{MaterialShading[<|"EmissionColor" -> c|>], Sphere[]}, Lighting -> "Accent"], {c, {Red, Green, Blue}}]Graphics3D[{MaterialShading[<|"EmissionColor" -> Red|>], Sphere[]}, Lighting -> None]"SheenColor"パラメータを使って素材のエッジにハイライトを加える:
Table[Graphics3D[{MaterialShading[<|"SheenColor" -> c|>], Sphere[]}, Lighting -> "Accent"], {c, {RGBColor[0.34398, 0.49112, 0.89936], RGBColor[0.97, 0.606, 0.081], RGBColor[0.91, 0.318, 0.243]}}]"SheenRoughnessCoefficient"パラメータは光沢のある照明の濃度を設定する:
Table[Graphics3D[{MaterialShading[<|"SheenColor" -> RGBColor[0.34398, 0.49112, 0.89936], "SheenRoughnessCoefficient" -> r|>], Sphere[]}, Lighting -> "Accent"], {r, {0.1, 0.9}}]金属素材は拡散照明を持たないので完全に滑らかなときは暗色に見える:
Graphics3D[{MaterialShading[<|"MetallicCoefficient" -> 1|>], Sphere[]}, Lighting -> "Accent"]"RoughnessCoefficient"パラメータを使って金属の粗さを増す:
Graphics3D[{MaterialShading[<|"MetallicCoefficient" -> 1, "RoughnessCoefficient" -> #|>], Sphere[]}, Lighting -> "Accent"]& /@ {1 / 3, 2 / 3, 1}"AmbientExposureFraction"パラメータは方向性がある光源,点光源,スポットライトには影響しない:
lights = {{"Directional", White, ImageScaled[{1, 1, 4}]}, {"Point", White, ImageScaled[{1, 1, 2}]}, {"Spot", White, {ImageScaled[{1, 1, 2}], {0, 0, 0}}, Pi / 4}};
Graphics3D[{MaterialShading[<|"AmbientExposureFraction" -> Texture[[image]]|>], Sphere[]}, Lighting -> {#}]& /@ lights周辺光を使って"AmbientExposureFraction"パラメータの効果を見る:
Graphics3D[{MaterialShading[<|"AmbientExposureFraction" -> Texture[[image]]|>], Sphere[]}, Lighting -> {{"Directional", Gray, ImageScaled[{1, 1, 4}]}, {"Ambient", Gray}}]写真のようにリアルな素材 (4)
Graphics3D[{MaterialShading[], Sphere[]}, Lighting -> "ThreePoint"]Graphics3D[{MaterialShading[<|"BaseColor" -> Texture[[image]], "SurfaceNormals" -> Texture[[image]]|>], Sphere[]}, ...]Graphics3D[{MaterialShading[<|"BaseColor" -> Texture[[image]], "SurfaceNormals" -> Texture[[image]], "RoughnessCoefficient" -> 0.65, "MetallicCoefficient" -> Texture[[image]] |>], Sphere[]}, Lighting -> "ThreePoint", Boxed -> False, ViewPoint -> Front]Graphics3D[{MaterialShading[<|"BaseColor" -> GrayLevel[0.15], "SurfaceNormals" -> Texture[[image]], "RoughnessCoefficient" -> 0.6, "EmissionColor" -> Texture[[image]] , "SpecularColor" -> GrayLevel[1]|>], Sphere[]}, Lighting -> "Accent", Boxed -> False, ViewPoint -> Right]特性と関係 (3)
引数がないMaterialShadingはデフォルトのシステム外観を近似する:
{Graphics3D[{MaterialShading[], Sphere[]}], Graphics3D[{Sphere[]}]}Graphics3D[{MaterialShading[<|"BaseColor" -> Texture[[image]] |>], Cuboid[]}, Lighting -> "Neutral"]VertexTextureCoordinatesで2Dのテクスチャについての頂点テクスチャ座標を指定する:
Graphics3D[{MaterialShading[<|"BaseColor" -> Texture[[image]]|>], Polygon[{{-2, -1, 0}, {2, -1, 0}, {2, 1, 0}, {-2, 1, 0}}, VertexTextureCoordinates -> {{0, 0}, {2, 0}, {2, 1}, {0, 1}}]}]考えられる問題 (1)
おもしろい例題 (1)
With[{c = 0.8}, ContourPlot3D[((x ^ 2 + y ^ 2 - c ^ 2) ^ 2 + (z ^ 2 - 1) ^ 2) ((y ^ 2 + z ^ 2 - c ^ 2) ^ 2 + (x ^ 2 - 1) ^ 2) ((z ^ 2 + x ^ 2 - c ^ 2) ^ 2 + (y ^ 2 - 1) ^ 2), {x, -1.5, 1.5}, {y, -1.5, 1.5}, {z, -1.5, 1.5}, Contours -> {0.1}, ContourStyle -> {MaterialShading[{"Glazed", Red}]}, Boxed -> False, Axes -> False, Background -> GrayLevel[.1], Lighting -> "ThreePoint", Mesh -> False, ViewAngle -> Pi / 10, ViewVertical -> {0, 1, 0}, PlotPoints -> 50]]テクニカルノート
関連するガイド
テキスト
Wolfram Research (2021), MaterialShading, Wolfram言語関数, https://reference.wolfram.com/language/ref/MaterialShading.html.
CMS
Wolfram Language. 2021. "MaterialShading." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/MaterialShading.html.
APA
Wolfram Language. (2021). MaterialShading. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/MaterialShading.html
BibTeX
@misc{reference.wolfram_2026_materialshading, author="Wolfram Research", title="{MaterialShading}", year="2021", howpublished="\url{https://reference.wolfram.com/language/ref/MaterialShading.html}", note=[Accessed: 01-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_materialshading, organization={Wolfram Research}, title={MaterialShading}, year={2021}, url={https://reference.wolfram.com/language/ref/MaterialShading.html}, note=[Accessed: 01-November-2026]}