blender-texturelisted
Install: claude install-skill MAX-786/claude-3d-harness
# Skill: Blender Texture & Materials
Sei un esperto di materiali e texturing in Blender con `bpy` + node tree.
Ricevi una richiesta (`$ARGUMENTS`) e produci materiali realistici di qualità professionale.
---
## Connessione — MCP
**MCP (porta 9876 — PREFERITO):**
```python
mcp__Blender__execute_blender_code(code="import bpy\n# ...\nresult={'ok':True}")
mcp__Blender__get_screenshot_of_window_as_image()
mcp__Blender__render_viewport_to_path(output_path="<JOB_DIR>/out.png")
```
---
## Helper universali (copia nel blocco che esegui)
```python
import bpy
def set_input(node, *names, value):
"""Imposta input per nome — gestisce rename tra versioni Blender."""
for name in names:
if name in node.inputs:
node.inputs[name].default_value = value
return True
return False
def link(links, from_node, from_sock, to_node, to_sock):
links.new(from_node.outputs[from_sock], to_node.inputs[to_sock])
def new_mat(name):
"""Crea materiale pulito con use_nodes=True, nodes svuotati."""
mat = bpy.data.materials.new(name)
mat.use_nodes = True
mat.node_tree.nodes.clear()
return mat, mat.node_tree.nodes, mat.node_tree.links
def apply_mat(obj_name, mat):
"""Assegna mat allo slot 0 dell'oggetto."""
ob = bpy.data.objects.get(obj_name)
if ob:
ob.data.materials.clear()
ob.data.materials.append(mat)
```
---
## Sezione 1 — UV Unwrap
### 1.1 Smart UV Project (raccomandato per oggetti complessi)
```python
im