> For the complete documentation index, see [llms.txt](https://docs.hology.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hology.app/zh-tw/shaders/zhu-se-qi-can-shu.md).

# 著色器參數

著色器參數/Shader parameters是著色器類別中的屬性，您可以在編輯器中為使用該著色器創建的材質設置這些屬性。這使您能夠在編輯器中自訂著色器的外觀，並重複使用相同的程式碼來適用於不同的材質。

可以透過在角色類別（actor class）中的屬性上添加 `@Parameter()` 裝飾器來創建參數。參數的類型將根據屬性的型別註解自動推斷。

以下範例展示了目前支援的所有類型：

```typescript
import { rgb, standardMaterial } from "@hology/core/shader-nodes";
import { NodeShader, NodeShaderOutput, Parameter } from "@hology/core/shader/shader";
import { Color, Vector2, Vector3, Color, Euler } from "three";

export class ExampleShader extends NodeShader {
    @Parameter() color: Color = new Color(0xff0000)
    @Parameter() aNumber: number
    @Parameter() aBoolen: boolean
    @Parameter() aString: string
    @Parameter() vec2: Vector2
    @Parameter() vec3: Vector3
    @Parameter() color: Color
    @Parameter() rotation: Euler

    output(): NodeShaderOutput {
        return {
            color: standardMaterial({color: rgb(this.color)})
        }
    }
}
```
