Unity 一些常见报错 及 解决办法 总结

报错:解决:
SocketException: 以一种访问权限不允许的方式做了一个访问套接字的尝试这是因为unity访问权限导致的,退出重新右键以管理员权限打开Unity就可以解决了

Eorro:It look another Unity instance is running with this project open.

打开项目时报这个错误,但前确实没有打开过。

UnityLockfile文件内容错乱,可能是Unity非法关闭造成的。发生这种情况时,进入到项目工程文件-->Temp文件夹,找到UnityLockfile文件,删除掉。没关系,它会在下次运行Unity打开此项目的时候重新正确的创建。
Eorro:Access to the path is denied权限问题,退出Unity,右键-->管理员权限运行 重新打开,就好了。
'Bake Visibility' job failed with error code: 8 ('Failed writing Bake Visibility Buffer file.').  GI 的 Cacha 清除一下  。Edit->Preferences -> GI Cache -> Clean Cache 重新烘焙就好了 
Unity无缘无故闪退

1. 可能是 unity编辑器所在的盘存储空间不足

2. 考虑项目文件夹访问权限丢失,重新获取访问权限

Apply 预设体A时,更改的设置可以应用到Project面板中的对应资源,但总是报错。先将Hierarchy层级面板的A 断开 预设体引用,再将对用的预设体资源删除,重新制作预设体
Unity地形:在项目A的场景a中制作好地形1,在项目B中场景b中制作好地形2,将地形2连同相场景b及关资源导出后再导入到A项目里,导致场景b里的地形2变成了地形1的样子。这应该是unity的bug,在项目A中打开场景b,在地形2的Inpector面板右上角三个点点开,选择DebugMode,然后里边有个TerrainData的选项,可以看到他默认填进去的是 地形1 的TerrainData,把他换成地形2 的TerrainData就可以了。


 

资源在Project面板可以预览,但是拖在scene中却看不到.           右上角最上方的layer,把闭上的眼睛全部点一遍  让它睁开.

 

 

 

 


 

暂时就总结这么多,会持续更新的。

### 常见的 WebSocket 打包错误及解决方案 在使用 WebSocket 技术时,特别是在项目打包阶段,可能会遇到一些常见的问题。以下是可能发生的错误及其对应的解决方案: #### 1. **命名空间冲突** 如果项目中同时引入了多个 WebSocket 实现库(例如 `UnityWebSocket` 和其他第三方库),可能导致命名空间冲突。这种情况下,在编译或运行时会出现重复定义类或方法的情况[^1]。 **解决方案**: 可以通过调整项目的依赖管理策略来避免此类问题。具体做法包括: - 使用模块化工具(如 Webpack 或 Rollup)对不同库进行隔离处理。 - 明确指定使用的 WebSocket 库版本,并通过别名机制区分不同的实现。 ```javascript // 示例:Webpack 中配置 resolve.alias 来避免命名冲突 module.exports = { resolve: { alias: { 'websocket-library-a': path.resolve(__dirname, './node_modules/websocket-library-a'), 'websocket-library-b': path.resolve(__dirname, './node_modules/websocket-library-b') } } }; ``` --- #### 2. **跨域问题** 即使 WebSocket 是一种高效的双向通信协议,但在实际应用中仍需注意跨域限制。如果服务器端未正确设置 CORS 头部信息,则客户端无法成功建立连接[^5]。 **解决方案**: 确保服务端允许来自特定源的请求。可以在 Node.js 的 Express 框架中这样配置: ```javascript const express = require('express'); const app = express(); const http = require('http').createServer(app); const io = require('socket.io')(http); app.use((req, res, next) => { res.setHeader('Access-Control-Allow-Origin', '*'); // 允许所有域名访问 res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE'); res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type'); next(); }); io.on('connection', (socket) => { console.log('a user connected'); }); http.listen(3000, () => { console.log('listening on *:3000'); }); ``` --- #### 3. **性能优化不足** 虽然 WebSocket 协议本身具有较低的消息传递延迟和较少的头部开销,但如果未能合理设计其应用场景,仍然可能出现效率低下甚至崩溃的现象[^3]。 **建议措施**: - 对于高频率的小型消息交互场景优先考虑 WebSocket;而对于低频次的大文件上传下载操作则更适合采用 HTTP 请求。 - 定期清理不再活跃的连接以释放资源占用。 --- #### 4. **环境适配不当** 某些旧版浏览器或者特殊网络环境下可能存在对标准 WebSocket 支持不佳的情形。此时如果没有做好降级方案的话也容易引发兼容性方面的问题[^2]。 **应对办法**: 可以借助 polyfill 工具比如 SockJS 提供更广泛的设备支持度。安装命令如下所示: ```bash npm install sockjs-client --save ``` 随后按照官方文档指引替换原有纯原生 API 调用部分即可。 --- ### 总结 以上列举了几种典型的关于 WebSocket 在开发过程中的挑战以及相应的处置手段。开发者应当依据自身业务需求灵活选用合适的技术栈组件,并且始终保持良好的编码习惯从而最大程度规避潜在风险因素的影响。
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ThursdayGame

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值