Maya 常見問題解決方案
本文部分醫(yī)用了網(wǎng)絡(luò)文章,很有效,雖然平時自己也有在用,實在懶得系統(tǒng)總結(jié),大部分問題對于新手來說幾乎無從下手解決。這里做了適當(dāng)增補。
打開軟件既崩潰
這是個令人崩潰的問題,雙擊打開軟件,出現(xiàn)一個下面這樣的彈窗,Maya就崩潰退出了。
A.這樣的情況通常刪除用戶預(yù)設(shè)文件夾即可解決:位置一般在我的文檔Maya文件夾里...\Documents\maya<版本>\prefs
B.自己遇到幾次這種情況,是因為在Plug-in Manager為某些插件勾選了Auto Load,
如果不勾選它,在打開Maya后再開啟這個插件就沒有問題,沒有細究過原因,暫時就讓制作們手動加載。
C.還有種情況是因為OpenCL導(dǎo)致的Maya啟動崩潰解決方法是在Maya.env文件中添加環(huán)境變量來禁用它:MAYA_DISABLE_OPENCL = 1
PS:當(dāng)然更常見的是平時備份好預(yù)設(shè),出了問題直接覆蓋

無法后臺批渲染或直接提示已經(jīng)渲染完畢
A。內(nèi)存過低有時候會導(dǎo)致前臺沒問題,但批渲染直接報告渲染完畢但并不渲染
B。檢查Render Settings里的Pre ?render MEL.部分插件會寫入一些特定代碼,雖然不影響前臺但會影響后臺渲染。如果該代碼無法正常執(zhí)行,就會導(dǎo)致批渲染無法正常工作。
C。采樣過高活圓滑代理過高有部分情況也會導(dǎo)致內(nèi)存爆表。

打開文件后直接崩潰
(1.)文件里包含了Maya沒有加載的插件。
比如一個場景文件中,人物的資產(chǎn)帶有RenderMan的材質(zhì)球或使用了yeti毛發(fā)。這樣的情況需先開啟插件,再打開文件即可。
需要注意的是,如果沒插件。就需要在渲染設(shè)置里將渲染前執(zhí)行yeti的命令行刪除
(2.)文件里加載了多個且臃腫的Reference。
Maya一次性加載這些Reference文件,可能會導(dǎo)致進程卡死崩潰。
通常在打開文件的時候在右側(cè)選項里選擇Load no reference,然后在Maya文件打開后,進入Reference管理器中重新勾選加載資產(chǎn)即可。
(3.)文件過大,超過4.8G的文件,寫入雖然問題不大,但再次打開,受限于部分硬件環(huán)境會導(dǎo)致永久無法打開。
(4.)有些文件默認(rèn)打開文件的時候,會開啟了Hypershade窗口或其他窗口。一些過多或未使用的材質(zhì)球也會導(dǎo)致Maya打開文件時的系統(tǒng)資源擁擠導(dǎo)致假死。解決方法是找到預(yù)設(shè)文件:...\Documents\Maya<版本>\prefs\userPrefs.mel
打開這個文件并通過搜索minorNodeTypesDisplay,修改為:-iv "minorNodeTypesDisplay" 0
修改后重啟Maya。
除此之外,當(dāng)對文件進行open操作會導(dǎo)致崩潰的話,可以嘗試新建一個空文件。import這個文件試試。
(5.)可以嘗試去掉勾選打開文件下面的Execute?script?nodes,不運行該文件默認(rèn)的腳本配置
導(dǎo)入文件在大多情況是可行的,然后在保存文件之前,最好對文件進行場景優(yōu)化和清理。按4后再進行保存文件。如果按6的話也容易貼圖過多導(dǎo)致文件假死。

進行某項操作崩潰
下面有幾個例子
在動畫烘培的時候崩潰:
因為Maya在進行烘培的時候會跑一遍時間滑塊,對于一些臃腫的文件(幀數(shù)長,文件大),
可能在跑到一半的時候Maya就閃退了。
可以把主界面顯示修改為其它窗口:
這樣減少了Maya烘培時候,對圖形多余的計算(因為在時間滑塊一幀幀播放的時候,圖形一直在刷新)。
還有種方法則是使用腳本進行烘培,跳過跑時間滑塊的步驟。
打開插件編輯器的時候崩潰,這可能是一些第三方插件導(dǎo)致,在安裝Arnold的時候配置mod文件的時候出現(xiàn)過類似問題,
對一個綁定文件進行位移選擇操作的時候崩潰:
打開預(yù)設(shè)設(shè)置,修改求值模式為DG(臟值運算)。

復(fù)制的燈光或材質(zhì)無法正常工作
可以將該元素單獨導(dǎo)出成MB文件,再重新導(dǎo)入該文件
造成該問題主要是由于下游節(jié)點如GOBO,decay等燈光濾鏡或一些非法命名導(dǎo)致該元素不生效,可以查看后臺具體哪些元素出現(xiàn)了故障。

透視圖相機屬性值變?yōu)榱藷o窮大且操作不正常
在按下f鍵,對模型在視圖居中顯示的時候,容易觸發(fā)這個問題。
通常可能是因為模型過大,損壞的模型,或者打開一些有問題的Maya文件所導(dǎo)致。
暫時修復(fù)的話,選擇透視圖攝像機:
1.執(zhí)行Modify-Reset Transformations操作
2.將下圖的數(shù)值改為1
這個時候就不要再按F了,不然視圖又會變成NaN。
想完全修復(fù)這個問題的話,關(guān)閉maya,找到預(yù)設(shè)文件:
...\Documents\Maya<版本>\prefs\userPrefs.mel
搜索并修改“FitFactor”的數(shù)值,為0.01-1.0之間。(一定要帶小數(shù)點)
重新打開Maya就好了。
或者在沒出問題的文件下,給默認(rèn)攝像機做一個預(yù)設(shè)備份,出問題后。直接使用預(yù)設(shè)。也可以解決問題。

