Silentnight is the largest UK manufacturer of beds and mattresses and is located in Barnoldswick, Lancashire, England. The company is owned by HIG Europe who acquired the company on 10 May 2011, following a period in administration. The company also manufactures Rest Assured beds & mattresses and was originally founded in 1946. Wikipedia
easy to manage
easy to work with
time efficient
consistency
less issues
In the background we have a docker container which is running three separate services, for Cutouts and Bed Builder (Image Composer and Bed Builder are now in one system. Image Composer is basically same image as Bed Builder but with white background). Every 2 minutes these services are checking the "STATUS" from the corresponding spreadsheet, if the status is one of "RENDER", "RENDER AND COMP", "COMP" or "ASSAMBLY" (ASSAMBLY is not yet implemented) the services is creating the necessary files and submits the job in the Deadline Monitor. One of this files is a simple 3ds max script file which contains the information about which products to import, where to place the products (X,Y,Z), shader requested for the product, camera angle etc.
Understanding how the naming work and why we use such naming in Silentnight is very important.
This is the naming template for all of the SN layers, it contains multiple criteria's for the products. All criteria's but be split but "_". Before we upload this in to the BB we rename again for system compatibility.
SCENE_SCENETYPE_FLOOR_WALL_FEET__DIVANTYPE_DIVANBASE_DIVANSTATE_MATTRESSRANGE_MATTRESS_MATTRESSBASE_HEADBOARDTYPE_HEADBOARD_DAMASKTYPE_COLOR_OFFSET_SIZE_CAMERA
Lets see one of the Divan layers as a example:
DIVAN_LOW_N_N_N_LBASE_2+2DRAWER_CLOSED_N_N_N_N_N_BOUCLE_CLOUD_N_135CM_ANGLE
Now lets split this in to the criteria's so we can see what's going on there:
SCENE: DIVAN
SCENE-TYPE: LOW
FLOOR: N
WALL: N
FEET: N
DIVAN-TYPE: LBASE
DIVAN-BASE: 2+2DRAWER
DIVAN-STATE: CLOSED
MATTRESS-RANGE: N
MATTRESS: N
MATTRESS-BASE: N
HEADBOARD-TYPE: N
HEADBOARD: N
DAMASK-TYPE: BOUCLE
COLOR: CLOUD
OFFSET: N
SIZE: 135CM
CAMERA: ANGLE
We can see a lot of "N" when we split this but what is actually this "N". The "N" represents that non of the criteria's values are applicable to this layer. For example the FLOOR criteria is N which means that this layer is not tied to specific floor value. OK but the MATTRESS is N again and we have multiple mattress, we can't set the HALF-OTTOMAN-2DRAWER to 2+2DRAWER Base. Yes that's correct, that's why we have a BB system to check the compatibility of the layers and assemble correct image.
The SCENE-TYPE criteria is very important, because we have different heights for the feet option, we need somehow to show this in the final image. For example the SILVER-GLIDES is around 3.6cm and the CHROME-LEG is 11.5cm. We cant afford to render all of the layers starting from the feet so we set a permanent position between the divan base and mattress and just move the camera and necessary elements to visually fake that the divan base and the mattress are going up and down depending of the feet height (some of the layers needs to be rendered two times). Standard Base divans (SBASE) are only rendered in STD SCENE-TYPE, the Low Base (LBASE) divans are needs to be rendered in both STD and LOW SCENE-TYPE because they support multiple feet option. MATTRESS also needs to be rendered two times for the different SCENE-TYPE LOW and STD. All of the positions are already set in the BB Spreadsheet.
OFFSET determents how much the HB will go UP to align correctly with the mattress. This is only valid for STRUTTED HB's the FULLHEIGHT HB's have fixed position to the floor. The OFFSET is actually the height of the mattress in millimeters, the BB system is automatically positioning the HB when its assembling the image.
BB is Silentnight bed configurator developed and maintained by CCW/RS team. It's generally split by two parts. First part is the production part the second one is the software part.
The production part (image automation) is developed by Georgi Marinov. This is basically outputting/rendering the layers.
The software part is originally developed by Rostislav Marinov but Sam Slater is maintaining it. This one makes the actually assembly of the layers and produce a final image.
We will be focusing on the Production part here.
Divan
Feet
HB
Mattress
Divan: the RGB render showcasing the base, which comes in various versions such as the Standard Base, Low Base, and Bedframe. Each variant is equipped with distinct storage options, and these storage configurations can be in either an open or closed state.
Layers Naming:
Example - DIVAN_LOW_N_N_N_LBASE_2+2DRAWER_CLOSED_N_N_N_N_N_BOUCLE_CLOUD_N_135CM_ANGLE
SCENE: DIVAN
SCENE-TYPE: LOW / STD
FLOOR: N
WALL: N
FEET: N
DIVAN-TYPE: SABSE / LBASE / BEDFRAME
DIVAN-BASE: STORAGE -OPTIONS-LINK
DIVAN-STATE: OPEN / CLOSED
MATTRESS-RANGE: N
MATTRESS: N
MATTRESS-BASE: N
HEADBOARD-TYPE: N
HEADBOARD: N
DAMASK-TYPE: FABRIC-LINK
COLOR: FABRIC-LINK
OFFSET: N
SIZE: 90CM / 135CM / 150CM / 180CM
CAMERA: ANGLE
Feet: the RGB render showcasing the feet options. Standard Base comes only in Sliver Glides feet option.
Layers Naming:
Example - FEET_LOW_N_N_BEECH-LEG_LBASE_2+2DRAWER_N_N_N_N_N_N_N_N_N_135CM_ANGLE
SCENE: FEET
SCENE-TYPE: LOW / STD
FLOOR: N
WALL: N
FEET: FEET-OPTIONS-LINK
DIVAN-TYPE: SABSE / LBASE / BEDFRAME
DIVAN-BASE: STORAGE -OPTIONS-LINK
DIVAN-STATE: N
MATTRESS-RANGE: N
MATTRESS: N
MATTRESS-BASE: N
HEADBOARD-TYPE: N
HEADBOARD: N
DAMASK-TYP: N
COLOR: N
OFFSET: N
SIZE: 90CM / 135CM / 150CM / 180CM
CAMERA: ANGLE
HB: the RGB render showcasing the HB options. We have two types of headboards, Strutted and Full Height.
Layers Naming:
Example - HB_N_N_N_N_N_N_N_N_N_N_FullHeight_Bennett_Boucle_Cloud_N_135CM_Angle
SCENE: HB
SCENE-TYPE: N
FLOOR: N
WALL: N
FEET: N
DIVAN-TYPE: N
DIVAN-BASE: N
DIVAN-STATE: N
MATTRESS-RANGE: N
MATTRESS: N
MATTRESS-BASE: N
HEADBOARD-TYPE: HEADBOARDS-LINK
HEADBOARD: HEADBOARDS-LINK
DAMASK-TYP: FABRIC-LINK
COLOR: FABRIC-LINK
OFFSET: N
SIZE: 90CM / 135CM / 150CM / 180CM
CAMERA: ANGLE
Mattress: the RGB render showcasing the mattress options. We have several mattress layers depending on the divan base.
Layers Naming:
Example - MATTRESS_LOW_N_N_N_N_N_N_ECO_COMFORT-1200_FULL-OTTOMAN_N_N_N_N_271_135CM_ANGLE
SCENE: MATTRESS
SCENE-TYPE: LOW / STD
FLOOR: N
WALL: N
FEET: N
DIVAN-TYPE: N / BEDFRAME
DIVAN-BASE: N
DIVAN-STATE: N
MATTRESS-RANGE: MATTRESSES-LINK
MATTRESS: MATTRESSES-LINK
MATTRESS-BASE: N / HALF-OTTOMAN-CONTI / HALF-OTTOMAN-2DRAWER / FULL-OTTOMAN
HEADBOARD-TYPE: N
HEADBOARD: N
DAMASK-TYP: N
COLOR: N
OFFSET: OFFSET
SIZE: 90CM / 135CM / 150CM / 180CM
CAMERA: ANGLE
RoomShdBase
RoomShdFeet
RoomShdHB
RoomShdMattress
ShdDivanHB
ShdHBDivan
ShdHBMattress
ShdMattressHB
RoomShdBase: render showcasing the shadow dropped by the base to the floor
Layers Naming:
Example - ROOMSHDBASE_LOW_GRAPHITE-TWIST-CARPET_N_N_SBASE_HALF-OTTOMAN-CONTI_CLOSED_N_N_N_N_N_N_N_N_180CM_ANGLE
SCENE: ROOMSHDBASE
SCENE-TYPE: LOW / STD
FLOOR: FLOOR-LINK
WALL: N
FEET: N
DIVAN-TYPE: SABSE / LBASE / BEDFRAME
DIVAN-BASE: STORAGE -OPTIONS-LINK
DIVAN-STATE: OPEN / CLOSED
MATTRESS-RANGE: N
MATTRESS: N
MATTRESS-BASE: N
HEADBOARD-TYPE: N
HEADBOARD: N
DAMASK-TYPE: N
COLOR: N
OFFSET: N
SIZE: 90CM / 135CM / 150CM / 180CM
CAMERA: ANGLE
RoomShdFeet: render showcasing the shadow dropped by the feet to the floor
Layers Naming:
Example - ROOMSHDFEET_LOW_BELVOIR-HERRINGBONE-FLOORING_N_BEECH-LEG_LBASE_2+2DRAWER_N_N_N_N_N_N_N_N_N_135CM_ANGLE
SCENE: ROOMSHDFEET
SCENE-TYPE: LOW / STD
FLOOR: FLOOR-LINK
WALL: N
FEET: FEET-OPTIONS-LINK
DIVAN-TYPE: SABSE / LBASE / BEDFRAME
DIVAN-BASE: STORAGE -OPTIONS-LINK
DIVAN-STATE: N
MATTRESS-RANGE: N
MATTRESS: N
MATTRESS-BASE: N
HEADBOARD-TYPE: N
HEADBOARD: N
DAMASK-TYPE: N
COLOR: N
OFFSET: N
SIZE: 90CM / 135CM / 150CM / 180CM
CAMERA: ANGLE
RoomShdHB: render showcasing the shadow dropped by the HB to the room wall
Layers Naming:
Example - ROOMSHDHB_N_BELVOIR-HERRINGBONE-FLOORING_N_N_N_N_N_N_N_N_FULLHEIGHT_BENNETT_N_N_N_135CM_ANGLE
SCENE: ROOMSHDHB
SCENE-TYPE: N
FLOOR: FLOOR-LINK
WALL: N
FEET: N
DIVAN-TYPE: N
DIVAN-BASE:N
DIVAN-STATE: N
MATTRESS-RANGE: N
MATTRESS: N
MATTRESS-BASE: N
HEADBOARD-TYPE: HEADBOARDS-LINK
HEADBOARD: HEADBOARDS-LINK
DAMASK-TYPE: N
COLOR: N
OFFSET: N
SIZE: 90CM / 135CM / 150CM / 180CM
CAMERA: ANGLE
RoomShdMattress: render showcasing the shadow dropped by the Mattress to the room wall
Layers Naming:
Example - ROOMSHDMATTRESS_LOW_N_N_N_N_N_N_ECO_COMFORT-1200_FULL-OTTOMAN_N_N_N_N_OFS_135CM_ANGLE
SCENE: ROOMSHDMATTRESS
SCENE-TYPE: LOW / STD
FLOOR: N
WALL: N
FEET: N
DIVAN-TYPE: N
DIVAN-BASE:N
DIVAN-STATE: N
MATTRESS-RANGE: MATTRESSES-LINK
MATTRESS: MATTRESSES-LINK
MATTRESS-BASE: N
HEADBOARD-TYPE: N
HEADBOARD: N
DAMASK-TYPE: N
COLOR: N
OFFSET: OFFSET
SIZE: 90CM / 135CM / 150CM / 180CM
CAMERA: ANGLE
ShdDivanHB: render showcasing the shadow dropped by the DIVAN to the HEADBOARD
Layers Naming:
Example - SHDDIVANHB_LOW_N_N_N_LBASE_2+2DRAWER_CLOSED_N_N_N_FULLHEIGHT_PALERMO_N_N_N_135CM_ANGLE
SCENE: SHDDIVANHB
SCENE-TYPE: LOW / STD
FLOOR: N
WALL: N
FEET: N
DIVAN-TYPE: SABSE / LBASE / BEDFRAME
DIVAN-BASE: STORAGE -OPTIONS-LINK
DIVAN-STATE: OPEN / CLOSED
MATTRESS-RANGE: N
MATTRESS: N
MATTRESS-BASE: N
HEADBOARD-TYPE: HEADBOARDS-LINK
HEADBOARD: HEADBOARDS-LINK
DAMASK-TYPE: N
COLOR: N
OFFSET: N
SIZE: 90CM / 135CM / 150CM / 180CM
CAMERA: ANGLE
ShdHBDivan: render showcasing the shadow dropped by the HEADBOARD to the DIVAN
Layers Naming:
Example - SHDHBDIVAN_LOW_N_N_N_LBASE_2+2DRAWER_CLOSED_N_N_N_FULLHEIGHT_PALERMO_N_N_N_135CM_ANGLE
SCENE: SHDHBDIVAN
SCENE-TYPE: LOW / STD
FLOOR: N
WALL: N
FEET: N
DIVAN-TYPE: SABSE / LBASE / BEDFRAME
DIVAN-BASE: STORAGE -OPTIONS-LINK
DIVAN-STATE: OPEN / CLOSED
MATTRESS-RANGE: N
MATTRESS: N
MATTRESS-BASE: N
HEADBOARD-TYPE: HEADBOARDS-LINK
HEADBOARD: HEADBOARDS-LINK
DAMASK-TYPE: N
COLOR: N
OFFSET: N
SIZE: 90CM / 135CM / 150CM / 180CM
CAMERA: ANGLE
ShdHBMattress: render showcasing the shadow dropped by the HEADBOARD to the MATTRESS
Layers Naming:
Example - SHDHBMATTRESS_LOW_N_N_N_N_N_N_ECO_COMFORT-1200_FULL-OTTOMAN_FULLHEIGHT_PALERMO_N_N_N_135CM_ANGLE
SCENE: SHDHBMATTRESS
SCENE-TYPE: LOW / STD
FLOOR: N
WALL: N
FEET: N
DIVAN-TYPE: N
DIVAN-BASE: N
DIVAN-STATE: N
MATTRESS-RANGE: MATTRESSES-LINK
MATTRESS: MATTRESSES-LINK
MATTRESS-BASE: N / HALF-OTTOMAN-CONTI / HALF-OTTOMAN-2DRAWER / FULL-OTTOMAN
HEADBOARD-TYPE: HEADBOARDS-LINK
HEADBOARD: HEADBOARDS-LINK
DAMASK-TYPE: N
COLOR: N
OFFSET: N
SIZE: 90CM / 135CM / 150CM / 180CM
CAMERA: ANGLE
ShdMattressHB: render showcasing the shadow dropped by the MATTRESS to the HEADBOARD
Layers Naming:
Example - SHDMATTRESSHB_LOW_N_N_N_N_N_N_ECO_COMFORT-1200_FULL-OTTOMAN_FULLHEIGHT_PALERMO_N_N_N_135CM_ANGLE
SCENE: SHDMATTRESSHB
SCENE-TYPE: LOW / STD
FLOOR: N
WALL: N
FEET: N
DIVAN-TYPE: N
DIVAN-BASE: N
DIVAN-STATE: N
MATTRESS-RANGE: MATTRESSES-LINK
MATTRESS: MATTRESSES-LINK
MATTRESS-BASE: N / HALF-OTTOMAN-CONTI / HALF-OTTOMAN-2DRAWER / FULL-OTTOMAN
HEADBOARD-TYPE: HEADBOARDS-LINK
HEADBOARD: HEADBOARDS-LINK
DAMASK-TYPE: N
COLOR: N
OFFSET: N
SIZE: 90CM / 135CM / 150CM / 180CM
CAMERA: ANGLE
DivanMask
HBMask
DivanMask: the MASK render showcasing the base drawers opened. This mask is used to cut the HB when storage is opened. We output this layer manually.
Layers Naming:
Example - DivanMask_LOW_N_N_N_SBase_HALF-OTTOMAN-2DRAWER_Open_N_N_N_N_N_N_N_N_135CM_Angle
SCENE: DivanMask
SCENE-TYPE: LOW / STD
FLOOR: N
WALL: N
FEET: N
DIVAN-TYPE: SABSE / LBASE / BEDFRAME
DIVAN-BASE: STORAGE -OPTIONS-LINK
DIVAN-STATE: OPEN / CLOSED
MATTRESS-RANGE: N
MATTRESS: N
MATTRESS-BASE: N
HEADBOARD-TYPE: N
HEADBOARD: N
DAMASK-TYPE: N
COLOR: N
OFFSET: N
SIZE: 90CM / 135CM / 150CM / 180CM
CAMERA: ANGLE
HBMask: the MASK render showcasing the HB left part (if it's prominent). We use this mask to cut everything behind it . We output this layer manually.
Layers Naming:
Example - HBMASK_N_N_N_N_N_N_N_N_N_N_FULLHEIGHT_EVANA_N_N_N_135CM_ANGLE
SCENE: HBMASK
SCENE-TYPE: N
FLOOR: N
WALL: N
FEET: N
DIVAN-TYPE: N
DIVAN-BASE: N
DIVAN-STATE: N
MATTRESS-RANGE: N
MATTRESS: N
MATTRESS-BASE: N
HEADBOARD-TYPE: HEADBOARDS-LINK
HEADBOARD: HEADBOARDS-LINK
DAMASK-TYP: FABRIC-LINK
COLOR: N
OFFSET: N
SIZE: 90CM / 135CM / 150CM / 180CM
CAMERA: ANGLE
All assets prepared for the SN system are placed here: P:\VM8009_SILENTNIGHT\ASSET_BUILD\99_CONTENT
P:\VM8009_SILENTNIGHT\ASSET_BUILD\99_CONTENT
+---CC - contains all color corrections for the shaders
+---DIVAN - contains all divan bases with their variants (type, storage option, state, size)
+---FEET - contains all feet options with their variants
+---FLOOR - contains all floor options
+---HB - contains all headboards options with their variants
+---MATTRESS - contains all mattress options with their variants (type, storage option, size)
+---ROOM - contains all rooms size options
+---SHADERS - contains shaders
+---SKIRTING - contains all skirtting size options