Skip to content

Instantly share code, notes, and snippets.

@tracend
Last active December 16, 2015 03:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tracend/5368499 to your computer and use it in GitHub Desktop.
Save tracend/5368499 to your computer and use it in GitHub Desktop.
Grunt 3D #talk #kdi

grunt-3d


Asset pipelines

From development to production, assets have to be converted from a universally readable format to a compressed binary format (for performance & copyright protection).

Plethora of options:

  • from compiled programs to scripts in 3D modellers
  • open source and proprietery solutions.

Most of them require manual operations on software installed on a single local machine...


The web can help

With applications becoming increasingly reliant on networks, asset pipelines can gain some characteristics of a cloud service.

Desired features:

  • Automated
  • Simple API
  • Content agnostic
  • Modular

Here comes Grunt.js

Grunt.js is the most popular Node-based solution for automating tasks...

  • Runs (virtually) everywhere Node.js is available
  • Can operate as a remote service

Match made in heaven

Grunt.js already minifies text, images... why not 3D?

Grunt.js + 3D converters = Grunt 3D


Automated

Compression is not the responsibility of the artist

That is the case for all other media (images, audio, video ...)

Compression is not the responsibility of the web developer

Asking a 3d artist to export in a web ready format is as awkward as asking a web developer to use 3d software...

Compression is the responsibility of a Grunt task...


Simple API

Set and forget configuration that looks up in dirs and outputs the converted files.

grunt.initConfig({
	three_obj: {
		options: {},
		 dist: {
			 src: ['./media/*.obj'],
		 }
	}
});

grunt.loadNpmTasks('grunt-3d');

grunt.registerTask('default', ['three_obj']);

When new models arrive, just execute:

grunt

Content agnostic

Grunt 3D: Format support

OBJ -> Three JSON / Binary working now.

Add your own formats!


Modular

Because hey, it's Node :)

Grunt 3D can be used in any application pipeline.

Local dependencies only include Node.js

Can be setup as a remote service.


Stay in your confort zone

Web developers use their existing web tools

3D Modelers use their existing 3D software

Everyone's happy!!!


Credits

Grunt 3D is open source software, you are free to contribute:

Created by Makis Tracend ( @tracend )

Distributed through Makesites.org

Released under the MIT license

All content in this presentation released under the Creative Commons Attribution 3.0 Unported License

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment