2015-09-04 68 views
4

我在OS X 10.10上工作的Unity 2D遊戲項目,我不能拖動文件或文件夾,它會顯示此錯誤。Unity3d:沒有拖放已建立

No Drag&Drop has been setup. Please 
UnityEditor.DockArea:OnGUI() 

我曾嘗試:

  1. 保存項目,然後重新啓動
  2. 點擊Assets文件夾並選擇Reimport All

,但它似乎不工作,如何解決呢?

+0

你指的資產項目選項卡移動文件/文件夾? – user3071284

+0

看起來像一個Unity錯誤,你有沒有嘗試過另一個/更新的Unity版本或補丁版本? – JeanLuc

+0

我指的是使用拖動的每個動作,例如將項目文件夾移動到另一個文件夾,將項目對象移動到場景。我想我應該升級到最新版本。 –

回答

4

Unity使用NSPasteboard(剪貼板的OSX共享管理器)來保存Drag & Drop的數據,因此任何監視/修改剪貼板的進程都可能與Drag的拖動有關。

我認爲可能會有一個Chrome擴展程序會生成通知,因爲某些原因會中斷拖放。 禁用谷歌瀏覽器中的所有擴展程序,如果這不能解決您在Unity中遇到的問題,請重新安裝谷歌瀏覽器。

編輯:正如其他用戶建議,可能的工作另一種解決方案是

退出團結和力量通過活動監視器和 退出pboard過程,然後再次啓動統一。

希望它有幫助。

+0

我試過這個解決方案,我刪除了Chrome並重新啓動Unity,但它沒有工作。 –

+0

我重新啓動了macbook並禁用了Chrome擴展'push bullet',並且它可以正常工作。謝謝! –

+0

奇怪,但真的... – Serdar

9

最近我有同樣的問題,我所做的就是放棄團結力量通過活動監視器退出pboard過程,然後再次啓動統一,它爲我工作。

+1

我做了你說的和它的工作。非常感謝 – mnaa

+1

也爲我工作。如果有人想知道**爲什麼**,請查看[這個更深入的解釋](http://krypted.com/mac-os-x/the-cut-copy-paste-daemon-in- OS-X /)。 :) – Domi

+0

非常感謝它在el隊長工作 – hfarazm

1

根據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"' 
0

我知道這是一個古老的線程,但我想我可能會有所貢獻。我在一個屬性抽屜的實現中遇到了「No Drag & Drop」的錯誤,並嘗試了這裏給出的所有提示,但都沒有成功。我即將放棄,並將其歸咎於團結,但後來我找到了解決辦法。您會看到,我在設置對象引用並在mouseDown事件期間調用DragAndDrop.SetGenericData()方法。 我改變了它,以便在MouseDrag事件中檢查是否存在DragAndDrop(在返回DragAndDrop.GetGenericData()時檢查null)。如果它爲空,我在調用DragAndDrop.StartDrag()之前在MouseDrag中設置數據。 這解決了這個問題。希望它可以幫助別人。

0

根據@user3130047的回答,這是另一個版本。僅適用於Mac。

  1. 退出Unity。
  2. 在控制檯中,輸入此命令並執行它。

    ps aux | grep pboard | grep -v grep | awk '{print $2}' | xargs kill -9 | launchctl start com.apple.pboard
  3. Open Unity。


就是這樣。

但是,這可能會導致您的另一個打開的應用程序複製&粘貼不起作用。所以,你需要重新啓動它們。

0

這是完成最好的答案最簡單的方法:

killall -HUP pboard 

(從終端或類似的,很明顯)