我在OS X 10.10上工作的Unity 2D遊戲項目,我不能拖動文件或文件夾,它會顯示此錯誤。Unity3d:沒有拖放已建立
No Drag&Drop has been setup. Please
UnityEditor.DockArea:OnGUI()
我曾嘗試:
- 保存項目,然後重新啓動
- 點擊
Assets
文件夾並選擇Reimport All
,但它似乎不工作,如何解決呢?
我在OS X 10.10上工作的Unity 2D遊戲項目,我不能拖動文件或文件夾,它會顯示此錯誤。Unity3d:沒有拖放已建立
No Drag&Drop has been setup. Please
UnityEditor.DockArea:OnGUI()
我曾嘗試:
Assets
文件夾並選擇Reimport All
,但它似乎不工作,如何解決呢?
Unity使用NSPasteboard(剪貼板的OSX共享管理器)來保存Drag & Drop的數據,因此任何監視/修改剪貼板的進程都可能與Drag的拖動有關。
我認爲可能會有一個Chrome擴展程序會生成通知,因爲某些原因會中斷拖放。 禁用谷歌瀏覽器中的所有擴展程序,如果這不能解決您在Unity中遇到的問題,請重新安裝谷歌瀏覽器。
編輯:正如其他用戶建議,可能的工作另一種解決方案是
退出團結和力量通過活動監視器和 退出pboard過程,然後再次啓動統一。
希望它有幫助。
我試過這個解決方案,我刪除了Chrome並重新啓動Unity,但它沒有工作。 –
我重新啓動了macbook並禁用了Chrome擴展'push bullet',並且它可以正常工作。謝謝! –
奇怪,但真的... – Serdar
根據Sinyo提供的答案,我創建了一個小shell腳本來加速這個過程,並認爲我會分享。 [僅適用於Mac]關閉Unity,殺死Pboard進程,然後重新打開Unity。
#!/bin/sh
osascript -e 'quit app "Unity"'
pid=$(ps -fe | grep 'pboard' | grep -v grep | awk '{print $2}')
if [[ -n $pid ]]; then
kill $pid
else
echo "Does not exist"
fi
osascript -e 'launch the application "Unity"'
我知道這是一個古老的線程,但我想我可能會有所貢獻。我在一個屬性抽屜的實現中遇到了「No Drag & Drop」的錯誤,並嘗試了這裏給出的所有提示,但都沒有成功。我即將放棄,並將其歸咎於團結,但後來我找到了解決辦法。您會看到,我在設置對象引用並在mouseDown事件期間調用DragAndDrop.SetGenericData()
方法。 我改變了它,以便在MouseDrag事件中檢查是否存在DragAndDrop(在返回DragAndDrop.GetGenericData()
時檢查null)。如果它爲空,我在調用DragAndDrop.StartDrag()
之前在MouseDrag中設置數據。 這解決了這個問題。希望它可以幫助別人。
根據@user3130047的回答,這是另一個版本。僅適用於Mac。
ps aux | grep pboard | grep -v grep | awk '{print $2}' | xargs kill -9 | launchctl start com.apple.pboard
就是這樣。
但是,這可能會導致您的另一個打開的應用程序複製&粘貼不起作用。所以,你需要重新啓動它們。
這是完成最好的答案最簡單的方法:
killall -HUP pboard
(從終端或類似的,很明顯)
你指的資產項目選項卡移動文件/文件夾? – user3071284
看起來像一個Unity錯誤,你有沒有嘗試過另一個/更新的Unity版本或補丁版本? – JeanLuc
我指的是使用拖動的每個動作,例如將項目文件夾移動到另一個文件夾,將項目對象移動到場景。我想我應該升級到最新版本。 –