首页 > 解决方案 > 无法使用 Maya2020 使用 Mayapy 打开场景

问题描述

我有一个关于 mayapy 的问题。我正在尝试使用 mayapy 打开和调整场景,但出现致命错误并崩溃。
场景已加载 Vray/Arnold/Bifrost 插件。(错误代码进一步向下)。
在此之前,我尝试了一些故障排除:

我可以像这样打开一个完全干净的场景:

mayapy.exe -c "import maya.standalone;maya.standalone.initialize('python');import maya.cmds as cmds;cmds.file(new=True);cmds.file(type='mayaAscii');cmds.file(rename='my_file_location');cmds.file(save=True)"
mayapy.exe -c "import maya.standalone;maya.standalone.initialize('python');import maya.cmds as cmds;cmds.file('my_file_location',open=True);

但是如果我打开我的maya文件,打开hypershader然后保存文件并尝试使用mayapy再次打开它,我得到这个:

mayapy.exe -c "import maya.standalone;maya.standalone.initialize('python');import maya.cmds as cmds;cmds.file('my_file_location',open=True);

Warning: file: 'my_file_location' line 138: Unrecognized node type 'nodeGraphEditorInfo'; preserving node information during this session.
Warning: Errors have occurred while reading this scene that may result in data loss.
File read in  0.017 seconds.

太奇怪了吧?无法识别 Mayas 自己的节点?
现在,如果我尝试使用我的“真实”场景文件,我会得到一个不同的错误。我的场景将 vray/arnold/bifrost 设置为自动加载(但除了场景中的几个组和场景之外,什么都没有)。我收到此错误:

[2020/Mar/27|13:51:10] V-Ray: V-Ray Next for Maya, update 2.1 version 4.30.01 from Jan 21 2020, 20:37:48
[2020/Mar/27|13:51:10] V-Ray: V-Ray core version is 4.30.01
Initializing V-Ray for Maya

[VMAYA PT] Loaded and initialized C:\Program Files\Autodesk\Maya2020\vray/shaders/ptbercon_special.dll
[VMAYA PT] Loaded and initialized C:\Program Files\Autodesk\Maya2020\vray/shaders/ptuvwgen_bercon.dll
[2020/Mar/27|13:51:11] V-Ray: Loading plugins from "C:\Program Files\Autodesk\Maya2020\vray/vrayplugins/vray_*.dll"
[2020/Mar/27|13:51:11] V-Ray: 83 plugin(s) loaded successfully
[2020/Mar/27|13:51:11] V-Ray: Finished loading plugins.
Warning: V-Ray: Could not get the renderer
Warning: V-Ray VolumeGrid: Loading shaders failed - no <*.txt> files in .
V-Ray VolumeGrid: loading C:\Program Files\Autodesk\Maya2020\vray/scripts/VRayVolumeGridInit.mel...
Warning: file: C:\Users\chris\OneDrive\Documents\maya\2020\prefs\filePathEditorRegistryPrefs.mel line 4: filePathEditor: Attribute 'aiImage.filename' is invalid or is not designated 'usedAsFilename'.
Warning: file: C:\Users\chris\OneDrive\Documents\maya\2020\prefs\filePathEditorRegistryPrefs.mel line 5: filePathEditor: Attribute 'aiPhotometricLight.aiFilename' is invalid or is not designated 'usedAsFilename'.
Warning: file: C:\Users\chris\OneDrive\Documents\maya\2020\prefs\filePathEditorRegistryPrefs.mel line 6: filePathEditor: Attribute 'aiStandIn.dso' is invalid or is not designated 'usedAsFilename'.
Warning: file: C:\Users\chris\OneDrive\Documents\maya\2020\prefs\filePathEditorRegistryPrefs.mel line 7: filePathEditor: Attribute 'aiVolume.filename' is invalid or is not designated 'usedAsFilename'.
V-Ray VolumeGrid: OK.
pymel.core : INFO : Updating pymel with pre-loaded plugins: vrayvolumegrid, stereoCamera, vrayformaya, cacheEvaluator, renderSetup
Warning: file: C:/Program Files/Autodesk/Maya2020/scripts/startup/initialStartup.mel line 179: Y-axis is already the Up-axis
AbcExport v1.0 using Alembic 1.7.5 (built Feb  6 2018 18:28:08)
Initialized VP2.0 renderer {
  Version : 2016.11.53.12. Feature Level 5.
  Adapter : GeForce GTX 1080/PCIe/SSE2
  Vendor ID: 4318. Device ID : 7040
  Driver : .
  API : OpenGL V.4.6.
  Max texture size : 16384 * 16384.
  Max tex coords : 32
  Shader versions supported (Vertex: 5, Geometry: 5, Pixel 5).
  Shader compiler profile : (Best card profile)
  Active stereo support available : 0
  GPU Memory Limit : 8192 MB.
  CPU Memory Limit: 31071.4 MB.
  MultiDraw consolidation: enabled
}
OpenCL evaluator is attempting to initialize OpenCL.
Detected 1 OpenCL Platforms:
 0: NVIDIA Corporation. NVIDIA CUDA. OpenCL 1.2 CUDA 10.2.141.
 Supported extensions: cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_copy_opts cl_nv_create_buffer cl_khr_int64_base_atomics cl_khr_int64_extended_atomics
