Artur Mukhamadiev c51e6d1369 feat(models) added models/textures and Agents related stuff
:Release Notes:
- Agents files for opencode and claude
- Skills for opencode and claude
- 3d models with medical organs
- Some textures

:Detailed Notes:
-

:Testing Performed:
-

:QA Notes:
- Looks like shit :)

:Issues Addressed:
TG-1
2026-06-22 16:57:48 +03:00

77 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.51.0 | 0.51.0 | n/a | 0.30.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.250.35 |
| Mucosa too dry | `_Smoothness` too low | Raise to 0.40.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)
```