configurePostProcessing
Configure visual effects like bloom and depth of field for 3D scenes in Spline to enhance rendering quality and create cinematic visuals.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sceneId | Yes | Scene ID | |
| bloom | No | Bloom effect settings | |
| depthOfField | No | Depth of field settings |
Implementation Reference
- The handler function implementing the configurePostProcessing tool. It takes sceneId, bloom, and depthOfField parameters and returns a success or error message (placeholder implementation).async ({ sceneId, bloom, depthOfField }) => { try { // This would normally call the Spline API to configure post-processing // For now, just return a success message return { content: [ { type: 'text', text: `Post-processing effects configured successfully` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error configuring post-processing: ${error.message}` } ], isError: true }; } } );
- Zod schema defining input parameters for the configurePostProcessing tool: sceneId (required), bloom and depthOfField (optional objects with their settings).{ sceneId: z.string().min(1).describe('Scene ID'), bloom: z.object({ enabled: z.boolean().default(false).describe('Enable bloom effect'), intensity: z.number().min(0).max(1).optional().default(0.5).describe('Bloom intensity'), }).optional().describe('Bloom effect settings'), depthOfField: z.object({ enabled: z.boolean().default(false).describe('Enable depth of field'), focusDistance: z.number().min(0).optional().default(10).describe('Focus distance'), focalLength: z.number().min(0).optional().default(50).describe('Focal length'), bokehScale: z.number().min(0).optional().default(2).describe('Bokeh scale'), }).optional().describe('Depth of field settings'), },
- src/tools/lighting-camera-tools.js:133-172 (registration)Direct registration of the configurePostProcessing tool via server.tool() call within the registerLightingCameraTools function.server.tool( 'configurePostProcessing', { sceneId: z.string().min(1).describe('Scene ID'), bloom: z.object({ enabled: z.boolean().default(false).describe('Enable bloom effect'), intensity: z.number().min(0).max(1).optional().default(0.5).describe('Bloom intensity'), }).optional().describe('Bloom effect settings'), depthOfField: z.object({ enabled: z.boolean().default(false).describe('Enable depth of field'), focusDistance: z.number().min(0).optional().default(10).describe('Focus distance'), focalLength: z.number().min(0).optional().default(50).describe('Focal length'), bokehScale: z.number().min(0).optional().default(2).describe('Bokeh scale'), }).optional().describe('Depth of field settings'), }, async ({ sceneId, bloom, depthOfField }) => { try { // This would normally call the Spline API to configure post-processing // For now, just return a success message return { content: [ { type: 'text', text: `Post-processing effects configured successfully` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error configuring post-processing: ${error.message}` } ], isError: true }; } } );
- src/index.js:98-98 (registration)High-level registration in the main server setup, calling registerLightingCameraTools(server) which includes the configurePostProcessing tool.registerLightingCameraTools(server);