OpenCL evaluator choosing OpenCL platform NVIDIA Corporation.
OpenCL evaluator is unable to find a GPU device that can share VBOs with OpenGL.
AbcImport v1.0 using Alembic 1.7.5 (built Feb  6 2018 18:28:08)
[2020/Mar/27|13:51:19] V-Ray: Registered dynamic node vrayMultiProjection (id: 1115335/0x001104C7)
[2020/Mar/27|13:51:19] V-Ray: Registered dynamic node VRayCurvature (id: 1115347/0x001104D3)
[2020/Mar/27|13:51:19] V-Ray: Registered dynamic node VRayTriplanar (id: 1115362/0x001104E2)
[2020/Mar/27|13:51:19] V-Ray: Registered dynamic node VRayPointParticleMtl (id: 1115353/0x001104D9)
[2020/Mar/27|13:51:19] V-Ray: Registered dynamic node VRayStochasticFlakesMtl (id: 1115359/0x001104DF)
[2020/Mar/27|13:51:19] V-Ray: Registered dynamic node VRayAlSurface (id: 1115350/0x001104D6)
[2020/Mar/27|13:51:19] V-Ray: Registered dynamic node VRayHairNextMtl (id: 1115320/0x001104B8)
[2020/Mar/27|13:51:19] V-Ray: Registered dynamic node VRayBerconNoise (id: 1115370/0x001104EA)
info:   MDL SDK 2018.1, build 307800.1800, 09 Aug 2018, nt-x86-64
info:   Loaded library "C:\Program Files\Autodesk\Maya2020\bin\libvrayfreeimage.dll".
Warning: Python callback failed
Warning: line 1: filePathEditor: Attribute 'aiStandIn.dso' and label 'Standin' have been saved already.
Warning: line 1: filePathEditor: Attribute 'aiVolume.filename' and label 'VDB' have been saved already.
00:00:00   770MB WARNING | [mtoa] [<built-in>] [node aov_write_vector] Assigning temporary node id 1138176 to associated Maya type name aiAovWriteVector.
Warning: line 1: filePathEditor: Attribute 'aiImage.filename' and label 'Image' have been saved already.
Warning: line 1: filePathEditor: Attribute 'aiPhotometricLight.aiFilename' and label 'IES' have been saved already.
Successfully imported python module 'arnold'
Successfully imported python module 'mtoa'
Warning: };
Warning: "C:/Program Files/Autodesk/Maya2020/scripts/others/imageFormats.mel" line 65.2 : Global variable is already initialized; this occurrence is ignored.
Successfully registered renderer 'arnold'
Stack trace:
  Foundation.dll!Tstring::compare
  Foundation.dll!Tstring::operator==
  Foundation.dll!TstringArray::find
  Shared.dll!TsceneFile::addFileInfo
  Shared.dll!TfileInfoCmd::doCommand
  CommandEngine.dll!Tjournal::operator=
  CommandEngine.dll!TmelVariableList::`default constructor closure'
  CommandEngine.dll!TmelVariableList::`default constructor closure'
  CommandEngine.dll!SophiaExecutable::evaluate
  CommandEngine.dll!TcommandEngine::executeCommand
  Shared.dll!TmayaAccessor::execute
  Translators.dll!TmayaAsciiAccessor::reader
  Shared.dll!TfileTranslator::read
  Shared.dll!TglobalTranslator::doReadFile
  Shared.dll!TfileUtil::readFile
  Shared.dll!TsceneOperator::openFile
  Shared.dll!TfileCmd::handleFileOpenFlag
  Shared.dll!TfileCmd::handleFlags
  Shared.dll!TfileCmd::handleFlags
  Shared.dll!TfileCmd::doCommand
  CommandEngine.dll!TpythonInterpreter::dispatchMayaCommand
  python27.dll!PyCFunction_Call
  python27.dll!PyEval_GetFuncDesc
  python27.dll!PyEval_GetFuncDesc
  python27.dll!PyEval_EvalFrameEx
  python27.dll!PyEval_EvalCodeEx
  python27.dll!PyRun_FileExFlags
  python27.dll!PyRun_StringFlags
  python27.dll!PyRun_SimpleStringFlags
  python27.dll!Py_Main
  mayapy.exe!<7FF63C2E2A3C>
  mayapy.exe!<7FF63C2E2FA0>
  KERNEL32.DLL!BaseThreadInitThunk
  ntdll.dll!RtlUserThreadStart
00007FFD0C9CF600[WARNING] V-Ray for Maya may not have been uninitialized properly!

有谁知道为什么会这样?
我以前在以前的项目中使用过 mayapy,但它从来没有这样做过。
唯一的“新”变量是我使用的是我的家用电脑和 maya2020 而不是 maya2019。我也安装了 python3,但我在以前的项目中也安装了它,所以我不确定这是问题所在。

我希望你们能对此有所了解,因为我很迷茫:)

标签: pythoncommand-linemaya

解决方案


import maya.cmds as cmds
cmds.delete(cmds.ls(type="nodeGraphEditorInfo"))

问题来自使用 hypershade 或 nodeeditor 时创建的节点。您需要列出所有这些并删除所有内容。这只是关于显示,所以它应该是安全的。


推荐阅读