Nana Plays Minesweeper

    seinjs-gltf-loader

    0.9.28 • Public • Published

    seinjs-gltf-loader

    npm i seinjs-gltf-loader --save

    Using

    Webpack config:

    {
      test: /\.(gltf|glb)$/,
      use: [
        {
          loader: 'seinjs-gltf-loader',
          options: {
            // Prefix for all assets, defaults to 'output.publicPath'
            publicPath?: string;
            // Only valid when file is '.gltf'
            compress?: {
              // Enable compression
              enabled: boolean;
              // Rules for excluding unnecessary files
              excludes?: (RegExp | ((path: string) => boolean))[],
              // more options
            };
            /* If compress textures
            * Enable this option will make loader generates different gltf/glb entries for iOS(pvrtc)/Android(astc)/NotSupport(png/jpg).
            * Then will use `getExtension` to decide which one will be exported.
            * A boolean `window.__force_fallback_compress_textures` also can be used to fallback texture yourself.
            */
            compressTextures?: {
              enabled: boolean;
              /**
               * @default 'medium'
               */
              quality?: 'high' | 'medium' | 'low';
              /**
               * Rules for excluding unnecessary files
               */
              excludes?: (RegExp | ((path: string) => boolean))[];
              /**
               * Customize ASTC options
               * 
               * @default {enabled:true}
               */
              astc?: {
                enabled?: boolean;
                formatOpaque?: string;
                formatTransparent?: string;
                quality?: 'astcfast' | 'astcmedium' | 'astcthorough';
                excludes?: (RegExp | ((path: string) => boolean))[];
              };
              /**
               * Customize PVRTC options
               * 
               * @default {enabled:true}
               */
              pvrtc?: {
                enabled?: boolean;
                formatOpaque?: 'PVRTC1_4' | 'PVRTC1_4';
                formatTransparent?: 'PVRTC1_2_RGB' | 'PVRTC1_4_RGB';
                quality?: 'pvrtcbest' | 'pvrtnormal';
                excludes?: (RegExp | ((path: string) => boolean))[];
              };
              /**
               * Customize ETC options
               * 
               * @default {enabled:false}
               */
              etc?: {
                enabled?: boolean;
                formatOpaque?: 'ETC2_RGB';
                formatTransparent?: 'ETC2_RGBA';
                quality?: 'etcfast' | 'etcslow';
                excludes?: (RegExp | ((path: string) => boolean))[];
              };
              /**
               * Customize S3TC options
               * 
               * @default {enabled:false}
               */
              s3tc?: {
                enabled?: boolean;
                formatOpaque?: 'DXT1' | 'DXT3' | 'DXT5';
                formatTransparent?: 'DXT1A' | 'DXT3'| 'DXT5';
                quality?: 'fast' | 'normal' | 'better';
                excludes?: (RegExp | ((path: string) => boolean))[];
              };
              /**
               * Customize fallback options
               */
              fallback?: {
                useRGBA4444?: boolean;
                useRGB565?: boolean;
                excludes?: (RegExp | ((path: string) => boolean))[];
              };
            };
            base64?: {
              // Enable base64
              enabled: boolean;
              // Default to 1000
              threshold?: number;
              // If allow the GlTF/GLB files to base64
              includeGlTF?: boolean;
              // Rules for excluding unnecessary files
              excludes?: (RegExp | ((path: string) => boolean))[],
            };
            glb?: {
              // Enable pack to glb
              enabled: boolean;
              // Rules for excluding unnecessary files
              excludes?: (RegExp | ((path: string) => boolean))[],
            };
            // Pre process files before emit it
            process?: {
              // Enable process
              enabled: boolean;
              // You custom processors
              processors: {
                test?: RegExp | ((path: string) => boolean),
                process(options: {data: Buffer | string, filePath: string}): Promise<Buffer>;
              }[];
            };
            // for publishing your resource to cdn
            publish?: {
              // Enable publish
              enabled: boolean;
              // Rules for excluding unnecessary files
              excludes?: (RegExp | ((path: string) => boolean))[];
              // You custom publisher
              publisher: {
                publish(options: {data: Buffer | string, filePath: string, distPath: string}): Promise<string>;
              };
            };
          }
        }
      ]
    }

    Load gltf/glb file:

    import someGlTF from 'path/to/file.gltf';
     
    const someGlTF from 'path/to/file.gltf';

    Install

    npm i seinjs-gltf-loader

    DownloadsWeekly Downloads

    3

    Version

    0.9.28

    License

    MIT

    Unpacked Size

    319 kB

    Total Files

    50

    Last publish

    Collaborators

    • dtysky