Home Technical Talk

Maya: lambert bastard 1

mod
Offline / Send Message
rooster mod
this has been a long running issue with our export tools, we cannot export a model that has lambert 1 assigned to any part of it, or we get an error. Not sure what the deal is with lambert 1 but its a no-go area so we always try hard to keep it away from everything, but without fail we get that error that lambert 1 is applied to a poly somewhere.

When you select lambert 1 and select objects with material, nothing is selected but there is a 'phantom' gizmo, with nothign connected. If you delete it, the whole mesh goes, but no polys are actually selected.

It sounds like a history thing, but since we're dealing with skinned characters we're limited to 'delete non-skin history' and 'optimise scene size' which don't seem to do anything for the problem.

Does anyone else know of a similar problem to this, and do you have any good workarounds?

Replies

  • Ruz
    Offline / Send Message
    Ruz polycount lvl 666
    If it was in 3dsmax I would you down the stack and attach the phantom gizmo to the mesh.
    If there are no polys relating to the gizmo, I presume it would just disappear.
    Sounds as though you are using maya though, so not sure if this would work
  • rooster
    Offline / Send Message
    rooster mod
    Cheers for the suggestion but I think its different situation frown.gif. I don't know, maybe its inexperience speaking but mayas history really seems flaky at best when compared to the shiny modifier stack
  • Ruz
    Offline / Send Message
    Ruz polycount lvl 666
    he he, I have used both and I suppose it takes a while to adjust.
  • rooster
    Offline / Send Message
    rooster mod
    actually I do see myself as adjusted.. and from this view I miss max frown.gif. Theres some node somewhere still associated with lambert 1 and it just wont let go!
  • Daz
    Offline / Send Message
    Daz polycounter lvl 18
    We actually did have this situation on a game once rooster. I think we were using renderware at the time. If I recall though, these were debug errors we were getting at the 11th hr, close to beta, with no time, and I seem to recall we just assigned the material of the geo in the scene to the mystery node which had lambert1 assigned. Not very elegant.
  • Daz
    Offline / Send Message
    Daz polycounter lvl 18
    Try this on for size: delete `ls -type unknown`
  • Zergxes
    Offline / Send Message
    Zergxes polycounter lvl 18
    Any empty groups or leftover shape nodes in your outliner?
  • rooster
    Offline / Send Message
    rooster mod
    I'll give that a shot tomorrow daz cheers.. I asked about assigning a random material to the lambert 1, but our coder won't have it.. He says once we start doing that we're just pasting over an error and its asking for trouble.

    zergxes: the outliner looks clean.. just the mesh and skeleton its bound to. The problem seems to be related to the meshes shape node apparently which is only in the hypergraph. one guy in the office was saying that theres the shape node which he thinks contains all the actual geom info, and the mesh which is used to edit, rotate etc? the correct materials are on the mesh, but somehow the shape node is entangled with lambert 1. Deleting the shape node deletes the mesh
  • Illusions
    Offline / Send Message
    Illusions polycounter lvl 18
    My simple explanation:

    Lambert1 is the default shader in Maya. Its node is hard-coded into the shading and particle engine, and its not like regular shading nodes. You can see this yourself in hypershade. Select Lambert1 and hit 'input and output connections' or >> . You'll get two nodes branching off, one is 'initialParticleSE' the other 'initialShadingGroup' while if you create another lambert all it has is 'lambert2sg'.
  • JeffD
    Offline / Send Message
    JeffD polycounter lvl 17
    Also, if you select your object and open up Hypershade and hit the little double arrows (Show input and output connections) you will see your object graph with connections to all SGs that are associated with it. Sometimes when objects are combined, initialShadingGroup (aka lambert1) likes to stay connected to the object. With the object mapped in Hypershade, select the blue arrow and delete it. That should fix it. Notice that all the valid SGs are connected with red and green arrows.

    It has been a while since I have used Maya so no guarantees on the accuracy of those colors, but we often had the same problem with our exporter at my last job.

    --JeffD
  • rooster
    Offline / Send Message
    rooster mod
    Daz, tried your idea but it says 'cannot find components to delete' or something along those lines, thanks for the suggestion though.
    JeffD, it's wierd, lambert 1 shows only default connections and not to my mesh. I think I probably deleted the connection a while back when trying to fix it.. its a puzzle.

    after all the stuff I've tried so far I no longer get the phantom gizmo but theres still an export error :/. looks like it might mean a backtrack to an earlier file and try again, but we've had this problem so often I just want to try and figure it out once and for all
  • Steve Schulze
    Offline / Send Message
    Steve Schulze polycounter lvl 18
    Try running the optimize scene tool (in the file menu). It managed to find the (literally) 250,000 odd animation nodes that mysteriously hid themselves within one of the character model files someone was working on at Tantalus. Perhaps it can track down this invisible error causing node that you've got and kill it.
  • rooster
    Offline / Send Message
    rooster mod
    thanks man, but we've optimised till it hurts already smile.gif. We've found sometimes export to ma helps, but in this case its just fecked I think
  • malcolm
    Offline / Send Message
    malcolm polycount sponsor
    Hi, this problem is present in every game I've worked on unless your pipe cleans lambert1 on export. The reason it's still around and you can't see it is because you are selecting a cube for example, and applying shaders to all the components such as the faces without ever applying a shader to the model on the object level.

    Here is the fix> select objects in 3d view> open hypershade> input and output connections> delete connection to initial shading group.

    Dang it Jeff beat me to the fix. Graph the connections to your mesh in the hypergraph and see if there are any connections to it, if you're on maya7 there is a new bug.
  • SouL
    Offline / Send Message
    SouL polycounter lvl 18
    Hm. We don't have this problem.
Sign In or Register to comment.