• hair colour overrides
    • can use any colour (including patterns and functions)
    • separate override of eyebrow fill
  • usability improvements
    • fix shoe side view scaling
    • specify offset for where x=0 and y=0 are placed

How to Override

Pass in these properties to the object for constructing the avatar:

var PC = new da.Player({

        // bunch of other stuff
        
        // not specifying or passing in null uses the default based on dim
        hairFill       : null,
        hairStroke     : null,
        browFill       : null,
        lashFill       : null,
    });

You can create some nice looking ombre with gradients (check out gradient creator) for a tool that can help you write code for creating gradients.

// you'll want to add patterns before da.load for most consistent results
da.addPattern("blue-black ombre", function (ctx, ex) {
    var skull = ex[da.Part.RIGHT].skull;
    var grd = ctx.createRadialGradient(skull.x, skull.y, 0, skull.x, skull.y, 100);
    
    grd.addColorStop(0, 'rgba(45, 65, 79, 1.000)');
    grd.addColorStop(0.1, 'rgba(0, 0, 0, 1.000)');
    grd.addColorStop(0.459, 'rgba(45, 65, 79, 1.000)');
    grd.addColorStop(1.000, 'rgba(255, 255, 255, 1.000)');

    return grd;
});

Then later after loading when you create the avatar

var PC = new da.Player({
        hairFill  : da.getPattern("blue-black ombre"),
        hairStroke: da.getPattern("blue-black ombre")
    });

ombre