python - 无法使用 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,但我在以前的项目中也安装了它,所以我不确定这是问题所在。
我希望你们能对此有所了解,因为我很迷茫:)
解决方案
import maya.cmds as cmds
cmds.delete(cmds.ls(type="nodeGraphEditorInfo"))
问题来自使用 hypershade 或 nodeeditor 时创建的节点。您需要列出所有这些并删除所有内容。这只是关于显示,所以它应该是安全的。
推荐阅读
- android - 是否可以在不安装 Google Play 游戏应用程序的情况下使用 Android 排行榜?
- reactjs - React 上下文 API 不会将新状态值传递给所有 Consumer props
- php - 警告:ZipArchive::close():创建临时文件失败:权限被拒绝
- c# - HttpClient 和 MultipartFormDataContent = 上传文件和字符串
- angular - Angular:为什么颜色 CSS 属性设置会向下传播到嵌套组件?
- vue.js - 单页应用程序路由
- java - AWT:我正在尝试学习 Java,但无法理解以下程序
- cordova - IONIC 4 无法安装 cordova-plugin-connectsdk
- javascript - 我对反应中的 const 关键字感到困惑
- java - 替换 JAVA 中 HTML 文件的占位符