1.0.0 • Published 5 years ago

sayduck-gltf-pipeline v1.0.0

Weekly downloads
4
License
ISC
Repository
github
Last release
5 years ago

sayduck-gltf-pipeline

Node package holding all of Sayduck's scripts to convert assets and products to glTF 2.0

Pipeline help

$ sayduck-gltf-pipeline -h

  Usage: sayduck-gltf-pipeline [options] [command]

  Options:

    -v, --version                           output the version number
    -h, --help                              output usage information

  Commands:

    obj-utility [options]
    material-utility [options]
    gltf-utility [options] <gltf-files...>

obj-utility

help

$ sayduck-gltf-pipeline obj-utility -h

  Usage: obj-utility [options]

  Options:

    -i, --input-file <input-file>        [required] path to .obj file to process
    -o, --output-folder <output-folder>  [required] output folder for generated file(s)
    --obj-split                          outputs one .obj per group present in .obj to process
    --gltf-convert                       convert the input .obj (or the resulting splitted .objs) to .gltf + .bin
    -h, --help                           output usage information

Example

$ sayduck-gltf-pipeline obj-utility -i path/to/source.obj -o path/to/output/folder/ --obj-split --gltf-convert
    {
      "status": "success",
      "meshes": [
        {
          "reference": "source_obj_group_1_name",
          "assets":  [
            {
              "type": "obj",
              "uri": "path/to/output/folder/source_obj_group_1_name.obj",
              "content_type": "text/plain"
            },
            {
              "type": "gltf",
              "uri": "path/to/output/folder/source_obj_group_1_name.gltf",
              "content_type": "model/gltf+json"
            },
            {
              "type": "bin",
              "uri": "path/to/output/folder/source_obj_group_1_name.bin",
              "content_type": "application/octet-stream"
            },
          ]
        },
        ...
      ]
    }

material-utility

help

$ sayduck-gltf-pipeline material-utility -h

  Usage: material-utility [options]

  Options:

    -m, --material <material>               [required] path to material JSON file to process
    -g, --gltf <gltf>                       [required] path to .gltf file to process
    -o, --output-folder <output-folder>     [required] output folder for generated file(s)
    --material-assign <assigned-file-name>  assign the passed-in material JSON to the passed-in .gltf (will remove all existing materials, textures, images, samplers)
    -h, --help                              output usage information

Example

$ sayduck-gltf-pipeline material-utility --material-assign assigned_name.gltf --material path/to/gltf_material.json --gltf path/to/gltf.gltf -o path/to/output/folder/ 
    {
      "status": "success",
      "meshes": [
        {
          "reference": "assigned_name",
          "assets": [
            {
              "type": "gltf",
              "uri": "path/to/output/folder/assigned_name.gltf",
              "content_type": "model/gltf+json"
            }
          ]
        }
      ]
    }

gltf-utility

help

$ sayduck-gltf-pipeline gltf-utility -h

  Usage: gltf-utility [options] <gltf-files...>

  Options:

    -o, --output-folder <output-folder>  [required] output folder for generated file(s)
    --gltf-merge [merged-file-name]      merge the list of passed-in gltf files (optional output name, defaults to merged.gltf)
    --gltf-optimize                      optimize the passed-in .gltf files
    --gltf-binary                        create .glb file(s) instead of .gltf
    --gltf-embed-assets                  embed assets in .gltf files (meshes are always embedded with --gltf-binary)
    --gltf-draco-compression             enable draco compression for meshes
    -h, --help                           output usage information

Example: gltf-merge

$ sayduck-gltf-pipeline gltf-utility --gltf-merge merged_name.gltf -o path/to/output/folder/ path/to/first.gltf path/to/second.gltf
    {
      "status": "success",
      "meshes": [
        {
          "reference": "merged_name",
          "assets": [
            {
              "type": "gltf",
              "uri": "path/to/output/folder/merged_name.gltf",
              "content_type": "model/gltf+json"
            }
          ]
        }
      ]
    }

Example: gltf-optimize

$ sayduck-gltf-pipeline gltf-utility --gltf-optimize -o path/to/output/folder/ path/to/first.gltf path/to/second.gltf 
    {
      "status": "success",
      "meshes": [
        {
          "reference": "first",
          "assets": [
            {
              "type": "gltf",
              "uri": "path/to/output/folder/first.gltf",
              "content_type": "model/gltf+json"
            },
            {
              "type": "png",
              "uri": "path/to/output/folder/texture.png",
              "content_type": "image/png"
            },
            {
              "type": "bin",
              "uri": "path/to/output/folder/mesh.bin",
              "content_type": "application/octet-stream"
            },
            ...
          ]
        },
        ...
      ]
    }

Example: create glb

$ sayduck-gltf-pipeline gltf-utility --gltf-optimize --gltf-binary --gltf-embed-assets -o path/to/output/folder/ path/to/input.gltf 
  {
      "status": "success",
      "meshes": [
        {
          "reference": "input",
          "assets": [
            {
              "type": "glb",
              "uri": "path/to/output/folder/input.glb",
              "content_type": "model/gltf-binary"
            }
          ]
        }
      ]
    }
1.0.0

5 years ago

0.4.0

6 years ago

0.3.0

6 years ago

0.2.0

6 years ago

0.1.5

6 years ago

0.1.4

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago