Uploaded September 2026 | Updated September 2026, 2 weeks ago
Here is a breakdown of how to build realistic materials using **aiStandardSurface** in Maya 2023 Arnold for the objects in your scene.
file : drive.google.com/drive/folders/1r4PRvDt4IsB-8bSytGMP7QTpn6bfHTyk?usp=sharing
### Step-by-Step Material Setup Guide
#### 1. Bedding & Pillows (Soft Fabric / Cotton / Linen)
* **Shader:** Assign an `aiStandardSurface`.
* **Base Color:** Connect a diffuse/albedo fabric texture or set a warm neutral off-white/beige tone.
* **Roughness:** Set between **0.65 – 0.85**. Fabric scatters light evenly and should not look shiny.
* **Sheen (Crucial for Fabric):**
* **Weight:** Set to **0.4 – 0.7**.
* **Roughness:** Keep around **0.3 – 0.5**.
* *Why:* Sheen simulates micro-fibers along the glancing angles of the cloth (velvet/cotton falloff).
* **Bump / Normal Mapping:** Plug a woven fabric normal map into the **Geometry - Bump Mapping** slot (`Tangent Space Normals`). Ensure the normal map node's **Color Space** is set to **Raw**.
---
#### 2. Wooden Furniture (Nightstand, Bedframe & Chair)
* **Shader:** Assign an `aiStandardSurface`.
* **Base Color:** Connect an albedo wood texture map (Color Space: `sRGB`).
* **Roughness:** Connect a grayscale roughness map (Color Space: `Raw`) into **Specular - Roughness**.
* Typical scalar value if not using a map: **0.35 – 0.5**.
* **Specular IOR:** Default **1.5** works well for varnished wood.
* **Normal / Bump:** Connect a fine wood-grain normal map (Color Space: `Raw`) with a subtle bump depth (around `0.02 – 0.05`).
---
#### 3. Cast Iron Radiator (Painted or Matte Metal)
* **Option A: Painted Enamel (Common for vintage radiators)**
* **Base Color:** Off-white or light warm grey.
* **Roughness:** **0.35 – 0.45** (semi-gloss finish).
* **Metalness:** **0.0** (paint behaves as a dielectric layer).
* **Bump:** Add an `aiNoise` node to the bump slot with very small amplitude to simulate uneven cast iron texture under the paint.
* **Option B: Raw / Aged Cast Iron**
* **Base Color:** Dark charcoal/grey.
* **Metalness:** **0.8 – 1.0**.
* **Roughness:** **0.6 – 0.75**.
---
#### 4. Interior Plaster Walls
* **Shader:** Assign an `aiStandardSurface`.
* **Base Color:** Warm white / light cream.
* **Roughness:** Set high, around **0.8 – 0.95**.
* **Bump Mapping:** Create a subtle micro-texture using an Arnold `aiNoise` node connected to the Bump slot:
* Bump value: very low (around `0.005 – 0.01`).
* Noise scale: high frequency so it breaks up flat digital highlights.
---
#### 5. Window Glass
* **Shader:** Assign an `aiStandardSurface`.
* **Base Weight:** **0.0**.
* **Specular Weight:** **1.0** with **Roughness = 0.0** and **IOR = 1.52**.
* **Transmission Weight:** **1.0** (pure white).
* **Arnold Object Settings:**
* Select the window glass mesh.
* In the **Attribute Editor**, open the **Arnold** dropdown.
* **Uncheck "Opaque"** (if left checked, shadows behind the glass will render completely black).
---
#### 6. Glass Bottle on the Nightstand
* **Shader:** Assign an `aiStandardSurface`.
* **Base Weight:** **0.0**.
* **Transmission Weight:** **1.0**.
* For amber/brown beer glass: Set **Transmission - Color** to an amber/brown hue, or set **Scatter / Transmittance** depth.
* **Roughness:** **0.05 – 0.1** (a tiny amount keeps it from looking CG-perfect).
* **Arnold Mesh Setting:** Ensure **Opaque is unchecked** in the shape node.
---
### Core Arnold Settings & Workflow Tips
1. **Color Management (ACES / OCIO or SynColor):**
* Albedo/Color textures: Set **Color Space** to **sRGB**.
* Utility textures (Roughness, Metallic, Bump, Normal, Displacement): Always set **Color Space** to **Raw**, and check **Alpha is Luminance** under the File node's *Color Balance* tab.
2. **Diffuse Roughness for Walls/Plaster:**
* In `aiStandardSurface - Base`, increasing **Diffuse Roughness** (Oren-Nayar model) to **0.3 – 0.5** produces a powdery, flat look ideal for dry drywall and plaster.
3. **Lighting Interaction:**
* Because your scene is named `Sunrise3.mb`, ensure your `aiSkyDomeLight` uses an HDRI with a warm, low-angle sun, or supplement it with an `aiAreaLight` or `aiDirectionalLight` pointed through the window frame to cast distinct morning window shadows onto the wall.
00:00 Introduction
29:35 Marker 2
Ready to elevate your interior design skills? In this 30-minute masterclass, renowned designer Maya Arnold breaks down the essential principles of selecting and combining interior materials. Learn how to choose the perfect textures, finishes, and palettes to create stunning, cohesive, and functional spaces. Maya shares her expert insights on everything from natural stones and woods to modern synthetics and fabrics, giving you the confidence to make informed material choices for any project.
#interiordesign #materialselection #designmasterclass #mayarnold #interiormaterials #homedecor #designinspiration #interiordesigntips #decorating #designhacks
Here is a breakdown of how to build realistic materials using **aiStandardSurface** in Maya 2023 Arnold for the objects in your scene.
file : drive.google.com/drive/folders/1r4PRvDt4IsB-8bSytGMP7QTpn6bfHTyk?usp=sharing
### Step-by-Step Material Setup Guide
#### 1. Bedding & Pillows (Soft Fabric / Cotton / Linen)
* **Shader:** Assign an `aiStandardSurface`.
* **Base Color:** Connect a diffuse/albedo fabric texture or set a warm neutral off-white/beige tone.
* **Roughness:** Set between **0.65 – 0.85**. Fabric scatters light evenly and should not look shiny.
* **Sheen (Crucial for Fabric):**
* **Weight:** Set to **0.4 – 0.7**.
* **Roughness:** Keep around **0.3 – 0.5**.
* *Why:* Sheen simulates micro-fibers along the glancing angles of the cloth (velvet/cotton falloff).
* **Bump / Normal Mapping:** Plug a woven fabric normal map into the **Geometry - Bump Mapping** slot (`Tangent Space Normals`). Ensure the normal map node's **Color Space** is set to **Raw**.
---
#### 2. Wooden Furniture (Nightstand, Bedframe & Chair)
* **Shader:** Assign an `aiStandardSurface`.
* **Base Color:** Connect an albedo wood texture map (Color Space: `sRGB`).
* **Roughness:** Connect a grayscale roughness map (Color Space: `Raw`) into **Specular - Roughness**.
* Typical scalar value if not using a map: **0.35 – 0.5**.
* **Specular IOR:** Default **1.5** works well for varnished wood.
* **Normal / Bump:** Connect a fine wood-grain normal map (Color Space: `Raw`) with a subtle bump depth (around `0.02 – 0.05`).
---
#### 3. Cast Iron Radiator (Painted or Matte Metal)
* **Option A: Painted Enamel (Common for vintage radiators)**
* **Base Color:** Off-white or light warm grey.
* **Roughness:** **0.35 – 0.45** (semi-gloss finish).
* **Metalness:** **0.0** (paint behaves as a dielectric layer).
* **Bump:** Add an `aiNoise` node to the bump slot with very small amplitude to simulate uneven cast iron texture under the paint.
* **Option B: Raw / Aged Cast Iron**
* **Base Color:** Dark charcoal/grey.
* **Metalness:** **0.8 – 1.0**.
* **Roughness:** **0.6 – 0.75**.
---
#### 4. Interior Plaster Walls
* **Shader:** Assign an `aiStandardSurface`.
* **Base Color:** Warm white / light cream.
* **Roughness:** Set high, around **0.8 – 0.95**.
* **Bump Mapping:** Create a subtle micro-texture using an Arnold `aiNoise` node connected to the Bump slot:
* Bump value: very low (around `0.005 – 0.01`).
* Noise scale: high frequency so it breaks up flat digital highlights.
---
#### 5. Window Glass
* **Shader:** Assign an `aiStandardSurface`.
* **Base Weight:** **0.0**.
* **Specular Weight:** **1.0** with **Roughness = 0.0** and **IOR = 1.52**.
* **Transmission Weight:** **1.0** (pure white).
* **Arnold Object Settings:**
* Select the window glass mesh.
* In the **Attribute Editor**, open the **Arnold** dropdown.
* **Uncheck "Opaque"** (if left checked, shadows behind the glass will render completely black).
---
#### 6. Glass Bottle on the Nightstand
* **Shader:** Assign an `aiStandardSurface`.
* **Base Weight:** **0.0**.
* **Transmission Weight:** **1.0**.
* For amber/brown beer glass: Set **Transmission - Color** to an amber/brown hue, or set **Scatter / Transmittance** depth.
* **Roughness:** **0.05 – 0.1** (a tiny amount keeps it from looking CG-perfect).
* **Arnold Mesh Setting:** Ensure **Opaque is unchecked** in the shape node.
---
### Core Arnold Settings & Workflow Tips
1. **Color Management (ACES / OCIO or SynColor):**
* Albedo/Color textures: Set **Color Space** to **sRGB**.
* Utility textures (Roughness, Metallic, Bump, Normal, Displacement): Always set **Color Space** to **Raw**, and check **Alpha is Luminance** under the File node's *Color Balance* tab.
2. **Diffuse Roughness for Walls/Plaster:**
* In `aiStandardSurface - Base`, increasing **Diffuse Roughness** (Oren-Nayar model) to **0.3 – 0.5** produces a powdery, flat look ideal for dry drywall and plaster.
3. **Lighting Interaction:**
* Because your scene is named `Sunrise3.mb`, ensure your `aiSkyDomeLight` uses an HDRI with a warm, low-angle sun, or supplement it with an `aiAreaLight` or `aiDirectionalLight` pointed through the window frame to cast distinct morning window shadows onto the wall.
00:00 Introduction
29:35 Marker 2
Ready to elevate your interior design skills? In this 30-minute masterclass, renowned designer Maya Arnold breaks down the essential principles of selecting and combining interior materials. Learn how to choose the perfect textures, finishes, and palettes to create stunning, cohesive, and functional spaces. Maya shares her expert insights on everything from natural stones and woods to modern synthetics and fabrics, giving you the confidence to make informed material choices for any project.
#interiordesign #materialselection #designmasterclass #mayarnold #interiormaterials #homedecor #designinspiration #interiordesigntips #decorating #designhacks






