Maya hypershade oddness

So we’re using a few cgfx shaders for some work in Maya2009.
They work nicely then at random moments the scenes break down something gets corrupted.

The oddness:
The scene when reopened displays no materials other than defaults.
Turn on shaded mode and the model renders with the cgfx shaders, ls -type “lambert” gives a list of all the lambert materials that are actually in the scene but not drawn in the hypershade, I can also list all the cgfx materials in the scene. I can graph from faces with some custom scripts I wrote and locate the shader and it pops into the workArea, I can edit it.

I can create a new cube, I can’t assign any shader (lambert or cgfx) that is in the worksArea to the cube so something somewhere is fundamentally broken.
feedback:
sets -e -forceElement terrain_main_street_fooked_sh_T_Asphalt_01SG;
// Warning: line 1: Node ‘pCubeShape1.instObjGroups[0]’: cannot make assignment to ‘terrain_main_street_fooked_sh_T_Asphalt_01SG’ shader. //
// Error: line 1: Connection not made: ‘pCubeShape1.instObjGroups[0]’ -> ‘terrain_main_street_fooked_sh_T_Asphalt_01SG.dagSetMembers[-1]’. Source node will not allow the connection. //
// Error: line 1: Error while parsing arguments. //

I’ve imported the data to a new scene, same behaviors. I can’t see anything remarkable odd in the .ma files and we can’t reproduce it on demand… but it keeps happening.
The artists have figure a con fangled way to reinstate the scene from backups and importing lost work(obviously propagating the issue). One even swears he deletes his personal prefs to gain stability.
But its somewhat annoying.
We have no persistent scripts running in the background.

Anyone experienced this type of behavior before or seen it?
Any ideas?

Are there any errors when you open the scene? This can cause this “half-loaded” behaviour. We had some #-1INF (or similar) values in our UVs, which caused the .ma to not load properly. As soon as we replaced these with 0.0, the scene loaded properly.

I’ll take a look see I didn’t spot anything though…

tanks!

If it is not because your scene loaded incorrectly, try checking your defaultShaderList / defaultTextureList / defaultRenderUtilityList nodes. What might’ve possibly happened is that someone deleted those nodes prior to saving, causing all your shaders/textures/place2dTexture nodes to be unregistered, and therefore unusable. You can check if your nodes by registered by running listConnections defaultShaderList1.shaders. If they are not returned, then that would be your problem :slight_smile: