--To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/451a3ffd-28b5-4bea-abd9-a555d8863aec%40googlegroups.com.
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
Pymel is object oriented.
And that's a great python feature that is missing in Maya.cmds . Hamish makes a point about performance. It is true its slower then Mel but if you really want speed go with api for few times speed is important. Do not write a new ik solver with pymel but you probably will not write it in .cmds ether. Pymel is here for you to make you get results faster. Not to get your results run faster. You choose what you need for the job and use what fits best. Pymel is great another tool in the toolbox and it ships with Maya so they think its worthy.
It’s been a while since I dipped my toes in PyMEL and it was early on in my programming experiences so it’s likely that if I ventured back into it at this point in time I might end up looking at things very differently, but I’ll try and summarise why I’m not using PyMEL today.
I was stoked over the prospect of dot-notation access to operations on nodes in Maya. Having worked only briefly with Python and maya.cmds at the time and wanting to get deeper into classes and inheritance, PyMEL seemed the smart way to go in terms of learning about things and I was in no position to draw any conclusions about whether or not object-orientedness of maya.cmds was a good thing, so from where I was standing using PyMEL was a given.
In regards to performance, I did take notice of the fact that most things took a while longer than they used to - especially the ~5 second freeze upon loading pymel itself, something that would pop up whenever I shared scripts with someone who hadn’t pre-loaded PyMEL or in cases where I used it on a new workstation (as a freelancer at the time, this was quite frequent), something I think have been taken care of today although I haven’t investigated - but I honestly never had any real issues with it and in general don’t bother much about performance in anything Python anyway and would turn to other languages for that sort of thing.
As Justin mentioned and as with any framework, there is the additional layer of errors you will need to get comfortable with and this was the killer for me. Again, this might not have been the killer if I gave it a try today, but at that time I found myself digging into the PyMEL docs first, the Maya docs next and lastly the Python docs and it seemed like one too many layers of debugging considering the rather small amount of gain I got out of using PyMEL in the first place. (The second most motivating thing, beyond less lines of code, was the feeling of being an early adopter, something that doesn’t apply today that we’ve gotten some perspective)
The reason I never got back into PyMEL was simply due to not having the need. I think this also resonates with what Justin was saying above about maya.cmds not being complete, but sufficient. The majority of the code that I write has little to do with Maya and whenever I need to interface with it its usually to offload the end-results of some computation having been performed. As an example, I might run cmds.file() to load a file for which a path has been computed from a number of factors, each unrelated to the Maya application itself, such as the currently logged in user, a project, environment variables or various options from a GUI. Another one may be to retrieve the node-tree using cmds.ls() and from there perform any processing in pure Python and PyQt and such.
I’d say that because the vast majority of my code is spent not interfacing with Maya, the (potentially) slight productivity increase from using a framework such as PyMEL isn’t worth the additional learning curve and debugging effort for me, though I agree with Justin that it is a major achievement and is without doubt very useful areas other than those I’m involved in.
As a side note, I would argue that developing using any of the Python libraries provided by Maya is to be avoided or delayed as much as possible. It’s important to keep your code independent and reusable and any connection to Maya cuts a pretty broad cord. PyMEL is a step away from this direction as you are encouraged to write more with it but it also introduces additional objects to pass around your otherwise decoupled code.
Best,
Marcus
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CACqGScjNR8g_uvM0fEn%3D-aNgmJkvQ94RRgA8n8DXRqjidJHDFA%40mail.gmail.com.
It’s been a while since I dipped my toes in PyMEL and it was early on in my programming experiences so it’s likely that if I ventured back into it at this point in time I might end up looking at things very differently, but I’ll try and summarise why I’m not using PyMEL today.
I was stoked over the prospect of dot-notation access to operations on nodes in Maya. Having worked only briefly with Python and
maya.cmdsat the time and wanting to get deeper into classes and inheritance, PyMEL seemed the smart way to go in terms of learning about things and I was in no position to draw any conclusions about whether or not object-orientedness ofmaya.cmdswas a good thing, so from where I was standing using PyMEL was a given.In regards to performance, I did take notice of the fact that most things took a while longer than they used to - especially the ~5 second freeze upon loading
pymelitself, something that would pop up whenever I shared scripts with someone who hadn’t pre-loaded PyMEL or in cases where I used it on a new workstation (as a freelancer at the time, this was quite frequent), something I think have been taken care of today although I haven’t investigated - but I honestly never had any real issues with it and in general don’t bother much about performance in anything Python anyway and would turn to other languages for that sort of thing.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CAFRtmOA%3Dpx3rL0q%2BqDtNaeUjRdWMC1PncHMS33%2B69r40bDfY-g%40mail.gmail.com.
If you do anything with Fabric Engine, maybe you could write up some info on the experience. Never used it but was interested. It's commercial though, right?
I sat in a demo once where they were trying to pitch a sale of an aspect of the framework. Looked interesting.
--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/51d18c7a-0653-4ace-9bf1-2cdc6eb7560a%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CAPGFgA2tqcmHNBNUz%2BvLWrW9YBcy_%3DGtTVvGRoEcQxrydVUaBQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CANuKW52c26YwiS_hu-UvmWW-HrmnU-fjtO36b7%3DAz6mOCFkryA%40mail.gmail.com.
Yeah, I couldn't have hoped for a better suited team or more exciting goals than that of Fabric, it has all the potential in the world.Ps. Isn't Andrea with Fabric too? My impression was that he gave up on Coral shortly after having been recruited by those guys. I think he's essentially continuing his vision over there now.
--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CAFRtmODHS8g-nOp_ibRWctO7p6vQQuXmfbbO3oyQM0COFAp3oQ%40mail.gmail.com.
Haha, yes, it’s about time. :)
As for Andrea, not anymore. After Coral he went to DreamWorks, then indeed worked for Fabric, but he’s now happily making beautiful vintage surfboards.
Oh really! Didn’t know that, do you know why? Seems like quite a shift.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CANuKW52v9dqmt42f%2B%3DWYCe%2Bt%2BDdy%3Dvim0Wditvsn-5ymWhVHSg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CAFRtmODTPkMsT3HWVr9Oqezr608ODgpr0JoZZT%2B3cReVJ8_vzg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CANuKW51iibQvWJVEjzF%2BdGCxHGa0uGe_0PQZqRquK1aV-AW4rQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CAGQH2FEiV1v36SDy%2BiNMJR9vx9P3H0173aTGw4TUBYhOLymBFQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CACt6Grke4OUA6z41teNNNaaG2bQJRaow9mNJn67xExRMzB-mnA%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/9de94ba1-2607-46d5-82ee-4bcad3fd6067%40googlegroups.com.
Happy to answer any questions you have. There are a few points worth making:
1) we use our own language because there's nothing out there that offers what we need - the dynamic, rapid prototyping of Python with the performance capability of well-written, multi-threaded C++ (or CUDA). Trust me when I say we didn't want to do it but saw no other option given our goals. However, it really is paying off - a TD can now write Fabric tools that run on the CPU or GPU without any changes.
2) Fabric is not middleware. It's a standalone framework that can also be run inside of other applications (Maya, Softimage, Arnold, Nuke currently - Max, Houdini and more to come). Most importantly, it's open - the only black box is the core execution engine, everything else is there to be changed/extended/replaced as required. 'Middleware' tends to suggest black boxes and opacity, which we set out from day one to avoid.
3) Fabric is really just a commercial version of what many studios have been building for themselves for many years. We've got the benefit of not being pulled in a particular direction by any one production, which means the platform stays more generally useful. We offer source code access as part of site licensing, which addresses many of the concerns that studios have had.
4) Fabric is completely portable - you can move the tools/assets/data between 'Spliced' applications and into the standalone framework. The fact is that pipelines are heterogeneous so we do our best to play nice with everyone. In some cases there's value in building a standalone version of a tool, and Fabric offers that.
5) I can't speak for what other vendors think of Fabric, but we have good relationships with all of them. We're not building a complete DCC and have no plans to do so - we're just another piece of the pipeline. There's an argument that we break 'lock-in' to a particular DCC, but that's something that studios want and vendors have to respond to - initiatives like Alembic have proven that to be the case.
6) we've been in operation for 4 years now, so the technology is maturing well and having customers like MPC really help when it comes to hardening our technology for production. It's still early days but we've been out of beta for a long time now and are about to move to FE2.0.
I hoped this helped - feel free to ping me directly if you prefer to talk offline.
Thanks,
Paul
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CANuKW52_ij1KZ50ztmpazooR_9hJV34sphsAGSd9hULUNfa%3DWg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CABPXW4geLsbG4%3DjGqMP6PHk%2Bk3g6GtK9SjRihq5oQ3Dc8F%2BTmw%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CAFRtmOAg%3D_v6CWPyG91Q2kQ_V-npQBvAFEPz8qdSBLWPUhpDmA%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/516a4049-0974-4b09-8a31-a5d926e42357%40googlegroups.com.
--To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CAPGFgA2PAZ7Yt24LSibG%3DPkemgYBV-00K2wpGJONuQ043xjzPw%40mail.gmail.com.
You received this message because you are subscribed to a topic in the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/python_inside_maya/jb0lD8SXk_M/unsubscribe.
To unsubscribe from this group and all its topics, send an email to python_inside_m...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CALpUA1EP6ketzkwewSqSEtPhG8vTZOKMyvSEEZNF61Fyzy3_4A%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CABPXW4geLsbG4%3DjGqMP6PHk%2Bk3g6GtK9SjRihq5oQ3Dc8F%2BTmw%40mail.gmail.com.
I do disagree with you about OOP vs. strings (maya.cmds). You can translate your python skills to other forms of python if you understand the OOP methodology and take advantage of oodles of modules out there — all using the OOP methodology.
Not sure we’re understanding each other very well here, maybe it is a language issue. To try and summarise my opinion, I think PyMEL is great for certain things and less great for others. For the things I do with Python within Maya, I haven’t found it as useful as others might. It sounds like it works very well for the things that you do, or possibly to the way that you work, and that’s great.
However it also sounds like you are saying PyMEL, or Object-Oriented Programming for that matter, is the solution to any problem. Is this what you meant?
Hi guys - Paul here, I’m one of the founders of Fabric (previously at Softimage and Autodesk). Someone pinged me a link to this conversation and asked if I could contribute. I hope I’m not intruding.
A tad off-topic yes. I’d be happy to respond in a separate thread.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/CABPXW4iFB-cpt-Y1Nb%2B6QMQHztOwmDqSF0fSJq_dk%3DhQE7e9cw%40mail.gmail.com.