Demo.prototype.addHumanoid = function () {
    this.loader.addAnimation([{
        id: "humanoid",
        object: {
            name: "obj/humanoid.glb",
            animations: {
                "danc1": { "weight": 1.0, timeScale: 1, timescale: 125/60*.25, enabled: ()=>Sync.get('Humanoid:dance1') < 0.1 ? false : true, loop: true },
                "danc2": { "weight": 1.0, timeScale: 1, timescale: 125/60*.25, enabled: ()=>Sync.get('Humanoid:dance2') < 0.1 ? false : true, loop: true },

                "vitru": { "weight": 1.0, timeScale: 1, timescale: .05, enabled: ()=>Sync.get('Humanoid:vitru') < 0.1 ? false : true, loop: false }
            }
        }
        , position: [{
            x: () => Math.sin(getSceneTimeFromStart() * 10) * 0.015,
            y: -.5,
            z: 0
        }]
        , angle: [{
            degreesY: () => 190 + 0*Math.sin(getSceneTimeFromStart() * 10) * 20,
            degreesX: 0,
           // degreesZ: () => Math.sin(getSceneTimeFromStart() * 1) * 40
        }]
        , scale: [{ uniform3d: .1 }],
        shader: {
            fragmentShaderPrefix: `
          uniform float colorR;
          uniform float colorG;
          uniform float colorB;
        `,
            fragmentShaderSuffix: `
          gl_FragColor.rgb *= vec3(colorR, colorG, colorB);
        `,
            variable: [
                { name: 'colorR', value: [() => Sync.get('Humanoid:ColorR')] },
                { name: 'colorG', value: [() => Sync.get('Humanoid:ColorG')] },
                { name: 'colorB', value: [() => Sync.get('Humanoid:ColorB')] },
            ]
        }
    }]);

    this.loader.addAnimation([{
        parent: "humanoid.Head",
        object: {
            name: "obj/obj_allseeing.obj",
        }
        , position: [{
            x: 0.0,
            y: .15,
            z: 0
        }]
  
        , angle: [{

            degreesY: () => getSceneTimeFromStart() * 90,

        }]
        , scale: [{ uniform3d: ()=>.075*Sync.get('Humanoid:AllSeeingHeadScale')  }]
    }]);

        this.loader.addAnimation([{
        parent: "humanoid.Head",
        object: {
            name: "obj/eyebeam.obj",
        }
        , position: [{
            x: 0.0,
            y: 0.1,
            z: 0.00
        }],
        angle: [{
           degreesY: () => getSceneTimeFromStart() * 90,
        }]
        , scale: [{ uniform3d: () => Sync.get('Humanoid:HeadBeam') * .03 + (Sync.get('Humanoid:HeadBeam') < 0.01 ? 0 : 1)*Math.abs(Math.sin(getSceneTimeFromStart() * 10)) * .03}]
    }]);

    this.loader.addAnimation([{
        parent: "humanoid.Head",
        object: {
            name: "obj/helloville.obj",
        }
        , position: [{
            x: 0.0,
            y: -.01,
            z: 0
        }]
  
        , angle: [{

            degreesX: () => Math.sin(getSceneTimeFromStart() * 10) * 70 + 35,

        }]
        , scale: [{ uniform3d: ()=>.075*Sync.get('Humanoid:VilleHeadScale') }]
    }]);

    this.loader.addAnimation([{
        parent: "humanoid.HandL",
        object: {
            name: "obj/farjan.obj",
        }
        , position: [{
            x: 0,
            y: 0,
            z: 0.0
        }]
        , angle: [{
            degreesY: 125,
            degreesX: () => getSceneTimeFromStart() * 350,
            degreesZ: 90
        }]
        , scale: [{ uniform3d: .05 }]
    }]);

    // Eyeboobs
    this.loader.addAnimation([{
        parent: "humanoid.TorsoMid",
        object: null,
        id: "allseeingRoot"
        , position: [{
            x: 0,
            y: 0,
            z: 0,
        }],
        scale: [{ uniform3d: ()=>.05 + Sync.get('Humanoid:AllSeeingBoobs')}]
    }]);

    this.loader.addAnimation([{
        parent: "allseeingRoot",
        object: {
            name: "obj/obj_allseeing.obj",
        }
        , position: [{
            x: 0.06,
            y: 0.07,
            z: 0.06,
        }],
        angle: [{
            degreesX: 15,
        }]
        , scale: [{ uniform3d: () => .05 + Sync.get('Music:Kick') * .03 }]
    }]);



    this.loader.addAnimation([{
        parent: "allseeingRoot",
        object: {
            name: "obj/obj_allseeing.obj",
        }
        , position: [{
            x: -0.04,
            y: 0.07,
            z: 0.06,
        }],
        angle: [{
            degreesX: 15,
        }]
        , scale: [{ uniform3d: () => .05 + Sync.get('Music:Snare') * .03 }]
    }]);



    this.loader.addAnimation([{
        parent: "humanoid.TorsoLow",
        id: "syringeRoot",
        object: null
        , position: [{
            x: 0,
            y: 0.00,
            z: 0.00,
        }]
    }]);

    this.loader.addAnimation([{
        parent: "syringeRoot",
        object: {
            name: "obj/syringe.glb",
        }
        , position: [{
            x: -.2,
            y: 0.00,
            z: 0.00,
        }],
        angle: [{
            degreesZ: 115,
        }]
        , scale: [{ uniform3d: .1 }]
    }]);
}