configureMatcapLayer
Apply matcap shading to 3D materials in Spline scenes by configuring material layers with custom matcap images and intensity settings for enhanced visual effects.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sceneId | Yes | Scene ID | |
| materialId | Yes | Material ID | |
| layerId | Yes | Layer ID | |
| matcapImageUrl | Yes | URL to matcap image | |
| intensity | No | Matcap intensity |
Implementation Reference
- The handler function that configures a matcap layer by sending a PUT request to update the layer parameters with the provided matcap image URL and optional intensity.async ({ sceneId, materialId, layerId, matcapImageUrl, intensity }) => { try { const layerParams = { matcapImageUrl, ...(intensity !== undefined && { intensity }), }; await apiClient.request('PUT', `/scenes/${sceneId}/materials/${materialId}/layers/${layerId}`, { params: layerParams }); return { content: [ { type: 'text', text: `Matcap layer ${layerId} configured successfully` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error configuring matcap layer: ${error.message}` } ], isError: true }; } }
- Zod input schema for the configureMatcapLayer tool, validating sceneId, materialId, layerId, matcapImageUrl (required URL), and optional intensity.{ sceneId: z.string().min(1).describe('Scene ID'), materialId: z.string().min(1).describe('Material ID'), layerId: z.string().min(1).describe('Layer ID'), matcapImageUrl: z.string().url().describe('URL to matcap image'), intensity: z.number().min(0).optional().default(1).describe('Matcap intensity'), },
- src/tools/advanced-material-tools.js:442-482 (registration)Registration of the 'configureMatcapLayer' tool using server.tool(), including schema and handler, within the registerAdvancedMaterialTools function.server.tool( 'configureMatcapLayer', { sceneId: z.string().min(1).describe('Scene ID'), materialId: z.string().min(1).describe('Material ID'), layerId: z.string().min(1).describe('Layer ID'), matcapImageUrl: z.string().url().describe('URL to matcap image'), intensity: z.number().min(0).optional().default(1).describe('Matcap intensity'), }, async ({ sceneId, materialId, layerId, matcapImageUrl, intensity }) => { try { const layerParams = { matcapImageUrl, ...(intensity !== undefined && { intensity }), }; await apiClient.request('PUT', `/scenes/${sceneId}/materials/${materialId}/layers/${layerId}`, { params: layerParams }); return { content: [ { type: 'text', text: `Matcap layer ${layerId} configured successfully` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error configuring matcap layer: ${error.message}` } ], isError: true }; } } );