material { name : heightfield, parameters : [ { type : sampler2d, name : height } ], requires : [ uv0 ], variables : [ color ], shadingModel : unlit, doubleSided : true, } vertex { void materialVertex(inout MaterialVertexInputs material) { float height = texture(materialParams_height, material.uv0).r; material.worldPosition.y = height - getWorldOffset().y; material.color.r = height; } } fragment { void material(inout MaterialInputs material) { prepareMaterial(material); material.baseColor.rgb = vec3(variable_color.r); } }