打開文件后,GPU無限報錯
一般會出現(xiàn)在顯存配置較低的機器上,可以將視圖窗口Renderer下面的設(shè)置里面的
Max Texture Resolution改為256后再點擊Reload All Textures,即可大幅度縮減顯存開支。

文件無法保存
比如在保存文件(保存為ma文件的時候),遇到這樣的提示。
A。首先檢查一下硬盤是否已經(jīng)寫滿?
B。檢查文件名是否含有非法字符
C。因為文件中存在了未知node,優(yōu)化清理后再進行Save就好了:
還有某些未知情況,保存文件的時候出現(xiàn)一行報錯(具體沒有截圖也沒法還原場景)。嘗試在Script Editor腳本編輯器里MEL頁輸入這行Mel命令,改個名字就可以了:file -rename "newName.ma";

在大綱視圖選擇一個對象后報錯
Error: Cannot find procedure "look"
在透視圖選擇物體沒有問題,只有當(dāng)在Outline視圖里選擇物體的時候會出現(xiàn)報錯。
解決它只需要在mel里執(zhí)行一行命令:
outlinerEditor -edit -selectCommand "" "outlinerPanel1";

"Can't find procedure xxxx" 報錯
例如這樣的進程報錯:
//?Error:?line?1:?Cannot?find?procedure?"onModelChange3dc".?////?Error:?line?1:?Cannot?find?procedure?"CgAbBlastPanelOptChangeCallback".?//...
關(guān)于"CgAbBlastPanelOptChangeCallback"的錯誤可以參考他的博客:https://blog.l0v0.com/posts/a7c99667.html
而"onModelChange3dc"我在google搜到一篇帖子,執(zhí)行一個python腳本進行修復(fù):
needs_fixing?=?Falsetry:????expression_str?=?cmds.getAttr('uiConfigurationScriptNode.before')????fixed_expression_lines?=?[]????for?line?in?expression_str.split('\n'):????????if?'-editorChanged?"onModelChange3dc"'?in?line:????????????needs_fixing?=?True????????????continue????????fixed_expression_lines.append(line)????fixed_expression?=?'\n'.join(fixed_expression_lines)????if?needs_fixing:????????cmds.setAttr('uiConfigurationScriptNode.before',?fixed_expression,?type='string')except:????pass

大綱里明明有很多物體,但視圖窗口卻什么都看不到
A。檢查Display layer是否未開啟
B。執(zhí)行DISPLAY>SHOW>ALL
C。檢查試圖窗口,show菜單是否全部開啟或運行了ISO顯示模式
D。檢查攝像機的最遠,最近剪切板距離是否恰當(dāng)

Maya窗口變得混亂
大部分情況是因為錯誤的拖拽造成的,可以重置布局:
或者把一些UI元素給隱藏了起來,在這里進行UI重置:
再者是因為從雙屏切環(huán)境換到了單屏環(huán)境,導(dǎo)致一些窗口保留到了另一個屏幕無法正常顯示。我自己經(jīng)常遇到這樣的情況,后來在勁爆羊的博客里翻到了一個方法。
import?pymel.core?as?pmctry:????????????from?PySide.QtGui?import?QApplication#(2015-2016)except:????from?PySide2.QtWidgets?import?QApplication#(2017-2018)for?one?in?QApplication.topLevelWidgets():????try:????????one.move(100,100)????except:????????passfor?one?in?pmc.lsUI(type='window'):????try:????????one.setTopLeftCorner((100,100))????except:????????pass
或者干脆重置MAYA也可以解決該問題!

Maya中看不到軸向控制器
這里選擇了移動工具,但是沒有軸向控制顯示。
雙擊Move Tool打開選項窗口,把Tweak Mode勾選去除即可。
(或者直接Reset Tool將設(shè)置還原為默認(rèn)值)
可以看到軸向控制正常顯示了。
如果該操作無效的話,也可以直接保存MAYA文件,重新打開軟件,即可恢復(fù)正常。

渲染層切換的時候報錯
這是一個對于燈光師比較常見的問題。來自Adu的博客:
https://www.aducg.com/2015/03/23/maya-renderlayer-batch-rendering-errors/
Error: Cannot switch from 'bottle' to 'defaultRenderLayer1' because of an override to a missing node within a referenced scene
之前遇到類似的報錯,是因為在渲染層里把一些Reference給刪除了。
導(dǎo)致渲染層丟失了這個節(jié)點,在切換到默認(rèn)渲染層的時候出現(xiàn)報錯,且無法切換回去。
博客里有一個解決方法,一行mel命令:
fixRenderLayerOutAdjustmentErrors;
有時候它可以解決問題,但有時候又沒效果。
打開Node Editor找到defaultRenderLayer的節(jié)點,
斷開那條爆紅(或者好像是有個警告的標(biāo)志)的Input連接即可。(這里沒有圖,也沒法還原當(dāng)時的場景,就是提供這個思路)
還有一種情況是切換Render layer的時候,部分物體顯示變?yōu)榫€框,只能通過重新賦予該物體材質(zhì)或重新制作該分層去解決。