material.json¶
{
// defines the identifier name, together with the supplier should be
// able to define a globally unique material name (eg: `loro_piano.python_raw`)
"name": "python_raw",
// defines the material public name, to be used after the rendering phase
// this name should group of materials that share a set of features typically
// defined commercial and/or marketing point of view
"output": "python",
// defines the material technical name, to be used within the production
// pipeline and not outside of this context
"techname": "python_raw",
// describes the material in a clear and succinct way, may be used for external
// visual description of the material and as such should be properly curated
"description": "Nappa is a finer and notably smooth cow leather with a buttery texture. Here, it is supplied by a leading Italian tannery.",
// sets the material version (semantic version - major.minor.patch)
"version": "1.4.1",
// declares the Global Trade Item Number (incorporated into several product
// identifying standards like ISBN, UPC, and EAN)
"gtin": "2388060103489",
// declares the Manufacturer Part Number, an internal identifier assigned
// to material by its manufacturer
"mpn": "A456-426655440000",
// declares the unique identifier that refers to the particular
// stock keeping unit of a material within a factory or supplier
"sku": "PY1205",
// declares the material supplier
"supplier": "loro_piano",
// declares essential cites's material information
"cites" : {
// scientific name (genus and species) and common name
"scientific_name": "Lorem ipsum",
// arbitrary cites data
"$notes": { }
},
// defines all the material color variations
"colors": [
"black",
"white",
"grey",
"blush"
],
// declares the archived photographies that
// were taken of received material samples
"samples": [
"python_grey_20180804.raw",
"python_black_20180804.raw"
],
// declares the material process,
// - legacy for migrated materials from V-Ray
// - procedural for mathematical methods
// - scan for scanned materials
// indirectly defines the mandatory content of `technical`
"type": "legacy",
// describes technical data used during the visual assets production
"technical": {
// declares the preferred mesh to be used
// when displaying the material
"mesh": "shader_ball",
// declares renderer config data
"renderer": {
"maya": {
// manually set for future application
"height": 0.15,
// manually set for future application
"normal": 1,
"outputs": [
"base_color",
"normal",
"roughness",
"metallic",
"height"
]
},
"redshift": {
"tilling": {
// type can be overall, pattern and detail.
// "overall" is applied when no other type is set.
"type": "overall",
"U": 1,
"V": 1
}
},
"vray": {
"tilling": {
"type": "overall",
"U": 1,
"V": 1
}
},
"photo": {
"model": "Canon EOS 350D",
"orientation": "Horizontal",
"x_resolution": 72,
"y_resolution": 72,
"y_cb_cr_positioning": "Co-sited",
"shutter": "1/400",
"fnumber": "14.0",
"exposure_program": "Program AE",
"iso": 400,
"focal_length": "55.0mm",
"flash": false,
"white_balance": "Auto"
},
// declares the swatches creation config data
// more than one configuration supported,
// meaning for each configuration a set of
// swatches will be generated
"swatches": [{
// assumes that the spec, including rendering options,
// are all the same except for the "mesh"
"mesh": "plane",
// swatch dimension
"width": 500,
"height": 500,
// re-positioning values
"offset_x": 20,
"offset_y": 50
}]
}
}
}
material.sub.json¶
{
// path to the parent's file, should be relative to
// the path of the parent
"$parent": "python.natural.json",
"name": "python_white",
"output": "python",
"techname": "python_white",
"sku": "PY120504",
"technical": {
"maya": {
// small technical detail from the maya context
// top be used by that technology
"height": 0.25,
// invalidates parent's spec.maya.normal, by setting
// the value of the key to null (unset value)
"normal": null
}
}
}