我在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
我指的是使用拖动的每个动作,例如将项目文件夹移动到另一个文件夹,将项目对象移动到场景。我想我应该升级到最新版本。 –