This file can override node properties and material definitions. Since version 0.1.0 this file is optional and can be used for mass overriding of properties.
All keys except for material and node names are case sensitive.
This section overrides properties for single node objects. These options currently only work for mesh nodes.
MyNode: this should be replaced with the node name. Multiple wildcards ( * ) allowed. Multiple node node names can be separated with a vertical bar ( | ). e.g.: "*yNode|MyNode|M*N*o*e"
lodIn: this should be minimum distance where the node is visible, default 0
lodOut: this should be the maximum distance until the node disappears, default 0
layer: unknown, default 0
castShadows: can be set to false for performance optimizations, default true
isVisible: unknown. Maybe replaced by isRenderable, default true
isTransparent: unknown. Maybe only useful in combination with the right material, default false
isRenderable: controls if this node is drawn or not. Can be used for hidden physic walls, default true
This section is needed for your own materials.
Here is a list of existing shaders with their input parameters: Shader values template
Any entry in properties/textures will remove all existing properties/textures entries from Blender or other material sections.
MyMaterial: this should be replaced with the material name from Blender. Same syntax like in node names allowed.
shaderName: this must be the name of a shader of the shader directory "system\shaders"
optional alphaBlendMode: must be one of the following values: "Opaque", "AlphaBlend" or "AlphaToCoverage", default "Opaque"
optional alphaTested: seems only be relevant for objects that are not set to "Opaque", default false
optional depthMode: must be one of the following values: "DepthNormal", "DepthNoWrite", "DepthOff", default "DepthNormal"
properties: a list of shader input properties
someProperty: the name of the property to set
optional valueA: a single float, default 0.0
optional valueB: a vector of 2 floats, default [0.0, 0.0]
optional valueC: a vector of 3 floats, default [0.0, 0.0, 0.0]
optional valueD: a vector of 4 floats, default [0.0, 0.0, 0.0, 0.0]
textures: a list of input textures for the shader
txDiffuse: the name of the input variable
slot: unknown, seems to be best to just increase it for every input texture, start at 0
textureName: the name of a Blender texture to use. It may be possible to even use textures not included in the .kn5 file. They probably only have to be in the right folder.