blockbench-pbr-materials

安装量: 42
排名: #17453

安装

npx skills add https://github.com/jasonjgardner/blockbench-mcp-project --skill blockbench-pbr-materials

Blockbench PBR Materials

Create and manage PBR materials for Minecraft Bedrock RTX and other PBR workflows.

Available Tools Tool Purpose create_pbr_material Create new PBR material with texture channels configure_material Configure material properties list_materials List all PBR materials get_material_info Get detailed material info import_texture_set Import texture_set.json file assign_texture_channel Assign texture to PBR channel save_material_config Export texture_set.json PBR Channels Channel Description Format color Base color/albedo RGB texture normal Normal map for surface detail RGB (tangent space) height Heightmap for parallax/displacement Grayscale mer Metalness/Emissive/Roughness packed R=Metal, G=Emissive, B=Roughness Quick Start Create Basic PBR Material create_pbr_material: name="stone_pbr", textures={ color: "stone_color", normal: "stone_normal" }

Create Full Material create_pbr_material: name="gold_block", textures={ color: "gold_color", normal: "gold_normal", height: "gold_height", mer: "gold_mer" }

Material Configuration Set Material Properties configure_material: material_id="stone_pbr", config={ metalness_emissive_roughness: { metalness: 0.0, emissive: 0.0, roughness: 0.8 } }

Metallic Material configure_material: material_id="gold_block", config={ metalness_emissive_roughness: { metalness: 1.0, emissive: 0.0, roughness: 0.3 } }

Emissive Material (Glowing) configure_material: material_id="glowstone", config={ metalness_emissive_roughness: { metalness: 0.0, emissive: 1.0, roughness: 0.9 } }

Texture Assignment Assign Individual Channel assign_texture_channel: material_id="stone_pbr", channel="height", texture_id="stone_heightmap"

Replace Channel assign_texture_channel: material_id="stone_pbr", channel="normal", texture_id="stone_normal_v2"

Import/Export Import texture_set.json import_texture_set: file_path="C:/packs/stone_texture_set.json"

Export texture_set.json save_material_config: material_id="stone_pbr", output_path="C:/packs/textures/stone_texture_set.json"

Querying Materials List All Materials list_materials

Returns: [{uuid, name, textureCount, hasColor, hasNormal, hasHeight, hasMER}]

Get Material Details get_material_info: material_id="stone_pbr"

Returns full channel assignments and config

MER Texture Format

The MER channel packs three properties into RGB:

R (Red): Metalness (0=dielectric, 1=metal) G (Green): Emissive intensity (0=none, 1=full glow) B (Blue): Roughness (0=smooth/shiny, 1=rough/matte) Creating MER Texture

Create blank MER texture

create_texture: name="block_mer", width=16, height=16, fill_color=[0, 0, 204, 255] # Non-metal, no glow, 80% rough

Paint metallic areas (R channel)

paint_with_brush: texture_id="block_mer", coordinates=[{x: 8, y: 8}], brush_settings={color: "#FF0000", size: 4} # Metallic spot

Paint glowing areas (G channel)

paint_with_brush: texture_id="block_mer", coordinates=[{x: 4, y: 4}], brush_settings={color: "#00FF00", size: 2, blend_mode: "add"}

Common Material Types Stone/Rock create_pbr_material: name="stone", textures={color: "stone_color", normal: "stone_normal"} configure_material: material_id="stone", config={ metalness_emissive_roughness: {metalness: 0, emissive: 0, roughness: 0.9} }

Metal (Gold, Iron) create_pbr_material: name="gold", textures={color: "gold_color", normal: "gold_normal", mer: "gold_mer"} configure_material: material_id="gold", config={ metalness_emissive_roughness: {metalness: 1.0, emissive: 0, roughness: 0.25} }

Glass/Crystal create_pbr_material: name="glass", textures={color: "glass_color"} configure_material: material_id="glass", config={ metalness_emissive_roughness: {metalness: 0, emissive: 0, roughness: 0.05} }

Glowing Block create_pbr_material: name="lamp", textures={color: "lamp_color", mer: "lamp_mer"} configure_material: material_id="lamp", config={ metalness_emissive_roughness: {metalness: 0, emissive: 1.0, roughness: 0.8} }

Subsurface Scattering (Bedrock 1.21.30+) configure_material: material_id="leaves", config={ subsurface_scattering: { red: 0.3, green: 0.8, blue: 0.2 } }

Workflow Example Complete Block Material

1. Create base textures

create_texture: name="brick_color", width=16, height=16 create_texture: name="brick_normal", width=16, height=16, fill_color="#8080FF" create_texture: name="brick_mer", width=16, height=16, fill_color=[0, 0, 200, 255]

2. Paint textures (color, normal, mer)

paint_with_brush: texture_id="brick_color", ... paint_with_brush: texture_id="brick_normal", ...

3. Create material

create_pbr_material: name="brick", textures={ color: "brick_color", normal: "brick_normal", mer: "brick_mer" }

4. Configure

configure_material: material_id="brick", config={ metalness_emissive_roughness: {metalness: 0, emissive: 0, roughness: 0.85} }

5. Export

save_material_config: material_id="brick", output_path="./textures/brick_texture_set.json"

Tips Normal maps use tangent space (blue-ish color, RGB where B is up) Height maps are grayscale (white=high, black=low) MER channels can be painted separately or as a combined texture Use list_materials to see what's available Always test in-game with RTX enabled for accurate preview Roughness 0 = mirror-like, Roughness 1 = completely diffuse

返回排行榜