Comments (5)
I know OSX support is a bit bleeding edge, re #24; however, after replacing "2018" with "2014" in FindMaya.cmake the plug-in does start to compile. Unfortunately, I hit a pretty obvious issue that 'maya/MUuid.h' does not exist in the Maya2014 includes.
Scanning dependencies of target maya2glTF
[ 46%] Building CXX object CMakeFiles/maya2glTF.dir/src/Arguments.cpp.o
In file included from /Users/hays/infinitedescent/Maya2glTF/src/Arguments.cpp:1:
/Users/hays/infinitedescent/Maya2glTF/src/externals.h:96:10: fatal error:
'maya/MUuid.h' file not found
#include <maya/MUuid.h>
^~~~~~~~~~~~~~
1 error generated.
make[2]: *** [CMakeFiles/maya2glTF.dir/src/Arguments.cpp.o] Error 1
make[1]: *** [CMakeFiles/maya2glTF.dir/all] Error 2
make: *** [all] Error 2
I'm just starting to dig into the code, and likely am over my head, but I wanted to pose the question and see if anyone thinks this endeavor is possible. Others have mentioned possibly trying to implement a strategy-patterns to help fork behavior within the plug-in for various Maya versions. Any thoughts?
from maya2gltf.
Hmmm... I am blocked now. I was able to comment out the code above just to see if I could compile (expecting run-time errors). I also had to comment out 2 lines in MeshVerticies.cpp because mesh.iSRightHandedTangent() doesn't exist in the older API.
This is the new blocking issue:
[100%] Linking CXX shared library maya2glTF.bundle
Undefined symbols for architecture x86_64:
"operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, MTime const&)", referenced from:
NodeAnimation::exportTo(GLTF::Animation&) in NodeAnimation.cpp.o
"operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, MString const&)", referenced from:
Arguments::Arguments(MArgList const&, MSyntax const&) in Arguments.cpp.o
Arguments::select(std::__1::set<MDagPath, DagPathComparer, std::__1::allocator<MDagPath> >&, MDagPath const&, bool) in Arguments.cpp.o
ExportableMaterialPBR::loadPBR(ExportableResources&, MFnDependencyNode const&) inExportableMaterial.cpp.o
ExportableNode::load(ExportableScene&, NodeTransformCache&) in ExportableNode.cpp.o
ExportableTexture::ExportableTexture(ExportableResources&, MObject const&, char const*) in ExportableTexture.cpp.o
Mesh::tryExtractBlendShapeDeformer(MFnMesh const&, MSelectionList const&) in Mesh.cpp.o
Mesh::getOrCreateOutputShape(MPlug&, MObject&) const in Mesh.cpp.o
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [maya2glTF.bundle] Error 1
make[1]: *** [CMakeFiles/maya2glTF.dir/all] Error 2
make: *** [all] Error 2
Maya2014 might be pre-64bit, so I tried doing an i386 build but the program hits this issue.
[ 46%] Building CXX object CMakeFiles/maya2glTF.dir/src/Arguments.cpp.o
In file included from /Users/hays/infinitedescent/Maya2glTF/src/Arguments.cpp:1:
In file included from /Users/hays/infinitedescent/Maya2glTF/src/externals.h:101:
/Applications/Autodesk/maya2014/devkit/include/maya/M3dView.h:62:12: fatal error:
'agl.h' file not found
# include <agl.h>
^~~~~~~
1 error generated.
make[2]: *** [CMakeFiles/maya2glTF.dir/src/Arguments.cpp.o] Error 1
make[1]: *** [CMakeFiles/maya2glTF.dir/all] Error 2
make: *** [all] Error 2
So... I might be out of luck.
from maya2gltf.
Thanks for trying this out! Unfortunately supporting 2014 is not a priority for us. Nevertheless let me try to help you out in my spare time :-)
The first problem: where do I download Maya 2014?
IMO the best approach is to drop some features first, and see if the plugin runs at all.
So I would comment out the M3DView.h include in externals, and see where this code is used. Most likely only to refresh the viewport while exporting, not a high priority. AGL is deprecated and replaced by OpenGL and Maya 2014 relies on that (4a1fbefe00db0184aa088eaacdd08a023c666f9f)
The right handed tangent support can be commented out first.
Furthermore I use C++17 and Clang, that didn't exist in 2014, so you will most likely have to use GCC, but that raises a ton of other issues. Then the runtime libraries used might will not be compatible with Maya 2014... All in all this is going to be a major undertaking
But, you can try of course :-)
from maya2gltf.
@ziriax Thanks for sparing some time. I download Maya2014 from ; however, maybe it's only available to people with perpetual licenses. I sent you an invite on LinkedIn so that I can forward you a link.
If it doesn't seem realistic, then maybe it would be best for me to figure out a Maya -> Colada -> GTFL, or an Automation setup, like Maya 2014 -> Maya 2018 -> GTFL.
from maya2gltf.
Did you try https://github.com/KhronosGroup/COLLADA2GLTF?
from maya2gltf.
Related Issues (20)
- Export empty groups (transforms) or a joint that is not used for deformation HOT 5
- Maya 2022 Broken Shader Issue HOT 8
- Which files to move into scripts & plug-ins folder after macOS build? HOT 6
- Shelf is not updated correctly after building on MacOS / Maya 2022
- Installation HOT 6
- Mac Exporter Adds "0" character to .bin filename HOT 4
- Could not build on macOS 12.0.1 and Apple M1 CPU. HOT 3
- Export clip ftom Time Editor work? HOT 2
- can't assign textures to PBR on MacOS HOT 6
- Compression HOT 1
- Cannot toggle visibility on meshes ("...different scaling and rotation pivots, ignoring scaling pivot!") HOT 5
- Multiple uv set HOT 1
- export mesh will add a new blendshape HOT 1
- How to use transparency correctly maya2gltf HOT 16
- Maya 2023 HOT 5
- Maya 2023 (Maya2glTG 1.5.1) glb export HOT 2
- Set export precision using arguments HOT 2
- Materials not displayed correctly in maya HOT 1
- Bat file fails to extract. HOT 6
- Key frames on the Shaders Alpha channel will not export HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from maya2gltf.