Creator · thedivergentai
Last updated · Sep 5, 2026
Expert patterns for Godot 3D PBR materials using StandardMaterial3D including albedo, metallic/roughness workflows, normal maps, ORM texture packing, transparency modes, and shader conversion. Use when creating realistic 3D surfaces, PBR workflows, or material optimization. Trigg
Creator · thedivergentai
Last updated · Sep 5, 2026
Expert patterns for Godot 3D PBR materials using StandardMaterial3D including albedo, metallic/roughness workflows, normal maps, ORM texture packing, transparency modes, and shader conversion. Use when creating realistic 3D surfaces, PBR workflows, or material optimization. Trigg
Creator · thedivergentai
Last updated · Sep 5, 2026
Expert patterns for Godot 3D PBR materials using StandardMaterial3D including albedo, metallic/roughness workflows, normal maps, ORM texture packing, transparency modes, and shader conversion. Use when creating realistic 3D surfaces, PBR workflows, or material optimization. Trigg
Creator · thedivergentai
Last updated · Sep 5, 2026
Expert patterns for Godot 3D PBR materials using StandardMaterial3D including albedo, metallic/roughness workflows, normal maps, ORM texture packing, transparency modes, and shader conversion. Use when creating realistic 3D surfaces, PBR workflows, or material optimization. Trigg
Sandbox only
Install targets
Codex install prompt
Install the "godot-3d-materials" agent skill from https://github.com/thedivergentai/GD-Agentic-Skills/tree/main/skills/godot-3d-materials. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Expert patterns for Godot 3D PBR materials using StandardMaterial3D including albedo, metallic/roughness workflows, normal maps, ORM texture packing, transparency modes, and shader conversion. Use when creating realistic 3D surfaces, PBR workflows, or material optimization. Trigger keywords: StandardMaterial3D, BaseMaterial3D, albedo_texture, metallic, metallic_texture, roughness, roughness_texture, normal_texture, normal_enabled, orm_texture, transparency, alpha_scissor, alpha_hash, cull_mode, ShaderMaterial, shader parameters. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"thedivergentai-godot-3d-materials","task":"Install godot-3d-materials","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Deep research, source comparison, literature review, RAG, knowledge search, and reports.
Scenario
RAG and knowledge
I need my agent to build a RAG workflow over documents and retrieve reliable context.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materials
Maintenance
fresh
15d since push
Risk
Safe to try
SKILL.md excerpt is truncated in the provided data, but the visible content is clear and well-structured.
GitHub quality
660
75/100 Quality · 76/100 Trust
Coverage tags
Review notes
SKILL.md excerpt is truncated in the provided data, but the visible content is clear and well-structured. · The skill references external scripts and shaders that are not fully included in the excerpt, but they are part of the repository and presumably available.
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
StrongSolid option that is likely worth shortlisting for production workflows.
Trust
Sandbox onlyUseful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
Audit
Safe to tryA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Run only in a sandbox and compare close alternatives before using it for real work.
Stars
660 GitHub stars
Repo activity
660 stars, 40 forks
Maintenance
15d since push
License
LGPL-3.0
Install
npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materials
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materialsDo not use when
Agent safety v2
Good audit and safety signals with no high-risk permission hints in public metadata.
Review the audit page, then allow agent install in a sandboxed workflow.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20godot-3d-materials%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20godot-3d-materials%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/thedivergentai-godot-3d-materials/install
Agent should check
Copy prompt
Task: Use godot-3d-materials in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20godot-3d-materials%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/thedivergentai-godot-3d-materials/install
Install command: npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materials
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/thedivergentai-godot-3d-materials/install
LLM text format
/api/skills/thedivergentai-godot-3d-materials/install?format=text
Find alternatives
/api/skills/search?q=godot-3d-materials&limit=3
Agent prompt
Use godot-3d-materials for this task. Review https://www.openagentskill.com/api/skills/thedivergentai-godot-3d-materials/install, then install with: npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materialsRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/thedivergentai-godot-3d-materials
LLM text
/api/registry/manifest/thedivergentai-godot-3d-materials?format=text
Install alias
/api/registry/install/thedivergentai-godot-3d-materials
Recommend
/api/registry/recommend?task=Use%20godot-3d-materials%20in%20an%20agent%20workflow&limit=3
Agent fit
Local desktop
Use-case tags
Platforms
Claude Code
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Use this as a leading candidate, then validate the README and install path in your own agent stack.
Role in stack
Primary pick
Primary fit
Local desktop
Trust label
Production-ready
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
GitHub adoption
INFO660 GitHub stars
Stars/forks activity
INFO660 stars, 40 forks; issue activity unavailable in current metadata
Recent maintenance
PASS15d since push
License clarity
PASSLGPL-3.0
Good signals
Review before install
Recommended action
Run only in a sandbox and compare close alternatives before using it for real work.
Quality profile
Solid option that is likely worth shortlisting for production workflows.
Workflow fit
Operate local tools
I need my agent to operate local files and desktop apps in a repeatable workflow.
Operate web apps
I need my agent to control a browser, fill forms, and verify web app workflows.
Automate repeated work
I need my agent to automate a repeated workflow across tools and files.
Workflow fit
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Operate and verify web apps
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Brief to publish-ready creative
A practical workflow for agents that shape a video brief, create strong multimodal prompts, generate supporting B-roll, and prepare a reviewable short-form or explainer video.
Alternative shortlist
Similar skills that may fit this task.
Run multimodal agents that operate desktop interfaces
Connect agents to hundreds of workflow automations
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
--- name: godot-3d-materials description: "Expert patterns for Godot 3D PBR materials using StandardMaterial3D including albedo, metallic/roughness workflows, normal maps, ORM texture packing, transparency modes, and shader conversion. Use when creating realistic 3D surfaces, PBR workflows, or material optimization. Trigger keywords: StandardMaterial3D, BaseMaterial3D, albedo_texture, metallic, metallic_texture, roughness, roughness_texture, normal_texture, normal_enabled, orm_texture, transparency, alpha_scissor, alpha_hash, cull_mode, ShaderMaterial, shader parameters." ---
# 3D Materials
Expert guidance for PBR materials and StandardMaterial3D in Godot.
## NEVER Do
- **NEVER use separate metallic/roughness/AO textures** — Use ORM packing (1 RGB texture with Occlusion/Roughness/Metallic channels) to save texture slots and memory. - **NEVER forget to enable normal_enabled** — Normal maps don't work unless you set `normal_enabled = true`. Silent failure is common. - **NEVER use TRANSPARENCY_ALPHA for cutout materials** — Use TRANSPARENCY_ALPHA_SCISSOR or TRANSPARENCY_ALPHA_HASH instead. Full alpha blending is expensive and causes sorting issues. - **NEVER set metallic = 0.5** — Materials are either metallic (1.0) or dielectric (0.0). Values between are physically incorrect except for rust/dirt transitions. - **NEVER use emission without HDR** — Emission values > 1.0 only work with HDR rendering enabled in Project Settings. - **NEVER use transparent materials for large environmental surfaces** — Transparent objects cannot rely on the Z-buffer for early fragment rejection, resulting in massive overdraw. If only a tiny part of a mesh is transparent, split the mesh into two surfaces: one opaque, one transparent. - **NEVER create hundreds of slightly varied StandardMaterial3D resources if performance is dropping** — Godot minimizes GPU state changes by automatically reusing the underlying shader for materials that share the exact same configuration flags (checkboxes). Try to group your material configurations. - **NEVER attempt to fix Z-fighting strictly by moving objects further apart** — Floating-point precision degrades over distance. To fix flickering textures, increase your Camera3D's `Near` plane property and decrease the `Far` property to compress the precision range. - **NEVER use unique Material resources per MeshInstance3D** — This breaks draw call batching. Use 'Instance Uniforms' to vary parameters while keeping a single shared material. - **NEVER mutate a shared Material `.tres` / surface material at runtime** — Call `duplicate(true)` or enable **Local To Scene**, then assign the unique instance before tweaking parameters. **MANDATORY** use [`material_fx.gd`](scripts/material_fx.gd) `ensure_unique_override()` / overlay helpers for flash/dissolve. - **NEVER use Decals on dynamic moving actors without a Cull Mask** — Bullet holes should not stick to the player's face as they walk over them. Mask out character layers.
---
## Available Scripts
> **MANDATORY**: Read the appropriate script before implementing the corresponding pattern.
### Workflow router (MANDATORY / Do NOT Load) | Task | Load | Do NOT Load | |------|------|-------------| | StandardMaterial3D / ORM / transparency | `pbr_orm_packer.gd`, `transparency_sorting_fix.gd`, `material_batcher.gd`, `material_fx.gd` | `triplanar_world*.gdshader`, `vertex_wind_sway.gdshader` | | UV-less terrain / cliffs | `triplanar_world.gdshader` or `triplanar_world_projection.gdshader` + `pbr_material_builder.gd` | Wind sway unless foliage | | Foliage wind | `vertex_wind_sway.gdshader` | Triplanar unless rock/terrain also needed | | Runtime damage / dissolve | **MANDATORY** `material_fx.gd` | Editing shared imported materials | | Instance color/health / texture-array variants | **MANDATORY** `instance_uniform_batching.gdshader` | Per-mesh unique StandardMaterial3D copies; body texture-array samples | | HLOD / distant material simplify | `material_batcher.gd` (`setup_lod_materials`) | Alpha-blend distance fade (use Pixel Dither) | | Organic SSS / rim / clearcoat | `organic_material.gd`, `subsurface_scattering_setup.gd` | SSS recipes on Mobile/Compatibility |
> Pure StandardMaterial3D albedo/ORM/transparency work: **Do NOT Load** triplanar, wind, or texture-array shaders.
### [material_fx.gd](scripts/material_fx.gd) **MANDATORY** for runtime FX. `ensure_unique_override()` / overlay flash / scissor dissolve — never tween shared `.tres` materials.
### [pbr_material_builder.gd](scripts/pbr_material_builder.gd) Runtime PBR material creation with ORM textures and triplanar mapping.
### [organic_material.gd](scripts/organic_material.gd) Subsurface scattering and rim lighting setup for organic surfaces (skin, leaves). Use for realistic character or vegetation materials.
### [triplanar_world.gdshader](scripts/triplanar_world.gdshader) Triplanar projection shader for terrain without UV mapping. Blends textures based on surface normals. Use for cliffs, caves, or procedural terrain.
### [pbr_orm_packer.gd](scripts/pbr_orm_packer.gd) Expert PBR resource utility. Packs Ambient Occlusion, Roughness, and Metallic into a single ORM texture to optimize VRAM and draw calls.
### [vertex_wind_sway.gdshader](scripts/vertex_wind_sway.gdshader) High-performance GPU-driven foliage animation. Uses vertex world coordinates and vertex color weight painting to simulate wind without skeletons.
### [triplanar_world_projection.gdshader](scripts/triplanar_world_projection.gdshader) UV-less environment mapping. Projects textures along X/Y/Z axes for organic blending over complex rocks and terrain.
### [subsurface_scattering_setup.gd](scripts/subsurface_scattering_setup.gd) Configuring realistic organic materials. Covers Skin Mode, Transmittance, and depth scattering settings for Forward+ rendering.
### [instance_uniform_batching.gdshader](scripts/instance_uniform_batching.gdshader) Architecture pattern for high-speed batching. Allows 10,000 meshes to share one material while maintaining unique colors or health states via instance uniforms.
### [decal_placer_expert.gd](scripts/decal_placer_expert.gd) Dynamic 3D decal system with cull masking and life-cycle management for impact effects.
### [transparency_sorting_fix.gd](scripts/transparency_sorting_fix.gd) Solving visual artifacts using Alpha Hash and Depth Prepass strategies.
### [shader_state_manager.gd](scripts/shader_state_manager.gd) Clean pattern for toggling shader-based visual states (Frozen, Burned) on multiple entities.
### [depth_precision_fix.gd](scripts/depth_precision_fix.gd) Camera-side fix for Z-fighting and texture flickering in large-scale worlds.
### [material_batcher.gd](scripts/material_batcher.gd) Global override system to ensure environmental meshes draw in optimized, state-locked batches.
---
## StandardMaterial3D Checklist (script-first)
1. Pack AO/Roughness/Metallic → **MANDATORY** [`pbr_orm_packer.gd`](scripts/pbr_orm_packer.gd); set `orm_texture` (never three separate maps). 2. Enable `normal_enabled` before assigning `normal_texture` (silent no-op otherwise). 3. Pick transparency from the matrix below — not docs-default ALPHA for cutouts. 4. Organic skin/leaves → [`organic_material.gd`](scripts/organic_material.gd) + [`subsurface_scattering_setup.gd`](scripts/subsurface_scattering_setup.gd) (Forward+ only for real SSS). 5. Runtime flash/dissolve → **MANDATORY** [`material_fx.gd`](scripts/material_fx.gd) `ensure_unique_override()` first. 6. Shared-mesh tint/variant → [`instance_uniform_batching.gdshader`](scripts/instance_uniform_batching.gdshader); never unique `.tres` per instance. 7. Distant LOD simplify / Pixel Dither fade → [`material_batcher.gd`](scripts/material_batcher.gd) `setup_lod_materials()`. 8. Check Forward+ vs Mobile feature matrix before enabling SSS/clearcoat/anisotropy.
### Forward+ vs Mobile (material features)
| Feature | Forward+ | Mobile / Compatibility | WHY | |---------|----------|------------------------|-----| | Subsurface scattering / Skin Mode | Full | Limited / often unavailable | SSS needs Forward+ lighting path; fake with rim + transmittance bake on Mobile | | Clearcoat | Yes | Often stripped / approximate | Extra specular lobe cost; drop on distant LOD and Mobile | | Anisotropy | Yes | Prefer off | Flowmap + anisotropic BRDF burns mobile fragment budget | | Alpha Hash / Pixel Dither fade | Yes | Prefer Alpha Scissor or opaque dither | Hash noise + overdraw hurts tile GPUs | | Instance uniforms (batching) | Yes | Yes (prefer this) | Keeps one material; avoids unique-resource draw breaks |
---
## Transparency Modes
### Decision Matrix
| Mode | Use Case | Performance | Sorting Issues | |------|----------|-------------|---------------| | ALPHA_SCISSOR | Foliage, chain-link fence | Fast | No | | ALPHA_HASH | Dithered fade, LOD transitions | Fast | Noisy | | ALPHA | Glass, water, godot-particles | Slow | Yes (render order) |
### Alpha Scissor (Cutout)
```gdscript # For leaves, grass, fences mat.transparency = BaseMaterial3D.TRANSPARENCY_ALPHA_SCISSOR mat.alpha_scissor_threshold = 0.5 # Pixels < 0.5 alpha = discarded mat.albedo_texture = load("res://leaf.png") # Must have alpha channel
# Enable backface culling for performance mat.cull_mode = BaseMaterial3D.CULL_BACK ```
### Alpha Hash (Dithered)
```gdscript # For smooth fade-outs without sorting issues mat.transparency = BaseMaterial3D.TRANSPARENCY_ALPHA_HASH mat.alpha_hash_scale = 1.0 # Dither pattern scale
# Animate fade var tween := create_tween() tween.tween_property(mat, "albedo_color:a", 0.0, 1.0) ```
### Alpha Blend (Full Transparency)
```gdscript # For glass, water (expensive) mat.transparency = BaseMaterial3D.TRANSPARENCY_ALPHA mat.blend_mode = BaseMaterial3D.BLEND_MODE_MIX
# Disable depth writing for correct blending mat.depth_draw_mode = BaseMaterial3D.DEPTH_DRAW_DISABLED mat.cull_mode = BaseMaterial3D.CULL_DISABLED # Show both sides ```
---
## Texture Channel Packing
**MANDATORY** [`pbr_orm_packer.gd`](scripts/pbr_orm_packer.gd) for R=AO / G=Roughness / B=Metallic. Do not inline packing recipes here. Custom channel remaps only when an imported atlas already disagrees with ORM layout.
---
## Shader Conversion
### When to Convert to ShaderMaterial
- Need custom effects (dissolve, vertex displacement) - StandardMaterial3D limitations hit - Shader optimizations (remove unused features)
### Conversion Workflow
```gdscript # 1. Create StandardMaterial3D with all settings var std_mat := StandardMaterial3D.new() std_mat.albedo_color = Color.RED std_mat.metallic = 1.0 std_mat.roughness = 0.2
# 2. Convert to ShaderMaterial var shader_mat := ShaderMaterial.new() shader_mat.shader = load("res://custom_shader.gdshader")
# 3. Transfer parameters manually shader_mat.set_shader_parameter("albedo", std_mat.albedo_color) shader_mat.set_shader_parameter("metallic", std_mat.metallic) shader_mat.set_shader_parameter("roughness", std_mat.roughness) ```
---
## Material Variants (Godot 4.0+)
### Efficient Material Reuse
```gdscript # Base material (shared) var base_red_metal := StandardMaterial3D.new() base_red_metal.albedo_color = Color.RED base_red_metal.metallic = 1.0
# Variant 1: Rough var rough_variant := base_red_metal.duplicate() rough_variant.roughness = 0.8
# Variant 2: Smooth var smooth_variant := base_red_metal.duplicate() smooth_variant.roughness = 0.1
# Note: Use resource_local_to_scene for per-instance tweaks ```
---
## Performance Optimization
### Material Batching
```gdscript # ✅ GOOD: Reuse materials across meshes const SHARED_STONE := preload("res://materials/stone.tres")
func _ready() -> void: for wall in get_tree().get_nodes_in_group("stone_walls"): wall.material_override = SHARED_STONE # All walls batched in single draw call
# ❌ BAD: Unique material per mesh func _ready() -> void: for wall in get_tree().get_nodes_in_group("stone_walls"): var mat := StandardMaterial3D.new() # New material! mat.
Source provenance
Decision snapshot
660 GitHub stars
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for godot-3d-materials, ready for a manual X post.
godot-3d-materials: Expert patterns for Godot 3D PBR materials using StandardMaterial3D including albedo, metalli... 660 stars https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials?ref=x
Listing + install path for godot-3d-materials: https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials?ref=x Install: npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materials
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to thedivergentai but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials/audit)
[](https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)thedivergentai
@thedivergentai
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Sandbox only
UI-TARS Desktop
Run multimodal agents that operate desktop interfaces
37.0K Starsn8n
Connect agents to hundreds of workflow automations
194.1K StarsMoneyPrinterTurbo
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
88.5K StarsTasmota
Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
24.7K StarsSandbox only
Install targets
Codex install prompt
Install the "godot-3d-materials" agent skill from https://github.com/thedivergentai/GD-Agentic-Skills/tree/main/skills/godot-3d-materials. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Expert patterns for Godot 3D PBR materials using StandardMaterial3D including albedo, metallic/roughness workflows, normal maps, ORM texture packing, transparency modes, and shader conversion. Use when creating realistic 3D surfaces, PBR workflows, or material optimization. Trigger keywords: StandardMaterial3D, BaseMaterial3D, albedo_texture, metallic, metallic_texture, roughness, roughness_texture, normal_texture, normal_enabled, orm_texture, transparency, alpha_scissor, alpha_hash, cull_mode, ShaderMaterial, shader parameters. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"thedivergentai-godot-3d-materials","task":"Install godot-3d-materials","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Deep research, source comparison, literature review, RAG, knowledge search, and reports.
Scenario
RAG and knowledge
I need my agent to build a RAG workflow over documents and retrieve reliable context.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materials
Maintenance
fresh
15d since push
Risk
Safe to try
SKILL.md excerpt is truncated in the provided data, but the visible content is clear and well-structured.
GitHub quality
660
75/100 Quality · 76/100 Trust
Coverage tags
Review notes
SKILL.md excerpt is truncated in the provided data, but the visible content is clear and well-structured. · The skill references external scripts and shaders that are not fully included in the excerpt, but they are part of the repository and presumably available.
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
StrongSolid option that is likely worth shortlisting for production workflows.
Trust
Sandbox onlyUseful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
Audit
Safe to tryA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Run only in a sandbox and compare close alternatives before using it for real work.
Stars
660 GitHub stars
Repo activity
660 stars, 40 forks
Maintenance
15d since push
License
LGPL-3.0
Install
npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materials
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materialsDo not use when
Agent safety v2
Good audit and safety signals with no high-risk permission hints in public metadata.
Review the audit page, then allow agent install in a sandboxed workflow.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20godot-3d-materials%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20godot-3d-materials%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/thedivergentai-godot-3d-materials/install
Agent should check
Copy prompt
Task: Use godot-3d-materials in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20godot-3d-materials%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/thedivergentai-godot-3d-materials/install
Install command: npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materials
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/thedivergentai-godot-3d-materials/install
LLM text format
/api/skills/thedivergentai-godot-3d-materials/install?format=text
Find alternatives
/api/skills/search?q=godot-3d-materials&limit=3
Agent prompt
Use godot-3d-materials for this task. Review https://www.openagentskill.com/api/skills/thedivergentai-godot-3d-materials/install, then install with: npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materialsRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/thedivergentai-godot-3d-materials
LLM text
/api/registry/manifest/thedivergentai-godot-3d-materials?format=text
Install alias
/api/registry/install/thedivergentai-godot-3d-materials
Recommend
/api/registry/recommend?task=Use%20godot-3d-materials%20in%20an%20agent%20workflow&limit=3
Agent fit
Local desktop
Use-case tags
Platforms
Claude Code
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Use this as a leading candidate, then validate the README and install path in your own agent stack.
Role in stack
Primary pick
Primary fit
Local desktop
Trust label
Production-ready
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
GitHub adoption
INFO660 GitHub stars
Stars/forks activity
INFO660 stars, 40 forks; issue activity unavailable in current metadata
Recent maintenance
PASS15d since push
License clarity
PASSLGPL-3.0
Good signals
Review before install
Recommended action
Run only in a sandbox and compare close alternatives before using it for real work.
Quality profile
Solid option that is likely worth shortlisting for production workflows.
Workflow fit
Operate local tools
I need my agent to operate local files and desktop apps in a repeatable workflow.
Operate web apps
I need my agent to control a browser, fill forms, and verify web app workflows.
Automate repeated work
I need my agent to automate a repeated workflow across tools and files.
Workflow fit
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Operate and verify web apps
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Brief to publish-ready creative
A practical workflow for agents that shape a video brief, create strong multimodal prompts, generate supporting B-roll, and prepare a reviewable short-form or explainer video.
Alternative shortlist
Similar skills that may fit this task.
Run multimodal agents that operate desktop interfaces
Connect agents to hundreds of workflow automations
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
--- name: godot-3d-materials description: "Expert patterns for Godot 3D PBR materials using StandardMaterial3D including albedo, metallic/roughness workflows, normal maps, ORM texture packing, transparency modes, and shader conversion. Use when creating realistic 3D surfaces, PBR workflows, or material optimization. Trigger keywords: StandardMaterial3D, BaseMaterial3D, albedo_texture, metallic, metallic_texture, roughness, roughness_texture, normal_texture, normal_enabled, orm_texture, transparency, alpha_scissor, alpha_hash, cull_mode, ShaderMaterial, shader parameters." ---
# 3D Materials
Expert guidance for PBR materials and StandardMaterial3D in Godot.
## NEVER Do
- **NEVER use separate metallic/roughness/AO textures** — Use ORM packing (1 RGB texture with Occlusion/Roughness/Metallic channels) to save texture slots and memory. - **NEVER forget to enable normal_enabled** — Normal maps don't work unless you set `normal_enabled = true`. Silent failure is common. - **NEVER use TRANSPARENCY_ALPHA for cutout materials** — Use TRANSPARENCY_ALPHA_SCISSOR or TRANSPARENCY_ALPHA_HASH instead. Full alpha blending is expensive and causes sorting issues. - **NEVER set metallic = 0.5** — Materials are either metallic (1.0) or dielectric (0.0). Values between are physically incorrect except for rust/dirt transitions. - **NEVER use emission without HDR** — Emission values > 1.0 only work with HDR rendering enabled in Project Settings. - **NEVER use transparent materials for large environmental surfaces** — Transparent objects cannot rely on the Z-buffer for early fragment rejection, resulting in massive overdraw. If only a tiny part of a mesh is transparent, split the mesh into two surfaces: one opaque, one transparent. - **NEVER create hundreds of slightly varied StandardMaterial3D resources if performance is dropping** — Godot minimizes GPU state changes by automatically reusing the underlying shader for materials that share the exact same configuration flags (checkboxes). Try to group your material configurations. - **NEVER attempt to fix Z-fighting strictly by moving objects further apart** — Floating-point precision degrades over distance. To fix flickering textures, increase your Camera3D's `Near` plane property and decrease the `Far` property to compress the precision range. - **NEVER use unique Material resources per MeshInstance3D** — This breaks draw call batching. Use 'Instance Uniforms' to vary parameters while keeping a single shared material. - **NEVER mutate a shared Material `.tres` / surface material at runtime** — Call `duplicate(true)` or enable **Local To Scene**, then assign the unique instance before tweaking parameters. **MANDATORY** use [`material_fx.gd`](scripts/material_fx.gd) `ensure_unique_override()` / overlay helpers for flash/dissolve. - **NEVER use Decals on dynamic moving actors without a Cull Mask** — Bullet holes should not stick to the player's face as they walk over them. Mask out character layers.
---
## Available Scripts
> **MANDATORY**: Read the appropriate script before implementing the corresponding pattern.
### Workflow router (MANDATORY / Do NOT Load) | Task | Load | Do NOT Load | |------|------|-------------| | StandardMaterial3D / ORM / transparency | `pbr_orm_packer.gd`, `transparency_sorting_fix.gd`, `material_batcher.gd`, `material_fx.gd` | `triplanar_world*.gdshader`, `vertex_wind_sway.gdshader` | | UV-less terrain / cliffs | `triplanar_world.gdshader` or `triplanar_world_projection.gdshader` + `pbr_material_builder.gd` | Wind sway unless foliage | | Foliage wind | `vertex_wind_sway.gdshader` | Triplanar unless rock/terrain also needed | | Runtime damage / dissolve | **MANDATORY** `material_fx.gd` | Editing shared imported materials | | Instance color/health / texture-array variants | **MANDATORY** `instance_uniform_batching.gdshader` | Per-mesh unique StandardMaterial3D copies; body texture-array samples | | HLOD / distant material simplify | `material_batcher.gd` (`setup_lod_materials`) | Alpha-blend distance fade (use Pixel Dither) | | Organic SSS / rim / clearcoat | `organic_material.gd`, `subsurface_scattering_setup.gd` | SSS recipes on Mobile/Compatibility |
> Pure StandardMaterial3D albedo/ORM/transparency work: **Do NOT Load** triplanar, wind, or texture-array shaders.
### [material_fx.gd](scripts/material_fx.gd) **MANDATORY** for runtime FX. `ensure_unique_override()` / overlay flash / scissor dissolve — never tween shared `.tres` materials.
### [pbr_material_builder.gd](scripts/pbr_material_builder.gd) Runtime PBR material creation with ORM textures and triplanar mapping.
### [organic_material.gd](scripts/organic_material.gd) Subsurface scattering and rim lighting setup for organic surfaces (skin, leaves). Use for realistic character or vegetation materials.
### [triplanar_world.gdshader](scripts/triplanar_world.gdshader) Triplanar projection shader for terrain without UV mapping. Blends textures based on surface normals. Use for cliffs, caves, or procedural terrain.
### [pbr_orm_packer.gd](scripts/pbr_orm_packer.gd) Expert PBR resource utility. Packs Ambient Occlusion, Roughness, and Metallic into a single ORM texture to optimize VRAM and draw calls.
### [vertex_wind_sway.gdshader](scripts/vertex_wind_sway.gdshader) High-performance GPU-driven foliage animation. Uses vertex world coordinates and vertex color weight painting to simulate wind without skeletons.
### [triplanar_world_projection.gdshader](scripts/triplanar_world_projection.gdshader) UV-less environment mapping. Projects textures along X/Y/Z axes for organic blending over complex rocks and terrain.
### [subsurface_scattering_setup.gd](scripts/subsurface_scattering_setup.gd) Configuring realistic organic materials. Covers Skin Mode, Transmittance, and depth scattering settings for Forward+ rendering.
### [instance_uniform_batching.gdshader](scripts/instance_uniform_batching.gdshader) Architecture pattern for high-speed batching. Allows 10,000 meshes to share one material while maintaining unique colors or health states via instance uniforms.
### [decal_placer_expert.gd](scripts/decal_placer_expert.gd) Dynamic 3D decal system with cull masking and life-cycle management for impact effects.
### [transparency_sorting_fix.gd](scripts/transparency_sorting_fix.gd) Solving visual artifacts using Alpha Hash and Depth Prepass strategies.
### [shader_state_manager.gd](scripts/shader_state_manager.gd) Clean pattern for toggling shader-based visual states (Frozen, Burned) on multiple entities.
### [depth_precision_fix.gd](scripts/depth_precision_fix.gd) Camera-side fix for Z-fighting and texture flickering in large-scale worlds.
### [material_batcher.gd](scripts/material_batcher.gd) Global override system to ensure environmental meshes draw in optimized, state-locked batches.
---
## StandardMaterial3D Checklist (script-first)
1. Pack AO/Roughness/Metallic → **MANDATORY** [`pbr_orm_packer.gd`](scripts/pbr_orm_packer.gd); set `orm_texture` (never three separate maps). 2. Enable `normal_enabled` before assigning `normal_texture` (silent no-op otherwise). 3. Pick transparency from the matrix below — not docs-default ALPHA for cutouts. 4. Organic skin/leaves → [`organic_material.gd`](scripts/organic_material.gd) + [`subsurface_scattering_setup.gd`](scripts/subsurface_scattering_setup.gd) (Forward+ only for real SSS). 5. Runtime flash/dissolve → **MANDATORY** [`material_fx.gd`](scripts/material_fx.gd) `ensure_unique_override()` first. 6. Shared-mesh tint/variant → [`instance_uniform_batching.gdshader`](scripts/instance_uniform_batching.gdshader); never unique `.tres` per instance. 7. Distant LOD simplify / Pixel Dither fade → [`material_batcher.gd`](scripts/material_batcher.gd) `setup_lod_materials()`. 8. Check Forward+ vs Mobile feature matrix before enabling SSS/clearcoat/anisotropy.
### Forward+ vs Mobile (material features)
| Feature | Forward+ | Mobile / Compatibility | WHY | |---------|----------|------------------------|-----| | Subsurface scattering / Skin Mode | Full | Limited / often unavailable | SSS needs Forward+ lighting path; fake with rim + transmittance bake on Mobile | | Clearcoat | Yes | Often stripped / approximate | Extra specular lobe cost; drop on distant LOD and Mobile | | Anisotropy | Yes | Prefer off | Flowmap + anisotropic BRDF burns mobile fragment budget | | Alpha Hash / Pixel Dither fade | Yes | Prefer Alpha Scissor or opaque dither | Hash noise + overdraw hurts tile GPUs | | Instance uniforms (batching) | Yes | Yes (prefer this) | Keeps one material; avoids unique-resource draw breaks |
---
## Transparency Modes
### Decision Matrix
| Mode | Use Case | Performance | Sorting Issues | |------|----------|-------------|---------------| | ALPHA_SCISSOR | Foliage, chain-link fence | Fast | No | | ALPHA_HASH | Dithered fade, LOD transitions | Fast | Noisy | | ALPHA | Glass, water, godot-particles | Slow | Yes (render order) |
### Alpha Scissor (Cutout)
```gdscript # For leaves, grass, fences mat.transparency = BaseMaterial3D.TRANSPARENCY_ALPHA_SCISSOR mat.alpha_scissor_threshold = 0.5 # Pixels < 0.5 alpha = discarded mat.albedo_texture = load("res://leaf.png") # Must have alpha channel
# Enable backface culling for performance mat.cull_mode = BaseMaterial3D.CULL_BACK ```
### Alpha Hash (Dithered)
```gdscript # For smooth fade-outs without sorting issues mat.transparency = BaseMaterial3D.TRANSPARENCY_ALPHA_HASH mat.alpha_hash_scale = 1.0 # Dither pattern scale
# Animate fade var tween := create_tween() tween.tween_property(mat, "albedo_color:a", 0.0, 1.0) ```
### Alpha Blend (Full Transparency)
```gdscript # For glass, water (expensive) mat.transparency = BaseMaterial3D.TRANSPARENCY_ALPHA mat.blend_mode = BaseMaterial3D.BLEND_MODE_MIX
# Disable depth writing for correct blending mat.depth_draw_mode = BaseMaterial3D.DEPTH_DRAW_DISABLED mat.cull_mode = BaseMaterial3D.CULL_DISABLED # Show both sides ```
---
## Texture Channel Packing
**MANDATORY** [`pbr_orm_packer.gd`](scripts/pbr_orm_packer.gd) for R=AO / G=Roughness / B=Metallic. Do not inline packing recipes here. Custom channel remaps only when an imported atlas already disagrees with ORM layout.
---
## Shader Conversion
### When to Convert to ShaderMaterial
- Need custom effects (dissolve, vertex displacement) - StandardMaterial3D limitations hit - Shader optimizations (remove unused features)
### Conversion Workflow
```gdscript # 1. Create StandardMaterial3D with all settings var std_mat := StandardMaterial3D.new() std_mat.albedo_color = Color.RED std_mat.metallic = 1.0 std_mat.roughness = 0.2
# 2. Convert to ShaderMaterial var shader_mat := ShaderMaterial.new() shader_mat.shader = load("res://custom_shader.gdshader")
# 3. Transfer parameters manually shader_mat.set_shader_parameter("albedo", std_mat.albedo_color) shader_mat.set_shader_parameter("metallic", std_mat.metallic) shader_mat.set_shader_parameter("roughness", std_mat.roughness) ```
---
## Material Variants (Godot 4.0+)
### Efficient Material Reuse
```gdscript # Base material (shared) var base_red_metal := StandardMaterial3D.new() base_red_metal.albedo_color = Color.RED base_red_metal.metallic = 1.0
# Variant 1: Rough var rough_variant := base_red_metal.duplicate() rough_variant.roughness = 0.8
# Variant 2: Smooth var smooth_variant := base_red_metal.duplicate() smooth_variant.roughness = 0.1
# Note: Use resource_local_to_scene for per-instance tweaks ```
---
## Performance Optimization
### Material Batching
```gdscript # ✅ GOOD: Reuse materials across meshes const SHARED_STONE := preload("res://materials/stone.tres")
func _ready() -> void: for wall in get_tree().get_nodes_in_group("stone_walls"): wall.material_override = SHARED_STONE # All walls batched in single draw call
# ❌ BAD: Unique material per mesh func _ready() -> void: for wall in get_tree().get_nodes_in_group("stone_walls"): var mat := StandardMaterial3D.new() # New material! mat.
Source provenance
Decision snapshot
660 GitHub stars
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for godot-3d-materials, ready for a manual X post.
godot-3d-materials: Expert patterns for Godot 3D PBR materials using StandardMaterial3D including albedo, metalli... 660 stars https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials?ref=x
Listing + install path for godot-3d-materials: https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials?ref=x Install: npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materials
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to thedivergentai but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials/audit)
[](https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)thedivergentai
@thedivergentai
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Sandbox only
UI-TARS Desktop
Run multimodal agents that operate desktop interfaces
37.0K Starsn8n
Connect agents to hundreds of workflow automations
194.1K StarsMoneyPrinterTurbo
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
88.5K StarsTasmota
Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
24.7K StarsSandbox only
Install targets
Codex install prompt
Install the "godot-3d-materials" agent skill from https://github.com/thedivergentai/GD-Agentic-Skills/tree/main/skills/godot-3d-materials. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Expert patterns for Godot 3D PBR materials using StandardMaterial3D including albedo, metallic/roughness workflows, normal maps, ORM texture packing, transparency modes, and shader conversion. Use when creating realistic 3D surfaces, PBR workflows, or material optimization. Trigger keywords: StandardMaterial3D, BaseMaterial3D, albedo_texture, metallic, metallic_texture, roughness, roughness_texture, normal_texture, normal_enabled, orm_texture, transparency, alpha_scissor, alpha_hash, cull_mode, ShaderMaterial, shader parameters. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"thedivergentai-godot-3d-materials","task":"Install godot-3d-materials","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Deep research, source comparison, literature review, RAG, knowledge search, and reports.
Scenario
RAG and knowledge
I need my agent to build a RAG workflow over documents and retrieve reliable context.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materials
Maintenance
fresh
15d since push
Risk
Safe to try
SKILL.md excerpt is truncated in the provided data, but the visible content is clear and well-structured.
GitHub quality
660
75/100 Quality · 76/100 Trust
Coverage tags
Review notes
SKILL.md excerpt is truncated in the provided data, but the visible content is clear and well-structured. · The skill references external scripts and shaders that are not fully included in the excerpt, but they are part of the repository and presumably available.
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
StrongSolid option that is likely worth shortlisting for production workflows.
Trust
Sandbox onlyUseful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
Audit
Safe to tryA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Run only in a sandbox and compare close alternatives before using it for real work.
Stars
660 GitHub stars
Repo activity
660 stars, 40 forks
Maintenance
15d since push
License
LGPL-3.0
Install
npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materials
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materialsDo not use when
Agent safety v2
Good audit and safety signals with no high-risk permission hints in public metadata.
Review the audit page, then allow agent install in a sandboxed workflow.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20godot-3d-materials%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20godot-3d-materials%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/thedivergentai-godot-3d-materials/install
Agent should check
Copy prompt
Task: Use godot-3d-materials in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20godot-3d-materials%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/thedivergentai-godot-3d-materials/install
Install command: npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materials
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/thedivergentai-godot-3d-materials/install
LLM text format
/api/skills/thedivergentai-godot-3d-materials/install?format=text
Find alternatives
/api/skills/search?q=godot-3d-materials&limit=3
Agent prompt
Use godot-3d-materials for this task. Review https://www.openagentskill.com/api/skills/thedivergentai-godot-3d-materials/install, then install with: npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materialsRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/thedivergentai-godot-3d-materials
LLM text
/api/registry/manifest/thedivergentai-godot-3d-materials?format=text
Install alias
/api/registry/install/thedivergentai-godot-3d-materials
Recommend
/api/registry/recommend?task=Use%20godot-3d-materials%20in%20an%20agent%20workflow&limit=3
Agent fit
Local desktop
Use-case tags
Platforms
Claude Code
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Use this as a leading candidate, then validate the README and install path in your own agent stack.
Role in stack
Primary pick
Primary fit
Local desktop
Trust label
Production-ready
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
GitHub adoption
INFO660 GitHub stars
Stars/forks activity
INFO660 stars, 40 forks; issue activity unavailable in current metadata
Recent maintenance
PASS15d since push
License clarity
PASSLGPL-3.0
Good signals
Review before install
Recommended action
Run only in a sandbox and compare close alternatives before using it for real work.
Quality profile
Solid option that is likely worth shortlisting for production workflows.
Workflow fit
Operate local tools
I need my agent to operate local files and desktop apps in a repeatable workflow.
Operate web apps
I need my agent to control a browser, fill forms, and verify web app workflows.
Automate repeated work
I need my agent to automate a repeated workflow across tools and files.
Workflow fit
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Operate and verify web apps
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Brief to publish-ready creative
A practical workflow for agents that shape a video brief, create strong multimodal prompts, generate supporting B-roll, and prepare a reviewable short-form or explainer video.
Alternative shortlist
Similar skills that may fit this task.
Run multimodal agents that operate desktop interfaces
Connect agents to hundreds of workflow automations
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
--- name: godot-3d-materials description: "Expert patterns for Godot 3D PBR materials using StandardMaterial3D including albedo, metallic/roughness workflows, normal maps, ORM texture packing, transparency modes, and shader conversion. Use when creating realistic 3D surfaces, PBR workflows, or material optimization. Trigger keywords: StandardMaterial3D, BaseMaterial3D, albedo_texture, metallic, metallic_texture, roughness, roughness_texture, normal_texture, normal_enabled, orm_texture, transparency, alpha_scissor, alpha_hash, cull_mode, ShaderMaterial, shader parameters." ---
# 3D Materials
Expert guidance for PBR materials and StandardMaterial3D in Godot.
## NEVER Do
- **NEVER use separate metallic/roughness/AO textures** — Use ORM packing (1 RGB texture with Occlusion/Roughness/Metallic channels) to save texture slots and memory. - **NEVER forget to enable normal_enabled** — Normal maps don't work unless you set `normal_enabled = true`. Silent failure is common. - **NEVER use TRANSPARENCY_ALPHA for cutout materials** — Use TRANSPARENCY_ALPHA_SCISSOR or TRANSPARENCY_ALPHA_HASH instead. Full alpha blending is expensive and causes sorting issues. - **NEVER set metallic = 0.5** — Materials are either metallic (1.0) or dielectric (0.0). Values between are physically incorrect except for rust/dirt transitions. - **NEVER use emission without HDR** — Emission values > 1.0 only work with HDR rendering enabled in Project Settings. - **NEVER use transparent materials for large environmental surfaces** — Transparent objects cannot rely on the Z-buffer for early fragment rejection, resulting in massive overdraw. If only a tiny part of a mesh is transparent, split the mesh into two surfaces: one opaque, one transparent. - **NEVER create hundreds of slightly varied StandardMaterial3D resources if performance is dropping** — Godot minimizes GPU state changes by automatically reusing the underlying shader for materials that share the exact same configuration flags (checkboxes). Try to group your material configurations. - **NEVER attempt to fix Z-fighting strictly by moving objects further apart** — Floating-point precision degrades over distance. To fix flickering textures, increase your Camera3D's `Near` plane property and decrease the `Far` property to compress the precision range. - **NEVER use unique Material resources per MeshInstance3D** — This breaks draw call batching. Use 'Instance Uniforms' to vary parameters while keeping a single shared material. - **NEVER mutate a shared Material `.tres` / surface material at runtime** — Call `duplicate(true)` or enable **Local To Scene**, then assign the unique instance before tweaking parameters. **MANDATORY** use [`material_fx.gd`](scripts/material_fx.gd) `ensure_unique_override()` / overlay helpers for flash/dissolve. - **NEVER use Decals on dynamic moving actors without a Cull Mask** — Bullet holes should not stick to the player's face as they walk over them. Mask out character layers.
---
## Available Scripts
> **MANDATORY**: Read the appropriate script before implementing the corresponding pattern.
### Workflow router (MANDATORY / Do NOT Load) | Task | Load | Do NOT Load | |------|------|-------------| | StandardMaterial3D / ORM / transparency | `pbr_orm_packer.gd`, `transparency_sorting_fix.gd`, `material_batcher.gd`, `material_fx.gd` | `triplanar_world*.gdshader`, `vertex_wind_sway.gdshader` | | UV-less terrain / cliffs | `triplanar_world.gdshader` or `triplanar_world_projection.gdshader` + `pbr_material_builder.gd` | Wind sway unless foliage | | Foliage wind | `vertex_wind_sway.gdshader` | Triplanar unless rock/terrain also needed | | Runtime damage / dissolve | **MANDATORY** `material_fx.gd` | Editing shared imported materials | | Instance color/health / texture-array variants | **MANDATORY** `instance_uniform_batching.gdshader` | Per-mesh unique StandardMaterial3D copies; body texture-array samples | | HLOD / distant material simplify | `material_batcher.gd` (`setup_lod_materials`) | Alpha-blend distance fade (use Pixel Dither) | | Organic SSS / rim / clearcoat | `organic_material.gd`, `subsurface_scattering_setup.gd` | SSS recipes on Mobile/Compatibility |
> Pure StandardMaterial3D albedo/ORM/transparency work: **Do NOT Load** triplanar, wind, or texture-array shaders.
### [material_fx.gd](scripts/material_fx.gd) **MANDATORY** for runtime FX. `ensure_unique_override()` / overlay flash / scissor dissolve — never tween shared `.tres` materials.
### [pbr_material_builder.gd](scripts/pbr_material_builder.gd) Runtime PBR material creation with ORM textures and triplanar mapping.
### [organic_material.gd](scripts/organic_material.gd) Subsurface scattering and rim lighting setup for organic surfaces (skin, leaves). Use for realistic character or vegetation materials.
### [triplanar_world.gdshader](scripts/triplanar_world.gdshader) Triplanar projection shader for terrain without UV mapping. Blends textures based on surface normals. Use for cliffs, caves, or procedural terrain.
### [pbr_orm_packer.gd](scripts/pbr_orm_packer.gd) Expert PBR resource utility. Packs Ambient Occlusion, Roughness, and Metallic into a single ORM texture to optimize VRAM and draw calls.
### [vertex_wind_sway.gdshader](scripts/vertex_wind_sway.gdshader) High-performance GPU-driven foliage animation. Uses vertex world coordinates and vertex color weight painting to simulate wind without skeletons.
### [triplanar_world_projection.gdshader](scripts/triplanar_world_projection.gdshader) UV-less environment mapping. Projects textures along X/Y/Z axes for organic blending over complex rocks and terrain.
### [subsurface_scattering_setup.gd](scripts/subsurface_scattering_setup.gd) Configuring realistic organic materials. Covers Skin Mode, Transmittance, and depth scattering settings for Forward+ rendering.
### [instance_uniform_batching.gdshader](scripts/instance_uniform_batching.gdshader) Architecture pattern for high-speed batching. Allows 10,000 meshes to share one material while maintaining unique colors or health states via instance uniforms.
### [decal_placer_expert.gd](scripts/decal_placer_expert.gd) Dynamic 3D decal system with cull masking and life-cycle management for impact effects.
### [transparency_sorting_fix.gd](scripts/transparency_sorting_fix.gd) Solving visual artifacts using Alpha Hash and Depth Prepass strategies.
### [shader_state_manager.gd](scripts/shader_state_manager.gd) Clean pattern for toggling shader-based visual states (Frozen, Burned) on multiple entities.
### [depth_precision_fix.gd](scripts/depth_precision_fix.gd) Camera-side fix for Z-fighting and texture flickering in large-scale worlds.
### [material_batcher.gd](scripts/material_batcher.gd) Global override system to ensure environmental meshes draw in optimized, state-locked batches.
---
## StandardMaterial3D Checklist (script-first)
1. Pack AO/Roughness/Metallic → **MANDATORY** [`pbr_orm_packer.gd`](scripts/pbr_orm_packer.gd); set `orm_texture` (never three separate maps). 2. Enable `normal_enabled` before assigning `normal_texture` (silent no-op otherwise). 3. Pick transparency from the matrix below — not docs-default ALPHA for cutouts. 4. Organic skin/leaves → [`organic_material.gd`](scripts/organic_material.gd) + [`subsurface_scattering_setup.gd`](scripts/subsurface_scattering_setup.gd) (Forward+ only for real SSS). 5. Runtime flash/dissolve → **MANDATORY** [`material_fx.gd`](scripts/material_fx.gd) `ensure_unique_override()` first. 6. Shared-mesh tint/variant → [`instance_uniform_batching.gdshader`](scripts/instance_uniform_batching.gdshader); never unique `.tres` per instance. 7. Distant LOD simplify / Pixel Dither fade → [`material_batcher.gd`](scripts/material_batcher.gd) `setup_lod_materials()`. 8. Check Forward+ vs Mobile feature matrix before enabling SSS/clearcoat/anisotropy.
### Forward+ vs Mobile (material features)
| Feature | Forward+ | Mobile / Compatibility | WHY | |---------|----------|------------------------|-----| | Subsurface scattering / Skin Mode | Full | Limited / often unavailable | SSS needs Forward+ lighting path; fake with rim + transmittance bake on Mobile | | Clearcoat | Yes | Often stripped / approximate | Extra specular lobe cost; drop on distant LOD and Mobile | | Anisotropy | Yes | Prefer off | Flowmap + anisotropic BRDF burns mobile fragment budget | | Alpha Hash / Pixel Dither fade | Yes | Prefer Alpha Scissor or opaque dither | Hash noise + overdraw hurts tile GPUs | | Instance uniforms (batching) | Yes | Yes (prefer this) | Keeps one material; avoids unique-resource draw breaks |
---
## Transparency Modes
### Decision Matrix
| Mode | Use Case | Performance | Sorting Issues | |------|----------|-------------|---------------| | ALPHA_SCISSOR | Foliage, chain-link fence | Fast | No | | ALPHA_HASH | Dithered fade, LOD transitions | Fast | Noisy | | ALPHA | Glass, water, godot-particles | Slow | Yes (render order) |
### Alpha Scissor (Cutout)
```gdscript # For leaves, grass, fences mat.transparency = BaseMaterial3D.TRANSPARENCY_ALPHA_SCISSOR mat.alpha_scissor_threshold = 0.5 # Pixels < 0.5 alpha = discarded mat.albedo_texture = load("res://leaf.png") # Must have alpha channel
# Enable backface culling for performance mat.cull_mode = BaseMaterial3D.CULL_BACK ```
### Alpha Hash (Dithered)
```gdscript # For smooth fade-outs without sorting issues mat.transparency = BaseMaterial3D.TRANSPARENCY_ALPHA_HASH mat.alpha_hash_scale = 1.0 # Dither pattern scale
# Animate fade var tween := create_tween() tween.tween_property(mat, "albedo_color:a", 0.0, 1.0) ```
### Alpha Blend (Full Transparency)
```gdscript # For glass, water (expensive) mat.transparency = BaseMaterial3D.TRANSPARENCY_ALPHA mat.blend_mode = BaseMaterial3D.BLEND_MODE_MIX
# Disable depth writing for correct blending mat.depth_draw_mode = BaseMaterial3D.DEPTH_DRAW_DISABLED mat.cull_mode = BaseMaterial3D.CULL_DISABLED # Show both sides ```
---
## Texture Channel Packing
**MANDATORY** [`pbr_orm_packer.gd`](scripts/pbr_orm_packer.gd) for R=AO / G=Roughness / B=Metallic. Do not inline packing recipes here. Custom channel remaps only when an imported atlas already disagrees with ORM layout.
---
## Shader Conversion
### When to Convert to ShaderMaterial
- Need custom effects (dissolve, vertex displacement) - StandardMaterial3D limitations hit - Shader optimizations (remove unused features)
### Conversion Workflow
```gdscript # 1. Create StandardMaterial3D with all settings var std_mat := StandardMaterial3D.new() std_mat.albedo_color = Color.RED std_mat.metallic = 1.0 std_mat.roughness = 0.2
# 2. Convert to ShaderMaterial var shader_mat := ShaderMaterial.new() shader_mat.shader = load("res://custom_shader.gdshader")
# 3. Transfer parameters manually shader_mat.set_shader_parameter("albedo", std_mat.albedo_color) shader_mat.set_shader_parameter("metallic", std_mat.metallic) shader_mat.set_shader_parameter("roughness", std_mat.roughness) ```
---
## Material Variants (Godot 4.0+)
### Efficient Material Reuse
```gdscript # Base material (shared) var base_red_metal := StandardMaterial3D.new() base_red_metal.albedo_color = Color.RED base_red_metal.metallic = 1.0
# Variant 1: Rough var rough_variant := base_red_metal.duplicate() rough_variant.roughness = 0.8
# Variant 2: Smooth var smooth_variant := base_red_metal.duplicate() smooth_variant.roughness = 0.1
# Note: Use resource_local_to_scene for per-instance tweaks ```
---
## Performance Optimization
### Material Batching
```gdscript # ✅ GOOD: Reuse materials across meshes const SHARED_STONE := preload("res://materials/stone.tres")
func _ready() -> void: for wall in get_tree().get_nodes_in_group("stone_walls"): wall.material_override = SHARED_STONE # All walls batched in single draw call
# ❌ BAD: Unique material per mesh func _ready() -> void: for wall in get_tree().get_nodes_in_group("stone_walls"): var mat := StandardMaterial3D.new() # New material! mat.
Source provenance
Decision snapshot
660 GitHub stars
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for godot-3d-materials, ready for a manual X post.
godot-3d-materials: Expert patterns for Godot 3D PBR materials using StandardMaterial3D including albedo, metalli... 660 stars https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials?ref=x
Listing + install path for godot-3d-materials: https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials?ref=x Install: npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materials
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to thedivergentai but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials/audit)
[](https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)thedivergentai
@thedivergentai
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Sandbox only
UI-TARS Desktop
Run multimodal agents that operate desktop interfaces
37.0K Starsn8n
Connect agents to hundreds of workflow automations
194.1K StarsMoneyPrinterTurbo
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
88.5K StarsTasmota
Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
24.7K StarsSandbox only
Install targets
Codex install prompt
Install the "godot-3d-materials" agent skill from https://github.com/thedivergentai/GD-Agentic-Skills/tree/main/skills/godot-3d-materials. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: Expert patterns for Godot 3D PBR materials using StandardMaterial3D including albedo, metallic/roughness workflows, normal maps, ORM texture packing, transparency modes, and shader conversion. Use when creating realistic 3D surfaces, PBR workflows, or material optimization. Trigger keywords: StandardMaterial3D, BaseMaterial3D, albedo_texture, metallic, metallic_texture, roughness, roughness_texture, normal_texture, normal_enabled, orm_texture, transparency, alpha_scissor, alpha_hash, cull_mode, ShaderMaterial, shader parameters. After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"thedivergentai-godot-3d-materials","task":"Install godot-3d-materials","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Deep research, source comparison, literature review, RAG, knowledge search, and reports.
Scenario
RAG and knowledge
I need my agent to build a RAG workflow over documents and retrieve reliable context.
Agent fit
Claude Code + CLI + Codex
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materials
Maintenance
fresh
15d since push
Risk
Safe to try
SKILL.md excerpt is truncated in the provided data, but the visible content is clear and well-structured.
GitHub quality
660
75/100 Quality · 76/100 Trust
Coverage tags
Review notes
SKILL.md excerpt is truncated in the provided data, but the visible content is clear and well-structured. · The skill references external scripts and shaders that are not fully included in the excerpt, but they are part of the repository and presumably available.
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
StrongSolid option that is likely worth shortlisting for production workflows.
Trust
Sandbox onlyUseful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
Audit
Safe to tryA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Run only in a sandbox and compare close alternatives before using it for real work.
Stars
660 GitHub stars
Repo activity
660 stars, 40 forks
Maintenance
15d since push
License
LGPL-3.0
Install
npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materials
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materialsDo not use when
Agent safety v2
Good audit and safety signals with no high-risk permission hints in public metadata.
Review the audit page, then allow agent install in a sandboxed workflow.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20godot-3d-materials%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20godot-3d-materials%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/thedivergentai-godot-3d-materials/install
Agent should check
Copy prompt
Task: Use godot-3d-materials in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20godot-3d-materials%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/thedivergentai-godot-3d-materials/install
Install command: npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materials
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/thedivergentai-godot-3d-materials/install
LLM text format
/api/skills/thedivergentai-godot-3d-materials/install?format=text
Find alternatives
/api/skills/search?q=godot-3d-materials&limit=3
Agent prompt
Use godot-3d-materials for this task. Review https://www.openagentskill.com/api/skills/thedivergentai-godot-3d-materials/install, then install with: npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materialsRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/thedivergentai-godot-3d-materials
LLM text
/api/registry/manifest/thedivergentai-godot-3d-materials?format=text
Install alias
/api/registry/install/thedivergentai-godot-3d-materials
Recommend
/api/registry/recommend?task=Use%20godot-3d-materials%20in%20an%20agent%20workflow&limit=3
Agent fit
Local desktop
Use-case tags
Platforms
Claude Code
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Use this as a leading candidate, then validate the README and install path in your own agent stack.
Role in stack
Primary pick
Primary fit
Local desktop
Trust label
Production-ready
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.
GitHub adoption
INFO660 GitHub stars
Stars/forks activity
INFO660 stars, 40 forks; issue activity unavailable in current metadata
Recent maintenance
PASS15d since push
License clarity
PASSLGPL-3.0
Good signals
Review before install
Recommended action
Run only in a sandbox and compare close alternatives before using it for real work.
Quality profile
Solid option that is likely worth shortlisting for production workflows.
Workflow fit
Operate local tools
I need my agent to operate local files and desktop apps in a repeatable workflow.
Operate web apps
I need my agent to control a browser, fill forms, and verify web app workflows.
Automate repeated work
I need my agent to automate a repeated workflow across tools and files.
Workflow fit
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Operate and verify web apps
A workflow for agents that navigate products, fill forms, take screenshots, and verify real user flows across web applications.
Brief to publish-ready creative
A practical workflow for agents that shape a video brief, create strong multimodal prompts, generate supporting B-roll, and prepare a reviewable short-form or explainer video.
Alternative shortlist
Similar skills that may fit this task.
Run multimodal agents that operate desktop interfaces
Connect agents to hundreds of workflow automations
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
--- name: godot-3d-materials description: "Expert patterns for Godot 3D PBR materials using StandardMaterial3D including albedo, metallic/roughness workflows, normal maps, ORM texture packing, transparency modes, and shader conversion. Use when creating realistic 3D surfaces, PBR workflows, or material optimization. Trigger keywords: StandardMaterial3D, BaseMaterial3D, albedo_texture, metallic, metallic_texture, roughness, roughness_texture, normal_texture, normal_enabled, orm_texture, transparency, alpha_scissor, alpha_hash, cull_mode, ShaderMaterial, shader parameters." ---
# 3D Materials
Expert guidance for PBR materials and StandardMaterial3D in Godot.
## NEVER Do
- **NEVER use separate metallic/roughness/AO textures** — Use ORM packing (1 RGB texture with Occlusion/Roughness/Metallic channels) to save texture slots and memory. - **NEVER forget to enable normal_enabled** — Normal maps don't work unless you set `normal_enabled = true`. Silent failure is common. - **NEVER use TRANSPARENCY_ALPHA for cutout materials** — Use TRANSPARENCY_ALPHA_SCISSOR or TRANSPARENCY_ALPHA_HASH instead. Full alpha blending is expensive and causes sorting issues. - **NEVER set metallic = 0.5** — Materials are either metallic (1.0) or dielectric (0.0). Values between are physically incorrect except for rust/dirt transitions. - **NEVER use emission without HDR** — Emission values > 1.0 only work with HDR rendering enabled in Project Settings. - **NEVER use transparent materials for large environmental surfaces** — Transparent objects cannot rely on the Z-buffer for early fragment rejection, resulting in massive overdraw. If only a tiny part of a mesh is transparent, split the mesh into two surfaces: one opaque, one transparent. - **NEVER create hundreds of slightly varied StandardMaterial3D resources if performance is dropping** — Godot minimizes GPU state changes by automatically reusing the underlying shader for materials that share the exact same configuration flags (checkboxes). Try to group your material configurations. - **NEVER attempt to fix Z-fighting strictly by moving objects further apart** — Floating-point precision degrades over distance. To fix flickering textures, increase your Camera3D's `Near` plane property and decrease the `Far` property to compress the precision range. - **NEVER use unique Material resources per MeshInstance3D** — This breaks draw call batching. Use 'Instance Uniforms' to vary parameters while keeping a single shared material. - **NEVER mutate a shared Material `.tres` / surface material at runtime** — Call `duplicate(true)` or enable **Local To Scene**, then assign the unique instance before tweaking parameters. **MANDATORY** use [`material_fx.gd`](scripts/material_fx.gd) `ensure_unique_override()` / overlay helpers for flash/dissolve. - **NEVER use Decals on dynamic moving actors without a Cull Mask** — Bullet holes should not stick to the player's face as they walk over them. Mask out character layers.
---
## Available Scripts
> **MANDATORY**: Read the appropriate script before implementing the corresponding pattern.
### Workflow router (MANDATORY / Do NOT Load) | Task | Load | Do NOT Load | |------|------|-------------| | StandardMaterial3D / ORM / transparency | `pbr_orm_packer.gd`, `transparency_sorting_fix.gd`, `material_batcher.gd`, `material_fx.gd` | `triplanar_world*.gdshader`, `vertex_wind_sway.gdshader` | | UV-less terrain / cliffs | `triplanar_world.gdshader` or `triplanar_world_projection.gdshader` + `pbr_material_builder.gd` | Wind sway unless foliage | | Foliage wind | `vertex_wind_sway.gdshader` | Triplanar unless rock/terrain also needed | | Runtime damage / dissolve | **MANDATORY** `material_fx.gd` | Editing shared imported materials | | Instance color/health / texture-array variants | **MANDATORY** `instance_uniform_batching.gdshader` | Per-mesh unique StandardMaterial3D copies; body texture-array samples | | HLOD / distant material simplify | `material_batcher.gd` (`setup_lod_materials`) | Alpha-blend distance fade (use Pixel Dither) | | Organic SSS / rim / clearcoat | `organic_material.gd`, `subsurface_scattering_setup.gd` | SSS recipes on Mobile/Compatibility |
> Pure StandardMaterial3D albedo/ORM/transparency work: **Do NOT Load** triplanar, wind, or texture-array shaders.
### [material_fx.gd](scripts/material_fx.gd) **MANDATORY** for runtime FX. `ensure_unique_override()` / overlay flash / scissor dissolve — never tween shared `.tres` materials.
### [pbr_material_builder.gd](scripts/pbr_material_builder.gd) Runtime PBR material creation with ORM textures and triplanar mapping.
### [organic_material.gd](scripts/organic_material.gd) Subsurface scattering and rim lighting setup for organic surfaces (skin, leaves). Use for realistic character or vegetation materials.
### [triplanar_world.gdshader](scripts/triplanar_world.gdshader) Triplanar projection shader for terrain without UV mapping. Blends textures based on surface normals. Use for cliffs, caves, or procedural terrain.
### [pbr_orm_packer.gd](scripts/pbr_orm_packer.gd) Expert PBR resource utility. Packs Ambient Occlusion, Roughness, and Metallic into a single ORM texture to optimize VRAM and draw calls.
### [vertex_wind_sway.gdshader](scripts/vertex_wind_sway.gdshader) High-performance GPU-driven foliage animation. Uses vertex world coordinates and vertex color weight painting to simulate wind without skeletons.
### [triplanar_world_projection.gdshader](scripts/triplanar_world_projection.gdshader) UV-less environment mapping. Projects textures along X/Y/Z axes for organic blending over complex rocks and terrain.
### [subsurface_scattering_setup.gd](scripts/subsurface_scattering_setup.gd) Configuring realistic organic materials. Covers Skin Mode, Transmittance, and depth scattering settings for Forward+ rendering.
### [instance_uniform_batching.gdshader](scripts/instance_uniform_batching.gdshader) Architecture pattern for high-speed batching. Allows 10,000 meshes to share one material while maintaining unique colors or health states via instance uniforms.
### [decal_placer_expert.gd](scripts/decal_placer_expert.gd) Dynamic 3D decal system with cull masking and life-cycle management for impact effects.
### [transparency_sorting_fix.gd](scripts/transparency_sorting_fix.gd) Solving visual artifacts using Alpha Hash and Depth Prepass strategies.
### [shader_state_manager.gd](scripts/shader_state_manager.gd) Clean pattern for toggling shader-based visual states (Frozen, Burned) on multiple entities.
### [depth_precision_fix.gd](scripts/depth_precision_fix.gd) Camera-side fix for Z-fighting and texture flickering in large-scale worlds.
### [material_batcher.gd](scripts/material_batcher.gd) Global override system to ensure environmental meshes draw in optimized, state-locked batches.
---
## StandardMaterial3D Checklist (script-first)
1. Pack AO/Roughness/Metallic → **MANDATORY** [`pbr_orm_packer.gd`](scripts/pbr_orm_packer.gd); set `orm_texture` (never three separate maps). 2. Enable `normal_enabled` before assigning `normal_texture` (silent no-op otherwise). 3. Pick transparency from the matrix below — not docs-default ALPHA for cutouts. 4. Organic skin/leaves → [`organic_material.gd`](scripts/organic_material.gd) + [`subsurface_scattering_setup.gd`](scripts/subsurface_scattering_setup.gd) (Forward+ only for real SSS). 5. Runtime flash/dissolve → **MANDATORY** [`material_fx.gd`](scripts/material_fx.gd) `ensure_unique_override()` first. 6. Shared-mesh tint/variant → [`instance_uniform_batching.gdshader`](scripts/instance_uniform_batching.gdshader); never unique `.tres` per instance. 7. Distant LOD simplify / Pixel Dither fade → [`material_batcher.gd`](scripts/material_batcher.gd) `setup_lod_materials()`. 8. Check Forward+ vs Mobile feature matrix before enabling SSS/clearcoat/anisotropy.
### Forward+ vs Mobile (material features)
| Feature | Forward+ | Mobile / Compatibility | WHY | |---------|----------|------------------------|-----| | Subsurface scattering / Skin Mode | Full | Limited / often unavailable | SSS needs Forward+ lighting path; fake with rim + transmittance bake on Mobile | | Clearcoat | Yes | Often stripped / approximate | Extra specular lobe cost; drop on distant LOD and Mobile | | Anisotropy | Yes | Prefer off | Flowmap + anisotropic BRDF burns mobile fragment budget | | Alpha Hash / Pixel Dither fade | Yes | Prefer Alpha Scissor or opaque dither | Hash noise + overdraw hurts tile GPUs | | Instance uniforms (batching) | Yes | Yes (prefer this) | Keeps one material; avoids unique-resource draw breaks |
---
## Transparency Modes
### Decision Matrix
| Mode | Use Case | Performance | Sorting Issues | |------|----------|-------------|---------------| | ALPHA_SCISSOR | Foliage, chain-link fence | Fast | No | | ALPHA_HASH | Dithered fade, LOD transitions | Fast | Noisy | | ALPHA | Glass, water, godot-particles | Slow | Yes (render order) |
### Alpha Scissor (Cutout)
```gdscript # For leaves, grass, fences mat.transparency = BaseMaterial3D.TRANSPARENCY_ALPHA_SCISSOR mat.alpha_scissor_threshold = 0.5 # Pixels < 0.5 alpha = discarded mat.albedo_texture = load("res://leaf.png") # Must have alpha channel
# Enable backface culling for performance mat.cull_mode = BaseMaterial3D.CULL_BACK ```
### Alpha Hash (Dithered)
```gdscript # For smooth fade-outs without sorting issues mat.transparency = BaseMaterial3D.TRANSPARENCY_ALPHA_HASH mat.alpha_hash_scale = 1.0 # Dither pattern scale
# Animate fade var tween := create_tween() tween.tween_property(mat, "albedo_color:a", 0.0, 1.0) ```
### Alpha Blend (Full Transparency)
```gdscript # For glass, water (expensive) mat.transparency = BaseMaterial3D.TRANSPARENCY_ALPHA mat.blend_mode = BaseMaterial3D.BLEND_MODE_MIX
# Disable depth writing for correct blending mat.depth_draw_mode = BaseMaterial3D.DEPTH_DRAW_DISABLED mat.cull_mode = BaseMaterial3D.CULL_DISABLED # Show both sides ```
---
## Texture Channel Packing
**MANDATORY** [`pbr_orm_packer.gd`](scripts/pbr_orm_packer.gd) for R=AO / G=Roughness / B=Metallic. Do not inline packing recipes here. Custom channel remaps only when an imported atlas already disagrees with ORM layout.
---
## Shader Conversion
### When to Convert to ShaderMaterial
- Need custom effects (dissolve, vertex displacement) - StandardMaterial3D limitations hit - Shader optimizations (remove unused features)
### Conversion Workflow
```gdscript # 1. Create StandardMaterial3D with all settings var std_mat := StandardMaterial3D.new() std_mat.albedo_color = Color.RED std_mat.metallic = 1.0 std_mat.roughness = 0.2
# 2. Convert to ShaderMaterial var shader_mat := ShaderMaterial.new() shader_mat.shader = load("res://custom_shader.gdshader")
# 3. Transfer parameters manually shader_mat.set_shader_parameter("albedo", std_mat.albedo_color) shader_mat.set_shader_parameter("metallic", std_mat.metallic) shader_mat.set_shader_parameter("roughness", std_mat.roughness) ```
---
## Material Variants (Godot 4.0+)
### Efficient Material Reuse
```gdscript # Base material (shared) var base_red_metal := StandardMaterial3D.new() base_red_metal.albedo_color = Color.RED base_red_metal.metallic = 1.0
# Variant 1: Rough var rough_variant := base_red_metal.duplicate() rough_variant.roughness = 0.8
# Variant 2: Smooth var smooth_variant := base_red_metal.duplicate() smooth_variant.roughness = 0.1
# Note: Use resource_local_to_scene for per-instance tweaks ```
---
## Performance Optimization
### Material Batching
```gdscript # ✅ GOOD: Reuse materials across meshes const SHARED_STONE := preload("res://materials/stone.tres")
func _ready() -> void: for wall in get_tree().get_nodes_in_group("stone_walls"): wall.material_override = SHARED_STONE # All walls batched in single draw call
# ❌ BAD: Unique material per mesh func _ready() -> void: for wall in get_tree().get_nodes_in_group("stone_walls"): var mat := StandardMaterial3D.new() # New material! mat.
Source provenance
Decision snapshot
660 GitHub stars
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for godot-3d-materials, ready for a manual X post.
godot-3d-materials: Expert patterns for Godot 3D PBR materials using StandardMaterial3D including albedo, metalli... 660 stars https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials?ref=x
Listing + install path for godot-3d-materials: https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials?ref=x Install: npx skills add thedivergentai/GD-Agentic-Skills --skill godot-3d-materials
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to thedivergentai but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials/audit)
[](https://www.openagentskill.com/skills/thedivergentai-godot-3d-materials?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)thedivergentai
@thedivergentai
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Sandbox only
UI-TARS Desktop
Run multimodal agents that operate desktop interfaces
37.0K Starsn8n
Connect agents to hundreds of workflow automations
194.1K StarsMoneyPrinterTurbo
利用AI大模型,一键生成高清短视频 Generate short videos with one click using AI LLM.
88.5K StarsTasmota
Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
24.7K StarsPermission surface
no high-risk permission surface in public metadata
Agent outcomes
No agent outcome data yet
Docs
Usable metadata, review docs
Risk summary
Install readiness
Permission surface
no high-risk permission surface in public metadata
Agent outcomes
No agent outcome data yet
Docs
Usable metadata, review docs
Risk summary
Install readiness
Permission surface
no high-risk permission surface in public metadata
Agent outcomes
No agent outcome data yet
Docs
Usable metadata, review docs
Risk summary
Install readiness
Permission surface
no high-risk permission surface in public metadata
Agent outcomes
No agent outcome data yet
Docs
Usable metadata, review docs
Risk summary
Install readiness