We've got an opening for a Senior Technical Artist. If you are interested
please apply:
http://jobs.zenimax.com/requisitions/view/807
If you have questions about the position please email me directly.
Thanks,
-Judah
--
You received this message because you are subscribed to the Google Groups
Hi all,
If you are interested please take a look at this link:
http://jobs.zenimax.com/requisitions/view/403
It's a great place to work and a great project. For more detail check out
this link:
http://elderscrollsonline.com/en/
See you here soon,
-Judah Baron
Lead Technical Artist
Zenimax
This is a slightly different approach, in that it is a non-code based means
of maintaining exclusive set assignments for your objects. This can be done
through the use of partitions. By placing your sets in the same partition,
you are telling Maya that each set within that partition has exclusive
This sounds like a dev problem, if I understand your question correctly:
Users will not experience this issue, only you, as you develop the code. Is
that correct? If so, I would write a small bit of code designed to handle
the specifics of your situation. You could essentially remove the callback
Yes, that's right. You could use a dictionary or an array of tuples, or
simply a module or member variable, depending on what makes most sense for
your situation. This way you would be able to look up your callback later.
Store the return from the callback creation in a manner that allows you to
Ok, if that's going to work for your use case that's terrific.
I notice you are fixing up file reference paths. You may want to look into
The best thing to do is to track all of your callbacks with a registration
mechanism so you can access them after the fact. This is a general practice
that is good to get into because it is possible for a lot of confusion to
ensue otherwise.
Is the MSceneMessage a temporary callback based on a
Yeah, that sounds suspicious. What's going on with those 20 items?
On Tue, Apr 2, 2013 at 11:07 AM, Justin Israel justinisr...@gmail.comwrote:
20 items is by no means a lot. I have had scenes with thousands of
items. It sounds like you might be doing something heavy in your paint
events.
You could also derive from QWidget, which buys you a lot of canned
functionality. You can overload Qwidget's paint method and do whatever you
need.
On Wednesday, March 13, 2013, kosing-cg wrote:
On Wednesday, 13 March 2013 16:37:27 UTC+8, Justin Israel wrote:
You can do anything with
Correct. You cannot change the structure of an existing compound attribute.
However, you can convert the attributes of interested to be an array and
that should get you the flexibility you need. If you need to the compound
attribute to be an array type, that will work as well, so each item in the
Well, just generally speaking, I have noticed there to be a significant,
albeit unpredictable, lag in the Win7 file browser. This is completely
unrelated to Qt and is, for better or worse, unpredictable and sporadic. We
do a lot of exporting from Maya, for example, and although I know a file
has
I'm guessing you need to go higher up in the object hierarchy with the
event filter. There is probably something else swallowing that event so you
never receive it.
On Wed, Nov 7, 2012 at 6:28 AM, Marcus Ottosson konstrukt...@gmail.comwrote:
Thanks for your response. I should've mentioned, I
Seconded there. If you are writing raw Qt UI I'd stick with it without
exiting that scope. As for the complexity of your sample code, that seems
completely reasonable to me.
You could also subclass QListWidgetItem (not sure if that's the actual
class name...) and handle a lot of the customization
Hi All,
I'll keep this brief to keep the noise down so you can get back to your
actual work...
If you are a Technical Artist looking for a job, and have at least 5 years
of game industry experience, please take a look at the following job
posting on Gamasutra:
You can install an event filter on any QObject. When you want to capture
the tab key, say while a particular window is open, you could install an
event filter on that window. This window will now receive events that you
will handle in a custom fashion with your code.
This link is a good starting
...@gmail.comwrote:
Can you just build them from source instead of installing binaries?
Does the command-line pip/easy_install compile extensions just the same as
it does on Linux/OSX ?
On Oct 16, 2012, at 11:38 AM, Judah Baron wrote:
Due to the fact that Maya2013 was compiled using vs2010, while
Due to the fact that Maya2013 was compiled using vs2010, while standard
python 2.6 was compiled with vs2008, there are a lot of python
modules/plugins that don't function in Maya2013. If anyone has any
information or links that would help others in this area it's probably
worth posing in this
It's probably a little late on this thread to be useful to you, but I'll
respond in case this helps anyone else.
Personally, I'd probably switch to JSON if we didn't have a historical
reliance on XML. The JSON structure if effectively identical to that of
XML: they are both flexible, hierarchical
on with that.
When I try to upgrade packages it tells me there are no packages that
need
to be updated.
On Thursday, 5 July 2012 23:14:28 UTC-4, Judah Baron wrote:
I did an install and it is running, but it has a KeyError that is not
visible unless the console is visible. You might try
I did an install and it is running, but it has a KeyError that is not
visible unless the console is visible. You might try opening the console to
see if there is any feedback.
On Thu, Jul 5, 2012 at 5:55 PM, Justin Israel justinisr...@gmail.comwrote:
I just tested installing Sublime on an
You may benefit from at least testing out the setDependentsDirty call.
Typed attributes are a bit more complex than standard base type attributes
and Maya may handle them differently - I have no direct experience using
them in compute. Unlike compute, setDependentsDirty is called every time an
between toolkits.
Though, as much as I read the docs... I still don't get how it solves *my*
problems yet. if its any good, you would think someone would have a blog
post about it out there.
On Fri, Jun 8, 2012 at 9:41 AM, Judah Baron judah.ba...@gmail.com wrote:
Has anyone used DIP?
I've
You don't need connect another node to pull the data from the plug and
trigger compute. It sounds like you are on the right track with the query
in draw. You can either use a real attribute, or create a dummy that is
used solely for the purpose of triggering compute. You then need to make
sure
I won't go into a lot of detail right now, but here are some of our
highlights:
Version controlled distributions so users can sync to update, roll back to
escape problematic releases, etc. We use Perforce, but anything is better
than nothing here. Syncing also means everyone's system looks
You don't need to use a flag to get what you are looking for. Just pass in
the node.attr you are interested in querying, rather than just the node.
Ex:
cmds.listConnections( blinn1.color )
You can use various command flags to filter the return.
On Thu, May 31, 2012 at 9:56 PM, Panupat
Hey, there's no expiration date on being right. lol.
On Fri, May 25, 2012 at 12:29 PM, Justin Israel justinisr...@gmail.comwrote:
I wonder if haggi figured this out already, 2 years later ;-)
On Fri, May 25, 2012 at 10:13 AM, Dillon B shdw...@gmail.com wrote:
it =
It's been a long time since I've worked with the scriptTable, but when I
did I had no problems receiving callback for all cells. As I recall, a
callback, specifiec by the cellChangedCmd argument, had to be assigned for
each cell. Could it be that you have assigned to the last row and column
due to
cannot override its compute()
I doubt that is doable.
I can be dead wrong,
zhang
On Tue, Apr 3, 2012 at 7:00 AM, Judah Baron judah.ba...@gmail.com wrote:
That would do it, but I need the skinCluster node to pull data from my
node in order for my node's compute to be called. Without
I am trying to drive skinCluster weights with another node, but the
skinCluster node's compute doesn't get called. Does anyone know of a way to
trigger a skinCluster node's compute method?
Thanks,
-Judah
--
view archives: http://groups.google.com/group/python_inside_maya
change your
.
On Mon, Apr 2, 2012 at 2:49 PM, Ravi Jagannadhan enr...@gmail.com wrote:
Querying its output attributes?
On Mon, Apr 2, 2012 at 2:41 PM, Judah Baron judah.ba...@gmail.com wrote:
I am trying to drive skinCluster weights with another node, but the
skinCluster node's compute doesn't get
Take a look at the imp and runpy modules. These will allow you to
initialize a module without registering it to any namespace. You can then
decide where you want the module to appear.
On Fri, Mar 16, 2012 at 8:04 AM, pricee...@googlemail.com
pricee...@gmail.com wrote:
I ve been trying to
It is possible to pre-import modules and publish them to the __main__
namespace so you don't have to do imports in your calls from the ui. Take a
look at __import__.
-Judah
On Tue, Feb 21, 2012 at 5:20 AM, pricee...@googlemail.com
pricee...@gmail.com wrote:
I ll have to give it another try
. What's the best way to store a tree hierarchy like
this in Python? Using Python Data types, like list, dict, etc.. Nested
Dictionaries?
CE
On Sat, Feb 4, 2012 at 6:38 PM, Judah Baron judah.ba...@gmail.comwrote:
Take a look at QTreeWidget and possibly subclass QTreeItem per Maya
object type
Take a look at QTreeWidget and possibly subclass QTreeItem per Maya object
type that you are interested in.
On Saturday, February 4, 2012, Ricardo Viana cgolhei...@gmail.com wrote:
Maybe xml?
Best regards
Ricardo Viana
On Feb 4, 2012, at 4:20 PM, Christopher Evans chris.ev...@gmail.com
Additionally, and this might not apply to your situation until you have
more of a system in place but, many of the constants that you might be
interested in are best stored in some modular context. That is, you may
have a number of settings that really belong in your export package, for
instance.
Yeah, it looks like it's a timing thing. That block of code you have is a
set of instructions that maya runs through pretty quickly, but you are
getting into some quasi-asynchronous behavior with the atApp. Also, it's
been a while since we have used pumpThread (we monitor QEvents instead
because
You ever hear that joke about the guy who goes into a saloon and is dying
of thirst but has no money? He's told that if he takes a gulp from the
spitoon he can get a drink for free. He's thirsty, so he puts the spitoon
to his lips and takes a gulp - then another and another until the whole
thing
The joint node is not an API type, but a stock Maya node, meaning it's not
written using the Maya API, and therefor is not constrained by the
limitations of the interface exposed by the API.
If you want to draw an object in 3D you need to derive your object from a
Maya API node type that will
Short of writing a custom widget, or reworking the channel box code, I don't
think it's possible. We ran into something similar, so we looked at how
factory constraints are handled, because they are doing essentially the same
thing: when you animate a weight on a constraint, that weight is a child
If you want the attribute to show up in the channel box you may want
to take the approach used with the weight attributes on standard Maya
constraints, which is to create a top level attribute on the node and
drive your target attribute with it. It's not ideal, but it does get
you around a number
Has anyone run into an issue running the objectTypeUI command in 2011? All
it ever returns for us is object not round errors, unless we use the
*optional* keyword isType. I guess it's not really optional any more.
thanks,
-Judah
--
view archives:
Not directly related to this thread, but it is related to
parentConstraints
Has anyone noticed that parentConstraint offset rotations are not calculated
correctly for nodes with parents that have negative scale? When the same
thing is attempted, but using an orient constraint instead, the
THIS IS NOT OFF TOPIC:)
This is a critical issue that has impacts the design and implementation of
any complex system attempted in Maya, using python. The limitations are
significant and the penalties severe should one mis-step while developing in
this area. If anyone has any other information
We use pickle to transfer our data across the network. We do not use it to
store data to disk, though, for a number of reasons: 1) As mentioned
earlier, if your classes change you can run into some significant update
issues. 2) It's unreadable. 3) It's very python specific, which means your
data
You don't need to add environment vars. You need to set your interpreter
paths up in pydev, and the paths associated with your projects. You will
also need to point to a special completion directory so you get more than
an empty cmds module. Search this thread for it, or do a general web search
-
We've all done it:)
On Fri, Jan 28, 2011 at 2:05 PM, Paul Molodowitch elron...@gmail.comwrote:
Never mind, I'm being dumb - just forgetting the 5th arg to registerNode,
which specifies the type MPx type. (
Move along, move along...
- Paul
On Thu, Jan 27, 2011 at 6:30 PM, Paul
MUserEventMessage
http://download.autodesk.com/us/maya/2009help/index.html
On Thu, Jan 27, 2011 at 8:50 AM, Ofer Koren kor...@gmail.com wrote:
I don't think you can register your own events into the maya callback
system. Maya wouldn't know when to trigger the event, and I don't know of a
Are you running Maya 2011? If so, you probably need to specify some
environment information to the python25 interpreter. When Maya starts up it
does some manipulation to sys.path and some other environment info. You are
probably calling the python25 interpreter, but inheriting the python26
That's effectively the same thing as using subprocess, and the same issue
will persist.
On Sat, Jan 22, 2011 at 6:12 PM, Amorano amor...@gmail.com wrote:
Windows?
If you dont need to run inside of Maya per se, i.e. run the script,
not hang Maya in the meantime, return later with information,
I am getting an import error in Maya 2011 when I attempt the following:
import PyQt4
# Error: ImportError: file maya console line 1: No module named PyQt4 #
I've checked the sys.path and it looks correct.
When I run mayapy directly from the command line I get the same error when I
attempt the
are stuck in 4.7.1
Unless someone has a way of using newer versions which we just could
not figure out.
HTH
On Jan 6, 10:32 am, Judah Baron judah.ba...@gmail.com wrote:
I don't think this is the issue. The site-packages dir is clearly on my
sys.path, with PyQt4 just beneath it.
Also
I can't seem to get the Mayatomr plugin to load in mayastandalone. Has
anyone else had this problem?
On Wed, Mar 3, 2010 at 10:44 PM, Chad Dombrova chad...@gmail.com wrote:
When you say we set everything up are you referring the various rendering
parameters such as render globals, etc?
I'm working on a custom light and I am not seeing the effects of this light
in my renders. I'm using the C++ API, not python, but if figured this was a
good place to start with such a question.
The node is derived from MPxLocatorNode, and I have added a number of
attributes based on the
I ran into something similar and decided to stop for performance reasons.
The factory cmds.nodeType is just so fast that I couldn't rationalize doing
all of this in python.
-Judah
On Fri, Dec 3, 2010 at 4:57 PM, Adam Mechtley adam.mecht...@gmail.comwrote:
I think part of the problem here is
You could subclass QWidget and add a collapse button that handles the
problem by changing the size of your widget and possibly hiding the
children.
-Judah
On Mon, Aug 30, 2010 at 11:37 AM, Christian Akesson cakesso...@gmail.comwrote:
Really sorry to hit this group with a question regarding
Hmmm. That could be a lot of transforms. I'm not sure what you're trying to
do, so it's hard to come up with a context relevant solution, but my first
thought is to reduce the total number of attributes you are tracking. When
do you actually care that there is a change?
2010/7/7 Horvátth Szabolcs
you can organise your meshes in a hierarchical structure - similar to
grouping them - yet allows Maya to instance each mesh without all the cr*p.
Hope that helps,
Owen
On 3 July 2010 08:17, Judah Baron judah.ba...@gmail.com wrote:
This question is slightly off topic, but still related
Are you tracking ALL attributes? Or are you tracking only a few?
2010/7/6 Horvátth Szabolcs szabo...@impresszio.hu
Hi John,
maybe there is a way to ignore the callback if a mouse button is
pressed down at the time. (or the alt key, if this is the main issue).
You can query the mouse /
This question is slightly off topic, but still related.
When a shape from a referenced file is instanced a bunch of groupid nodes
are created relating to the shading network, and it is possible to assign
new materials to this instance. I am wondering if there is a way to prevent
the creation of
David,
We use a sitecustomize.py that simply lives in one of our python system
paths and it works fine.
It sounds like we are doing something similar. Here's an excerpt from our
file that pushes the pymel path to the head to ensure the maya over-ride
works properly:
if
It's true. All attributes are created equal. Compound attributes are
largely a nicity for the user, be that an artist using the ui, or a
programmer organizing data in a way that makes sense to a human. If
anyone cares to test this just try creating a compound attribute that
has a child attribute
You can't just unlock a node that was locked in a referenced file. Depending
on what you want to do, there may be other ways of accessing the node. Can
you describe your use case a little?
-Judah
On Mon, May 17, 2010 at 11:13 AM, Brandon Harris bhar...@irrigger.comwrote:
isn't it like
%s was removed' % (attrName, nodeName)
Ryan
On 7 May, 03:26, Judah Baron jba...@sanzaru.com wrote:
Does anyone have a good way of monitoring the deletion of a secific
attribute? MNodeMessage.addNodePreRemovalCallback doesn't like
attributes.
It works nicely for dg/dag nodes, but gives
Does anyone have a good way of monitoring the deletion of a secific
attribute? MNodeMessage.addNodePreRemovalCallback doesn't like attributes.
It works nicely for dg/dag nodes, but gives kInvalidParameter for attribute
mobjects.
-Judah
--
http://groups.google.com/group/python_inside_maya
Initializing something in compute and checking it later every time compute
is called is just wrong. The whole purpose of the dependency graph is to
maintain efficient [lazy] evaluation of the network. For that reason, I
personally would not put such a check into compute. If the node is part of
/animio/byrons-sidelinehttp://gitorious.org/%7Ebyron/animio/byrons-sideline
Cheers,
Sebastian
On Apr 27, 2:49 am, Judah Baron judah.ba...@gmail.com wrote:
Ok, that fix does allow me to import mrv without error. Haven't gotten
much
past that today, but it looks like I should be able to make
, Judah Baron judah.ba...@gmail.com wrote:
Great! Thanks for the response. We are not loading anything with a
custom manipulator, but I'll turn things off to see what happens.
Question:
If mrv does find something that it doesn't recognize is it possible to
fail more gracefully? So instead
be fine with the latest
version.
Please let me know whether it works for you,
Sebastian
On Apr 23, 8:06 pm, Judah Baron judah.ba...@gmail.com wrote:
I am looking at MRV and I like what I see so far, although I am getting an
UnknownPluginManipContainer upon import.
Any idea what this means
I am looking at MRV and I like what I see so far, although I am getting an
UnknownPluginManipContainer upon import.
Any idea what this means?
import mrv.maya.nt
# Error: ('UnknownPluginManipContainer',)
# Traceback (most recent call last):
# File maya console, line 1, in module
# File
This is not an answer to the question, but I thought I'd post a
relevant discovery we made here, with the hope that it might help
someone else out if they run into a similar issue. We found
cmds.parent to be horribly inefficient when doing a large batch of
re-parenting. We have a system that uses
Has anyone experienced any of the OpenMaya*.pyc files disappearing?
Every once in a while our tools won't load because of missing modules.
When I go into the maya directory the pyc's are gone!?
thanks,
-Judah
--
http://groups.google.com/group/python_inside_maya
I have a similar problem, but it's with the cmds module. The API
completion works, but not cmds.
On Fri, Apr 16, 2010 at 9:43 AM, Adam Mechtley adam.mecht...@gmail.com wrote:
I've been having a problem with the maya.mel module in Eclipse and am hoping
someone here may have an idea.
I was hoping it wouldn't come to this, but I suppose I'll live:)
Thanks for the in-depth response.
-Judah
On Thu, Apr 15, 2010 at 9:40 AM, Chad Dombrova chad...@gmail.com wrote:
this was put together by friend-of-the-list Chris Grebeldinger. very
thorough. saved me hours of work. great
I think you may have two separate issues here. If you use createNode,
rather than joint that should do the trick in terms of the parenting.
Regarding the selection, what I often do is capture the current
selection, then do a bunch of stuff, which may end up changing the
user's selection, then
We use a minimal sitecustomize.py, but it's intentionally minimal - it
just copies data from a buffer var into PYTHONPATH. We don't use the
maya.env file at all because we need all of our tools to run from
similarly configured environments. We do this with data from xml
files. We also do not use
Not to belabor the point, I just want to make sure I understand...
Is there a way to get pyQt handles to the objects created this way?
cmds.window returns a string, which must then be used by Maya's qt
implementation to map to a qt widget. Does a python developer have any way
of accessing this
Yeah, that's great news. Congratulations. I guess I can climb down from the
fence as well.
-Judah
On Wed, Mar 10, 2010 at 11:53 AM, Winning Guy nels...@gmail.com wrote:
Awesome news!
Congratulations for all the hard work. I'm looking forward to using
it.
On Mar 9, 2:14 pm, Chad Dombrova
Has anyone done any rendering using the python API?
I'm interested in anyone's experience.
thanks,
-Judah
--
http://groups.google.com/group/python_inside_maya
We have a 'utility' version of Maya running in our tool server, which we
communicate with from interactive Maya over a socket. It's run as
maya.standalone and we use it to do odd jobs, such as batch exporting or
cleaning up a file, or other batch type processes, etc. I'd like to use it
to do
Sorry for the delayed response, but I did want to comment on this.
I think it's important to retain the ability to run the base maya modules.
In fairness, I should mention that we are not currently using pymel, so my
response is based on the idealogical rather the practical. It is an
important
Did you create a function like the GetPlugData function in the example? That
function allows you to trigger compute when you want because it actually
pulls data from a specific plug, and in so doing, forces a dependency.
On Tue, Feb 2, 2010 at 8:29 PM, Ling howandw...@gmail.com wrote:
Thanks a
Maya's command port is a special type of interface designed with the sole
purpose of executing mel code. It is possible to use a generic python socket
in Maya for whatever purpose you need. What comes through that socket is
just data and Maya doesn't know anything about it. It would be your code
Has anyone experienced problems using Maya's enum values?
We have had to use integer values directly because the enum values we get
through the class is not correct. It appears to me that the enums coming
through the python class are all zero based and 'localized' to the
assocaited class, whereas
short instead)
On Tue, Jan 19, 2010 at 12:21 PM, Judah Baron jba...@sanzaru.com wrote:
Has anyone experienced problems using Maya's enum values?
We have had to use integer values directly because the enum values we get
through the class is not correct. It appears to me that the enums coming
://downloads.bungie.net/presentations/ModularProceduralRigging.zip
-David
On Jan 13, 7:10 am, Judah Baron judah.ba...@gmail.com wrote:
I don't see using connections as inelegant at all. Actually, it's the
cleanest and most reliable way to manage many relationships and
associations
in Maya. It's
I don't see using connections as inelegant at all. Actually, it's the
cleanest and most reliable way to manage many relationships and associations
in Maya. It's a manifestation of Maya's core architecture and its main
strength. If you look at the way Maya's default nodes work together, or the
way
Is there a particular reason you don't want to pass the parent in
explicitly? The following works:
import maya.cmds as cmds
w1= cmds.window(menuBar=True,menuBarVisible=True)
# default parent is now w1
cmds.columnLayout()
cmds.text(l='window1')
cmds.menu() # this gets added to w1
w2=
I'm curious what the final size was of that py2exe file?
On Wed, Nov 11, 2009 at 12:21 PM, chadrik chad...@gmail.com wrote:
this is another place where unix has windows beat. on a unix-like system
python scripts can be executables themselves, so there's no need for this
extra exe layer:
88 matches
Mail list logo