前言

总结归纳平常适用 Unity 的过程中遇到的问题。

正文

UGUI 界面无法点击

检查一下场景中是否存在 EventSystem

命名空间 System.Drawing 找不到

打开 Unity 编辑器 - Edit-Project Setting-Player - 对应 PC 平台
或者
按照 -Api Compatibility Level 改为 .Net 4.x

AssetBundle 卸载报错

在调用 AssetBundle.Unload 方法时报错

错误提示:

1
Assertion failed on expression: 'm_PreventLoadingFromFile != nameSpaceI

原因:

创建一个有摄像头的预制件,在编辑器中创建一个渲染纹理,并将渲染纹理设置到相机上。将预制件构建成 assetbundle。当你卸载 assetbundle. 卸载(true)时,你会得到错误 msg:“mpreventloadingfromfile!=nameSpaceID。”

最主要的一点是,在 prefab 中,摄像头不能有一个渲染纹理,你可以在编辑器中创建它。

所以需要确保你的 prefab 中相机的 Target Texture 为空

img1

此处的 Target Texture 将用代码进行动态赋值

1
gameObject.GetComponent<Camera>().targetTexture = renderer1;(renderer1 为 Render Texture)

如此便可以解决。

找不到 PackageManager

问题可能出自于项目经过多次更新,早期的版本没有包管理器,或者其他原因弄丢了

解决方法是:

关闭 unity

在项目根目录下的 Packages 文件夹里的 manifest.json 里面加一行

“com.unity.package-manager-ui”: “2.0.3”,
注意最后的逗号不能少。

然后打开 unity 应该就可以看到了


to be continued…