# PBR Materials for Tissue (project-scoped) Constrains material work to a small, deliberate set of tissue-like PBR patterns. The material inventory is fixed; the goal is to tune them, not multiply them. ## When to use Load before creating, editing, duplicating, or assigning any `.mat` under `Assets/Materials/LaparoscopicBenchmark/`, or diagnosing "plastic-looking tissue", "mucosa too dry", "specular too harsh", or "normal map stretched" reports. ## Material inventory (do not duplicate blindly) | Material | Purpose | Tunable axes | |---|---|---| | `Tissue_Default.mat` | "Clean" tissue reference | roughness, normal scale, albedo tint, AO | | `Tissue_Wet.mat` | Wet specular variant for Scenario_02 | higher specular tint, lower roughness, slight clearcoat | | `Tissue_LowTexture.mat` | Low-texture variant for Scenario_03 | uniform albedo, minimal normal, low contrast | | `CavityWall.mat` | Moist wall of the cavity | roughness, normal scale, subsurface tint, specular tint | | `InstrumentProxy.mat` | Instrument placeholder | metalness 1.0, low roughness, neutral albedo | New variants: add to `Assets/Materials/LaparoscopicBenchmark/` with name ending in scenario tag, e.g., `Tissue_Wet_S04.mat`. **Do not rename the five canonical materials.** ## Available textures - `Assets/Textures/LaparoscopicBenchmark/TissueMucosa.png` — canonical mucosa base map. - sRGB: **on**. Alpha Source: None. Max Size: 1024 (or 2048 for hero work). Compression: BC7/ASTC. - `Assets/Models/FabOrgans/StylizedDigestiveSystem_{Diffuse,Normal,Roughness}.png` — stylized organ set. - `Assets/Models/organs/textures/` and `archive.fbm/` — do not move (FBX references by relative path). ## URP/Lit PBR defaults for tissue - **Shader**: `Universal Render Pipeline/Lit` (metallic workflow, opaque surface). - **Render Face**: Front. **Double Sided**: off (except cavity wall when viewed from inside). | Property | Tissue_Default | Tissue_Wet | Tissue_LowTexture | CavityWall | InstrumentProxy | |---|---|---|---|---|---| | Base color | warm pink-red ~`#B66A6A` | warm pink-red | uniform pink-red | deep red ~`#7A2A2A` | neutral metal ~`#C8C8C8` | | Metallic | 0.0 | 0.0 | 0.0 | 0.0 | 1.0 | | Smoothness | 0.35 | 0.55 | 0.20 | 0.40 | 0.85 | | Normal Map | TissueMucosa normal | same | none / flat | cavity bump at low scale | none / flat | | Normal Scale | 0.5–1.0 | 0.5–1.0 | n/a | 0.3–0.7 | n/a | | Emission | off | off | off | off | off | These are **starting points**, not finals. Confirm by screenshot. ## Diagnosis guide | Symptom | Likely cause | Fix | |---|---|---| | Tissue looks plastic | `_Smoothness` too high | Lower to 0.25–0.35 | | Mucosa too dry | `_Smoothness` too low | Raise to 0.4–0.5 | | Specular too harsh | `_Metallic` > 0 on tissue | Set `_Metallic` to 0 | | Normal map stretched | UV scale mismatch | Adjust material tiling, not mesh scale | | Tissue reads as emissive | Emission on | Set Emission to black | ## Hard limits - Never set `Metallic > 0` on tissue or cavity wall. - Never set `Emission > 0` on tissue. - Never use `Standard` (Built-in) shader. - Never use procedural textures without explicit approval. - Never rename the five canonical materials. - Never create a material with a clinical term in the name. ## Common MCP calls ``` # Read a material mcp__UnityMCP__manage_material(action="get_material_info", material_path="Assets/Materials/LaparoscopicBenchmark/Tissue_Default.mat") # Set a property mcp__UnityMCP__manage_material(action="set_material_shader_property", material_path="...", property="_Smoothness", value=0.42) # Set a colour mcp__UnityMCP__manage_material(action="set_material_color", material_path="...", property="_BaseColor", color=[0.71, 0.42, 0.42, 1.0]) # Assign to renderer mcp__UnityMCP__manage_material(action="assign_material_to_renderer", material_path="...", target="...", search_method="by_name", slot=0) ```