markj3d / red9_studiopack Goto Github PK
View Code? Open in Web Editor NEWRed9 StudioPack for Maya
License: Other
Red9 StudioPack for Maya
License: Other
Hi Mark,
I just cloned the repo on a new work machine, and am trying to use animation stabilizing in 2016. It is failing to load "evalManager_switch" (for the undo to register), but is not using the cmds.evaluationManager default in the except statement of evalManagerState (I am assuming, as I never see the log string you have used in the exception), and just stepping back to original time.
Here is the log
# Warning: Red9.core.Red9_General : Plugin Failed to load : evalManager_switch #
# Red9.core.Red9_General : autoKeyState restored: False #
# Warning: Red9.core.Red9_General : Plugin Failed to load : evalManager_switch #
# Red9.core.Red9_General : evalManager restored: parallel #
# Red9.core.Red9_General : currentTime restored: 5630.000000 #
Let me know if I can help further!
Chris
Quick and dirty example:
https://matthewkapfhammer.github.io/Red9_StudioPack/#
I can do the "clean" pass and submit a pull request if you're interested. It merely adds a new branch to the repo. Initially, that will be good enough.
Ideally, we would also create a main page with links to the docs for each released version. Again, happy to do that if you're interested.
Cheers,
Matthew
Load MirrorConfigs opens a save dialog.
Hi Mark,
Just found if I use the mAttrs filter through the getChildren method I always get back all children, not filtered list.
Only workaround for me so far is to use the asMap parameter and filter that myself.
Cheers!
Since last pull, when I open Maya, I get an ImportError:
# Error: No module named pro_pack
# Traceback (most recent call last):
# File "<maya console>", line 1, in <module>
# ImportError: No module named pro_pack #
I do not own pro edition, but never had this error before.
Cheers!
Are there plans for pymel node support? I use pymel PyNodes most of the time but have to cast out to work with Red9.
# File "U:\tools\Red9\core\Red9_Meta.py", line 1938, in nameSpace
# return ns[:-1][0]
# IndexError: list index out of range #
nameSpaceFull() works for nodes in 'root' namespace, but nameSpace() will have the above error. Both methods work when node is in some namespace.
Just curious, what does the "!U" mean in front of the commit messages?
Hey Mark!
I just saw you have pyperclip and pydub copied into packages?
Maybe this is a job for the .gitmodules
file?
https://git-scm.com/docs/gitmodules.html
Hi Mark:
I tried to query the MetaClass node with standard Python 'help()' command:
e.g.:
help(some_metaclass_instance)
I got this message:
help(this_rig)
# Error: 'MetaClass' object has no attribute '__name__'
# Traceback (most recent call last):
# File "<maya console>", line 1, in <module>
# File "c:\Program Files\Autodesk\Maya2014\bin\python27.zip\site.py", line 467, in __call__
# return pydoc.help(*args, **kwds)
# File "c:\Program Files\Autodesk\Maya2014\bin\python27.zip\pydoc.py", line 1747, in __call__
# self.help(request)
# File "c:\Program Files\Autodesk\Maya2014\bin\python27.zip\pydoc.py", line 1794, in help
# else: doc(request, 'Help on %s:')
# File "c:\Program Files\Autodesk\Maya2014\bin\python27.zip\pydoc.py", line 1531, in doc
# pager(render_doc(thing, title, forceload))
# File "c:\Program Files\Autodesk\Maya2014\bin\python27.zip\pydoc.py", line 1505, in render_doc
# object, name = resolve(thing, forceload)
# File "c:\Program Files\Autodesk\Maya2014\bin\python27.zip\pydoc.py", line 1501, in resolve
# return thing, getattr(thing, '__name__', None)
# File "D:\Python_Dev\Red9\core\Red9_Meta.py", line 1556, in __getattribute__
# raise StandardError(error)
# StandardError: 'MetaClass' object has no attribute '__name__' #
Hi Mark,
Was reading your code and stumbled upon what looks like a copy paste error.
Check Red9_AnimationUtils.py at line 2921 and 2922.
for attr in attributes: if cmds.attributeQuery(attr, node=src, exists=True) \ and cmds.attributeQuery(attr, node=src, exists=True): cmds.setAttr('%s.%s' % (dest, attr), cmds.getAttr('%s.%s' % (src, attr)))
Your condition tests if the attribute exists 2 times on the src object. You probably wanted to test it on the dest node.
By the way thanks for sharing all of that hot stuff.
We were having an issue where any attempt to save a pose would result in a standard error.
I traced this down to Red9_General.thumbnailApiFromView()
From what I understand, the issue was that the function is written as:
thumbnailApiFromView(filename, width, height, compression='bmp', modelPanel='modelPanel4'):
This default argument given for modelPanel refers to a panel that doesn't always exist / isn't what we want.
In the studio we've updated this logic and added another function we use for grabbing active model panels and it seems to have sorted it. Sorry I'm not super familiar with the standard feedback process for developers on GitHub, but hopefully this is useful!
(We've also updated it to clean up panel elements that aren't useful for the thumbnail with the polygonsOnly flag. We don't have any occasions where we want anything other than polygons visible in the thumbnail but that may not be universally true for others)
def thumbnailApiFromView(filename, width, height, compression='bmp', modelPanel=None, polygonsOnly=True):
'''
grab the thumbnail direct from the buffer?
TODO: not yet figured out how you crop the data here?
'''
import maya.OpenMaya as OpenMaya
import maya.OpenMayaUI as OpenMayaUI
view = None
# If we didn't get a model panel or the one supplied doesn't exist, make a best guess with what's available
if not modelPanel or not cmds.panel(modelPanel, ex=True):
modelPanel = returnBestGuessModelPanel()
# Clean up the panel before creating a thumbnail
if polygonsOnly:
cmds.modelEditor(modelPanel, e=True, allObjects=False)
cmds.modelEditor(modelPanel, e=True, polymeshes=True)
cmds.modelEditor(modelPanel, e=True, sel=False)
view = OpenMayaUI.M3dView()
OpenMayaUI.M3dView.getM3dViewFromModelEditor(modelPanel, view)
OpenMayaUI.M3dView.refresh(view)
# read the color buffer from the view, and save the MImage to disk
image = OpenMaya.MImage()
view.readColorBuffer(image, True)
image.resize(width, height, True)
image.writeToFile(filename, compression)
# Show all objects in the panel if we hid them
if polygonsOnly:
cmds.modelEditor(modelPanel, e=True, allObjects=True)
cmds.modelEditor(modelPanel, e=True, sel=True)
log.info('API Thumbname call path : %s' % filename)
def returnBestGuessModelPanel():
# Get all model panels
modelPanels = cmds.getPanel(typ="modelPanel")
panelWithFocus = cmds.getPanel(wf=True)
# If the panel with focus is a model panel, use it, otherwise use the first model panel available
if panelWithFocus in modelPanels:
return panelWithFocus
else:
return modelPanels[0]
Thanks for all of your hard work on this tools package, it's been hugely useful and appreciated over the years.
just want to thank you for fixing pose manager bugs! it works great!
Clicking the save pose button in Red8 Animation toolkit will cause maya2018.5 to freeze.
Open a file tagged with Meta (like the testFiles/MetaRig*Wired.ma file)
import Red9.core.Red9_Meta as r9Meta
metaNodes = r9Meta.getMetaNodes() #or metaRigs = r9Meta.getMetaNodes(mTypes=['MetaRig'])
Select metaNodes in script editor and hit enter I get this:
# Traceback (most recent call last):
...
# File "...\Red9\core\Red9_Meta.py", line 1124, in __repr__
# if self.hasAttr('mClass'):
# File "...\Red9\core\Red9_Meta.py", line 1335, in __getattribute__
# raise StandardError(error)
# StandardError: 'MetaRig' object has no attribute '_MObjectHandle'
If I start with an empty scene and start tagging with meta and then do getMetaNodes I don't have the same problem. But if I save that file and re-open it I do?
When running Red9 in Maya 2018, I get the following line my startup.
# Red9.startup.setup : Red9MayaHacked Folder not found for this build of Maya : ..\Red9\startup\maya_native\maya_2018.0 #
Is this going to cause any major issues?
Should I just copy forward the 2017 file for now?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.