rial.uniforms.headVisible.value = uniforms.headVisible.value;
        mesh.material.uniforms.hit.value = uniforms.hit.value;

        onBeforeRender.apply(this, arguments);
      })(mesh.onBeforeRender);

      return new Promise((accept, reject) => {
        const skinImg = new Image();
        skinImg.crossOrigin = 'Anonymous';
        skinImg.src = skinUrl;
        skinImg.onload = () => {
          accept(skinImg);
        };
        skinImg.onerror = err => {
          reject(err);
        };
      })
