async preProcessing() {
    try {
      const preload = this.rootConf('preload');
      const creator = this.getCreator();
      const { loader } = creator;

      // sub child preProcessing
      await creator.runScenesFunc(async node => await node.preProcessing());

      // sub child preload
      await creator.runScenesFunc(async node => {
        if (preload && node.preload) {
          const urls = node.getPreloadUrls();
          forEach(urls, url => {
            if (url) {
              if (/.+(\.[\d\w]{1,10})$/.test(url)) loader.add(url, url);
              else loader.add(url, url, { loadType: 2 });
            }
          });
        }
      });
      await loader.loadAsync();

      creator.removeAllDisplayChildren();
    } catch (error) {
      this.emitError({ error, pos: 'preProcessing' });
    }
  }
Prepare processing materials in advance
@private