Releases: iimachines/Maya2glTF
Release candidate 3
- Fixed texture being embedded in bin file, even when
-glb
option was not passed - Normalizes skin vertex weightsto get rid of a zillion glTF validator warnings
- Clamps metalness and roughness factors between 0 and 1
- All Windows exporter versions in one ZIP
- glTF shelf icon and tab
V1.0.1-rc2
Potential 1.0 release candidate for Windows x64, Maya 2017,2018,2019 and 2020 build from the develop
branch.
Many thanks to the amazing work of K. S. Ernest Lee, and also to Robert Long from Mozilla for his initial CMake work.
Clean release notes will follow.
For now, commits between develop
and master
:
FIX: issue 125: Export node order should be deterministic (Peter Verswyvelen)
Merge pull request #123 from Ziriax/develop (Peter Verswyvelen)
FIX: Fixed issue 122, Exported frame count is sometimes wrong (Peter Verswyvelen)
Merge pull request #115 from fire/add-vs-2019 (Peter Verswyvelen)
Add a different batch script for Visual Studio Versions. (K. S. Ernest (iFire) Lee)
Merge pull request #111 from fire/patch-1 (Peter Verswyvelen)
FIX: Restore maya2gltf for the Mac. (K. S. Ernest (iFire) Lee)
Merge pull request #102 from fire/cmake-installer (Peter Verswyvelen)
Merge pull request #92 from fire/aiStandardMaterial (Peter Verswyvelen)
Add mel autogenerate versions. (K. S. Ernest Lee)
Add c++ autogenerated versions. (K. S. Ernest Lee)
NEW: Output to a directory in build to make a release. (K. S. Ernest Lee)
Support roughness, metalness and normals. (K. S. Ernest (iFIre) Lee)
Add transparency scanning. (K. S. Ernest (iFIre) Lee)
Add code to load Arnold. (K. S. Ernest (iFIre) Lee)
Extract tryCreateRoughnessMetalnessTexture. (K. S. Ernest (iFIre) Lee)
Stub Arnold Materials implementation. (K. S. Ernest (iFIre) Lee)
Merge pull request #109 from fire/mac (Peter Verswyvelen)
FIX: Add OSX Maya Support (K. S. Ernest (iFIre) Lee)
Merge pull request #105 from fire/linux (Peter Verswyvelen)
FIX: Deals with deleted texture images on disk, does not export these anymore. (Peter)
FIX: Correctly reports a missing image path (Peter)
FIX: Images are now embedded into a single buffer with the -glb flag, previously this would just crash... (Peter)
REF: Manually changed version to V1.0.0. Need to make script that does this automatically, without Visual Studio as in master (Peter)
REF: Set clang format to 120 columns (widescreen) (Peter)
REF: Fixed deprecated Maya SDK warnings, still compiles with Maya 2017, 2019 (2016 and 2018 not yet tested) (Peter Verswyvelen)
FIX: Add Linux Maya support. (K. S. Ernest (iFire) Lee)
NEW: Added simple skinning test scene with unbound root joint (Peter Verswyvelen)
NEW: Batch file to create VS project now asks Maya version (Peter Verswyvelen)
NEW: Added support for dumping 32-bit and 16-bit integer accessor values (to debug JOINT_x accessor values) (Peter Verswyvelen)
FIX: Not using empty selection display layers for selecting objects anymore. (Peter Verswyvelen)
FIX: Removed some testing MEL calls (Peter Verswyvelen)
Simplified zero-joint-weights scene, removing animation (Peter Verswyvelen)
Added more skinning test scenes (Peter Verswyvelen)
Merge pull request #96 from fire/msvc-2019 (Peter Verswyvelen)
FIX: Changes for MSVC 2019 compile errors (K. S. Ernest Lee)
Merge pull request #97 from fire/update-clip-merge (Peter Verswyvelen)
FIX: Crash when images are not found. (K. S. Ernest Lee)
Merge pull request #87 from fire/increase-scale-precision (Peter Verswyvelen)
Merge pull request #84 from fire/clang-format (Peter Verswyvelen)
FIX: Increase precision on scaling (K. S. Ernest Lee)
Format code. (K. S. Ernest Lee)
Merge pull request #80 from fire/morph_target_names (Peter Verswyvelen)
NEW: Add morph target names. (K. S. Ernest Lee)
REF: More thumbnail scripting (Peter Verswyvelen)
NEW: When multiple blend shape deformers are found, now pick the one with most animated plugs, to differentiate between setup and animation deformers (Peter Verswyvelen)
REF: Renamed Maya2glTF to maya2glTF, Maya 2019 seems case sensitive! (Peter Verswyvelen)
NEW: Added editor config file (Peter Verswyvelen)
Preparing 1.0 release (Peter Verswyvelen)
Merged master with feat_sab branch (Peter Verswyvelen)
Merged cmake branch into master (Peter Verswyvelen)
NEW: Added some colors to MEL export window buttons (Peter Verswyvelen)
FIX: Imports python script in MEL playblast proc (Peter Verswyvelen)
Weaking VP9 export (Peter Verswyvelen)
Added vp9 clip export with alpha channel (Peter Verswyvelen)
Oops, commented out global maya2glTF_playblastTraxClips call (Peter Verswyvelen)
Working on GIF + PNG thumbnail generator (Peter Verswyvelen)
Added code to generate animated GIF thumbnails using playblast and FFMPEG (running in parallel) (Peter Verswyvelen)
Removed hardcoded path from python reloader script, now assumes the scripts are in the workspace scripts folder (Peter Verswyvelen)
Added index_from_zero to capture script (Peter Verswyvelen)
REF: Removed maya2glTF_renderFrames proc, python version should be used instead (Peter Verswyvelen)
FIX: Ignored ipch file from new vs2017 now (Peter Verswyvelen)
FIX: json metadata file is now saved after exporter has finished (Peter Verswyvelen)
Added script to reload python modules (Peter Verswyvelen)
Disabled maintain_aspect_ratio when playblasting (Peter Verswyvelen)
Fixed animachine script (Peter Verswyvelen)
Renamed clips to animations in metadata (Peter)
Added id to JSON metadata (Peter)
Fixed UI script, was missing an import (Peter)
First version that exports animation metadata JSON file for our upcoming Animachine product (Peter)
Improving deps builder batch file to sync submodules and pull all large files (peter)
Fixed COLLADA2GLTF dependency, was pointing to the wrong branch (peter)
Added polar decomposition code, not used yet (peter)
Merged (peter)
Added NestedTransparentEmissiveSpheres test scene; pulled lastest commits from COLLADA2GLTF fork (Peter)
NEW: Added H265 encoding and GLTF clips+meshes merging tools (C#/.NET Core) (Peter Versywvelen)
REF: Stops UI progress after export with plugin itself, cleaned up some arguments, playblast now only outputs solid non-templated meshes, exposed copy/paste master key MEL procs (Peter Versywvelen)
Added more fine tuned regression testing scenes (Peter Versywvelen)
REF: Organized files in VS project a bit (peter)
FIX: Now takes render resolution and MFnCamera::getPortFieldOfView to determine GLTF vertical field of view as seen in the Maya viewport (Peter Versywvelen)
FIX: Last frame was not exported (peter)
Adding MEL code to export scenes with camera1 to playblast folder (peter)
Added support for exporting cameras, added some calibration scenes. Not sure how to test, since I can't find a viewer that supports cameras... (peter)
Refactored DagHelper to return the MStatus instead of just a boolean (peter)
Positioned camera of cube-grid to verify upcoming camera export (peter)
Compiles again, OutputWindow was somehow not added to VS project (peter)
Placed regression camera1 to all Maya scenes, preparing for playblasting use 3rdParty capture.py library, adding generic forEachScene MEL procedure with progress and abort support (Peter Versywvelen)
WIP: Moving common code to common.mel, not done yet (Peter Verswyvelen)
FIX: Scenes now use HDR BRDF LUT (Peter Verswyvelen)
NEW: Added -cow flag to clear the output window before exporting, making it easier to find errors and warnings. (peter)
NEW: Added flag to report skewing issues with inverse bind matrices, see https://github.com/KhronosGroup/glTF/issues/1507 (peter)
NEW: Added flag to automatically convert unsupported glTF image formats to PNG (peter)
NEW: Added Python script to clear output window on Windows (https://www.highend3d.com/maya/script/clear-output-window-for-maya) (peter)
NEW: Added script to playblast all animation clip scenes, importing each clip into model scene (typically PBR shaded). This will be used to generate regression tests for our renderer (peter)
WIP: Adding Windows batch file for exporting all clips (Peter Verswyvelen)
FIX: maya2glTF_polySelectAndFrame now works when ran from mayabatch (Peter Verswyvelen)
NEW: Added -smt flag to skip all textures of all materials, mainly for testing (Peter Verswyvelen)
REF: Better reporting of degenerate faces (Peter Verswyvelen)
REF: Blend shape target weights are now sorted by name, not by internal Maya index, to allow the order of these to vary. (peter)
FIX: Printing failed status now ends with a newline (peter)
REF: Uses updated GLTF library that fixed occlusion strength factor (peter)
REF: Added 'deformer' to Resharper dictionary (peter)
NEW: Added MGi (Maya2glTF_ignored) custom attribute that can be added to a blendshape or skincluster to indicate it needs to be ignored (e.g. when using the deformed just for performing setup or correction, not for doing animation). Maybe need to add another feature to take ALL deformers in the history into account, like our OGRE exporter? (peter)
NEW: Added helper function to print all attributes of an object (peter)
REF: When using display layers to select the exportable objects, templated layers are not selected anymore (peter)
FIX: When exporting with -splitByReference, non-referenced meshes are now correctly exported, and a warning is printed. (peter)
WIP: Added -splitByReference and -niceBufferURIs arguments, implementation partially working. Needed to workaround a Maya API hang, MFileIO::getSelectedNodes hangs when targetting a MSelectionList (peter)
NEW: Added simple scenes to test split-by-reference export (peter)
FIX: Release builds now define NDEBUG (peter)
More work on support scripts for bulk export of meshes and clips (Peter Verswyvelen)
WIP: Fixing script to export all clips in a folder, Maya crashes when loading a scene, not sure why (peter)
Merged submodule (peter)
Merged (peter)
NEW: Lots of changes to improve separate mesh and anim export: - added hashBufferUri, cleanOutputFolder, dumpAccessorComponents, visibleNodesOnly arguments - hashBufferUri will assign a SHA hash to the name of a buffer, useful when separating the mesh and anim clips buffers using -sp...
V0.9.10
Please don't use this release, it seems to break some skinned meshes, use V0.9.9 instead for now
-
Exporting combined meshes now produces a valid GLTF.
-
Fixed a bug in the PBR shader assignment script that would always pick the
orm
texture pattern for normal maps. If you now want to combine occlusion, roughness and metallic, you should use_orm
in your filename. -
If a PBR shader is found in the workspace, that one is used instead, so that everything can be stored in the workspace.
-
The PBR shader will now apply sRGB conversion to the PMREM maps by default. Note that you often will want to disable this when using a DDS that is linear. However, Maya doesn't support HDR cubemaps. In the future we will support RGBM 8888 encoding so Maya can have HDR with standard DDS maps.
-
Added a flag in the PBR shader to flip the Z direction of the PMREM lookup vector. This seems to result in correct mirrored reflections when using DirectX DDS cubemaps. Enabled by default.
V0.9.9 - first stable release
-
The release script now generates a ZIP instead of RAR file, thanks @underthematjp for reporting this.
-
I'm considering this plugin "stable" now.
-
The 1.0 release will be made when the OSX cmake branch is merged, and when we exported all WonderMedia 3D characters to glTF
v0.9.8 ALPHA
NOTE: I consider this an alpha release, since a lot has changed internally, and the exporter might need more testing.
-
The default extension is now
gltf
(lower-case). You can configure the extensions using the-gltfFileExtension (-gfe)
and-glbFileExtension (-gbe)
flags -
By default no more redundant shape nodes are exported. If you want to keep these shape nodes, pass the
-keepShapeNodes (-ksn)
flag -
Rotation pivots points are now properly supported. Scaling pivots points are ignored and assumed to be the same as the rotation pivot point.
- An extra GLTF node with the
:PIV
suffix is created for the pivot translation (the vertices of the mesh are not changed anymore) - In theory even animated pivot points should be supported, but this is not tested yet.
- An extra GLTF node with the
-
Passing
-glb
or-emb
now correctly exports a single file. -
Support for double sided materials in the PBR OpenGL shader. See the
PBR Advanced
attribute group of the shader. Note that backface culling (in theMesh Component Display
accordion) must be turned off for correct rendering, but that setting has no impact on the exported file. -
Maya material names are now copied over to the GLTF materials
-
Skeletons with multiple roots are now correctly exported
- the GLTF
skin.skeleton
property is not set anymore, since its meaning is not clear
- the GLTF
v0.9.7 BETA
-
Fixed export of transparent materials (but you must explicitly set the
Technique
in the GLTF PBR Shader toTransparent
for this to work for now) -
Uses lower case
gltf
extension -
Exporting a single frame does not "bake" the skin at that frame anymore when
-initialValueTimes
(-ivt
) is specified, instead the skin binding pose is taken from the initial values time, and the GLTF nodes will be loaded with the transforms from the current frame (as if exporting a single frame animation clip; we use this to test our computer shader deformation engine without requiring animation) -
When the Maya mesh has texture coordinates, these will be exported by default, unless you pass
excludeUnusedTexcoord
.
v0.9.6 BETA
-
PBR material base color factors should now export correctly (thanks to @Chase-Reid for reporting this regression bug!)
-
When assigning the PBR material, the default path for the shader is used, so the user doesn't have to pick the shader file anymore.
v0.9.5 BETA
- Added PBR files to the release ZIP
- Added
refresh
button to the UI - Added more keyword patterns to the PBR texture importer
v0.9.4 BETA
Fixes
- Fixed inverse binding matrices of skin bound to meshes with a pivot point
Installation
Maya 2018 and 2017, Windows x64 only for now.
To install, extract the ZIP to any location (e.g. your desktop), open the created Maya2glTF folder, and double click on the deploy.bat
file.
Then re-launch Maya 2017 or 2018, and in the script window, type maya2glTF_UI
to launch the UI. Load a scene, select the meshes you want export, and hit the export selected meshes
button.
Let me know if this works for you, this is BETA stuff ;-)
PS: You might have to install the Microsoft Visual C++ redistributables to get it running correctly.
v0.9.3 BETA
Fixes
- Fixed exporting multiple animation clips
- Added support for exporting TRAX clips in the MEL UI
- only enabled clips from the first track are exported
Known issues
- The animation clips of the skinned
complex1
scene doesn't play correctly in BabylonJS and ThreeJS. Most likely because of a combination of a pivot point and skinning. To be investigated.
Installation
Maya 2018 x64 only (tested on Windows 10 ) for now.
To install, extract the ZIP to any location (e.g. your desktop), open the created Maya2glTF folder, and double click on the deploy.bat
file.
Then re-launch Maya 2018, and in the script window, type maya2glTF_UI
to launch the UI. Load a scene, select the meshes you want export, and hit the export selected meshes
button.
Let me know if this works for you, this is BETA stuff ;-)
PS: You might have to install the Microsoft Visual C++ redistributables to get it running correctly.