![how to create stylized Grass in Unreal - Maya to Unreal
1. Base Color Setup (Gradient Blending via Lerp)
Your setup uses a height-based UV gradient to blend two colors together across the grass mesh:
Color Inputs (Constant3Vector):
Input A: A bright, vibrant green designed for the tip/upper half of the grass blade.
Input B: A darker, richer green designed for the root/base of the grass blade.
LinearGradient Node: Generates a smooth 0 to 1 grayscale gradient along the UVs of the mesh (using UGradient).
Multiply & Param Gradient Strength:
The LinearGradient is multiplied by a Scalar Parameter named Param Gradient Strength. This lets you dynamically adjust or scale the contrast/reach of the gradient across instances.
Lerp (Linear Interpolate) Node:
Takes the output of the Multiply node as its Alpha.
When Alpha is 0, it outputs Color A; when Alpha is 1, it outputs Color B.
The resulting blend connects directly into the Base Color of the Material root node.
2. Surface & PBR Properties
Metallic = 0.0: Ensures the grass is treated as a non-metallic, natural organic surface.
Specular = 0.0: Removes standard specular reflection highlights to keep the grass looking soft and non-reflective.
Roughness = 1.0: Maxes out surface roughness so light scatters broadly across the grass without sharp reflections.
Key Observations & Quick Fixes
Why the preview sphere looks completely solid green:
In your graph, Param Gradient Strength has a Default Value of 0.0.
Multiplying anything by 0 results in 0, forcing the Lerp nodes Alpha to stay at 0.0 (which shows only Color A).
Fix: Change the default value of Param Gradient Strength to 1.0 to see the gradient blend on the mesh.
Enhancing Realistic Lighting for Foliage:
You have Two Sided checked in the Details panel (which is correct for single-plane grass cards).
However, your Shading Model is set to Default Lit.
Recommendation: Change Shading Model from Default Lit to Two-Sided Foliage. Then, plug a warm green constant color into the Subsurface Color input so the sun shines through the back of the grass blades realistically.
To add wind movement to your grass material in Unreal Engine, plug the **`SimpleGrassWind`** node into the **World Position Offset** channel and use your height gradient as a mask so the roots stay anchored.
To add wind movement to your grass material in Unreal Engine, plug the **`SimpleGrassWind`** node into the **World Position Offset** channel and use your height gradient as a mask so the roots stay anchored.
### Step 1: Add the Wind Node
1. Right-click in your Material Graph and search for **`SimpleGrassWind`**.
2. Connect the output of **`SimpleGrassWind`** directly into the **World Position Offset** pin on your main Material node.
### Step 2: Mask the Wind (Anchor the Grass Roots)
If you dont mask the wind, the whole grass mesh will float and slide off the ground.
1. Take the output of your **`Multiply`** node (the one coming from your `LinearGradient`).
2. Plug it directly into the **Wind Weight** pin of the `SimpleGrassWind` node.
* *This ensures the bottom of the grass blade receives `0` movement (staying fixed to the ground) while the tip receives full sway.*
### Step 3: Create Wind Speed & Intensity Controls
Create parameters so you can tweak how fast and strong the grass sways:
1. **Wind Speed:**
* Hold **S** and Left-Click to create a Scalar Parameter. Name it `Wind Speed`.
* Set **Default Value** to **`0.2`** (slower is usually better for stylized grass).
* Connect it to the **Wind Speed** pin on `SimpleGrassWind`.
2. **Wind Intensity:**
* Create another Scalar Parameter named `Wind Intensity`.
* Set **Default Value** to **`0.3`** or **`0.5`**.
* Connect it to the **Wind Intensity** pin on `SimpleGrassWind`.
### Summary Node Wiring
```
[LinearGradient] ── [Multiply] ── (Alpha on Lerp for Base Color)
│
└── [Wind Weight] (on SimpleGrassWind)
[Scalar: Wind Speed] ── [Wind Speed] (on SimpleGrassWind)
[Scalar: Wind Intensity] ── [Wind Intensity](on SimpleGrassWind)
[SimpleGrassWind Output] ── [World Position Offset] (Material Root Node)
```
**Pro Tip:** If the top of the grass stays still and the root moves instead, your gradient is inverted. Add a **`OneMinus`** node between your `Multiply` output and the `Wind Weight` pin to flip it. how to create stylized Grass in Unreal - Maya to Unreal](https://i.ytimg.com/vi/fsm5w1Qs8TA/mqdefault.jpg)



