Painted materials
Creating custom shaders to support painted materials
What are painted weights?
Using painted weights in a shader
import { LayerMixMode, mixColorsByLayer, rgb, standardMaterial } from "@hology/core/shader-nodes";
import { NodeShader, NodeShaderOutput } from "@hology/core/shader/shader";
export class ExampleShader extends NodeShader {
output(): NodeShaderOutput {
const color = mixColorsByLayer({
layerColors: [
rgb("#CCCCCC"), // Default color
rgb("#FF0000"), // Painted layer 1
rgb("#00FF00"), // Painted layer 2
rgb("#0000FF"), // Painted layer 3
],
enableNoise: true,
noiseScale: .5,
noiseAmount: .1,
mode: LayerMixMode.soft,
decay: .5,
})
return {
color: standardMaterial({color})
}
}
}
export default ExampleShader
Transitions
Last updated