我希望使用一個熱鍵在頂部和底部正視圖視圖之間切換,另一個熱鍵正面和背面,以及在MODO中與第三個圖像左右相切。這是一次只有一個鍵的兩個命令。 我想知道如何做到這一點,在Python或梅爾在運行時命令編輯器,並最好與我將來選擇的任何其他命令。 謝謝。一次只用一個按鍵在兩個命令之間切換
回答
這其實很簡單,我不喜歡玩默認的Maya相機,但我認爲這不是問題。 所有你需要做的就是乘以-1的翻譯座標。併爲您想要的每個相機添加180度到相應的軸。
def getActiveViewport():
"""Return the active 3D viewport if any"""
panel = cmds.getPanel(withFocus=True)
if cmds.getPanel(typeOf=panel) == 'modelPanel':
return panel
return ''
def switchcamera(cam):
viewport = getActiveViewport()
if viewport:
orient = {'top': 'X', 'front': 'Y', 'side': 'Y'}
translate = cmds.getAttr(cam + '.translate')[0]
translate = [i*-1 for i in translate]
rotate = cmds.getAttr(cam + '.rotate' + orient[cam])
rotate = (rotate + 180) % 360
if rotate < 0:
rotate = rotate + 360
cmds.setAttr(cam + '.translate', *translate, type='double3')
cmds.setAttr(cam + '.rotate' + orient[cam], rotate)
cmds.modelPanel(viewport, edit=True, camera=cam) # Set the camera to the active viewport
然後,您可以調用那些視口焦點的命令,它會自動切換到指定的攝像機。
switchcamera('top')
switchcamera('front')
switchcamera('side')
你也可以爲每個方向創造新的相機 - 如果他們不存在already-和來回切換默認和非默認的之間。不要忘記複製他們的翻譯/旋轉屬性,這是該解決方案中棘手和不那麼優雅的部分。
謝謝,但我該如何使用該python腳本? –
你是什麼意思? 你可以將它複製到你的控制檯並執行它來檢查它是否工作。 如果您的意思是「如何將該功能分配給某個熱鍵/擱板?」這是一個完全不同的問題。 您可以複製所有腳本+每個攝像頭所需的攝像頭的呼叫,然後複製代碼。或者把代碼放到你的Maya「腳本」文件夾中的switchcamera.py文件(或任何你想要調用它的文件)中,並將其放入你想要的快捷方式: 'import switchcameras; switchcameras.switchcamera('top')' – Regnareb
- 1. jquery在兩個按鈕之間切換
- 2. 每按一次按鈕,我想在兩個功能之間切換
- 3. 綁定切換按鈕,兩個命令
- 4. 切換按鈕,但只切換一次
- 5. 一次切換一個按鈕
- 6. 允許通過一個鍵在兩個腳本之間切換的腳本?
- 7. 兩個按鍵,只有一個工作
- 8. JavaScript按鈕一次只能切換一個
- 9. 使用jQuery切換兩個CSS動畫只能工作一次
- 10. 如何使用一個按鈕(HTML/JS)兩個圖像之間進行切換
- 11. 一個按鈕的兩個命令
- 12. 一次只打開2個切換
- 13. 用一個按鈕在樣式表之間切換
- 14. 如何使用下一個和上一個按鈕在表格之間切換?
- 15. jQuery在兩個功能之間切換
- 16. 在兩個setInterval函數之間切換
- 17. 切換Cursorline開/關一個按鍵
- 18. 用戶一次只能按住一個鍵盤按鈕
- 19. 在同一活動中的兩個GridView之間切換
- 20. 在兩個單獨批次之間切換張量
- 21. SlideToggle在第一個和最後一個div之間切換
- 22. 在一個動畫和另一個動畫之間切換。 Angular.js
- 23. 如何在兩次潛水之間放置一個按鈕?
- 24. 只運行一次javascript命令一次
- 25. 只執行一次Sql命令一次
- 26. 如何在一個jQuery調用中的兩個文本之間切換?
- 27. 在jquery中的兩個單選按鈕之間切換類
- 28. Objective-C在兩個按鈕之間切換
- 29. 用1個按鈕一次切換多個div使用jquery
- 30. 如何選擇WPF中的兩個切換按鈕之一?
這個比你想象的要難一些,因爲你可以非常容易地獲得瑪雅相機的_name_,但確保它實際上處於默認方向的唯一方法是檢查相機的實際方向:可以有一臺攝像頭開始像「前置攝像頭」一樣生活,但用戶已將其翻轉過來,因此它面向左側 - 但是,儘管瑪雅知道它仍然是前置攝像頭。 你是否在意擁有比默認的front/side/top/persp更多的攝像頭? – theodox
@theodox是對的Mayas相機不像人們所期望的那樣工作。最好不要試圖強迫瑪雅成爲別的東西,而是利用瑪雅擅長的東西,例如在瑪雅人中,你可以通過挖掘空間和挖空來做到這一點。這可以做,但我不建議它做,因爲它有幾個嚴重的警告,因爲瑪雅在這方面不像max或modo那樣工作。 – joojaa