The goal of my look development was to rely on a procedural based surfacing process for a seamless workflow between the CG and effects teams. Procedural shaders will optimize the material application to the effects by allowing artists to quickly make adjustments instead of having to rework bitmap textures.

The rose gold shader is a simple metallic shader for the perfume bottle. I created a brushed option and a plain option using a simple scaled noise to drive specularity and displacement.

The mesh material for the aerosoliser of the fragrance bottle is an OSL shader from the Redshift OSL repository. The material is oriented using a vector math formula to rotate the UV inputs. The OSL output is altered using ramps and ranges to drive opacity, specularity, and displacement.

The material for the vines is a green shader with color, specular, and displacement variation driven by scaled noise maps.

The petal material is was created using vector math to create a procedural noise ramp that is easily randomized and adjusted in order to create a large array of petal colors. It took me a while to figure out where object space texture coordinate data was accessed in Redshift and I found absolutely zero documentation but after some guess work, I found that the data is stored in the rayposition output of the state node.

The crystal shader is still in development but currently its look is driven by a voronoi texture affecting the IOR.

My next goal is to create a procedural leaf texture, I have been messing around a bit with some procedural shapes. I usually use the website Desmos to sketch out equations and test shapes. I am struggling a little bit in getting the tiled tiers to curve outward like a leaf.

This is the completed high-poly mesh of the perfume bottle.

Reference used: