找回密码
 立即注册
查看: 247|回复: 0

在Unity中使用protobuf

[复制链接]
发表于 2022-3-4 19:19 | 显示全部楼层 |阅读模式
Protocol Buffers (通常简称为protobuf) 是Google开发的一种格式,这种格式与开发语言无关、与运行平台无关,用于序列化结构数据,并且很容易扩展。这种格式可以用于通信协议、数据存储等等。类似于json或者xml,但是protobuf更小、更快、更简单。
要在unity中使用protobuf,首先在github上把项目下载下来,然后手写一个proto格式的脚本,在protobuf的数据类型对应如下c#数据类型



图一

然后首先手写一个proto格式的脚本,如下



图二

写好之后,把他编译成csharp格式,编译工具可以在github上下载,地址
选择对应版本就可以了,如我用的是windows,那就下载win64版本,解压,然后把里面的include文件夹放到bin下,把写好的proto脚本也放到bin下,运行win powershell或者cmd都可以,(在当前位置快速打开powershell可以按住shift,在点击鼠标右键),输入



图三



图四

就可以生成对应的csharp文件了,然后把文件导入Unity工程,会发现大量报错,这是因为里面引用了Google类库文件,而工程里面没有导致的,可以直接下载Google源码解决(上面的链接),下载对应的csharp的类库,放入工程即可,如图六把google.protobuf放入Unity。



图五



图六

如果你的Unity .net运行时为3.5,那需要切换成4.0,或者下载protobuf的非官方版。
然后自定义脚本进行写入和解析:


然后就是自己写Socket,封包,拆包就可以了,这个不再protobuf之内,就不举例了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-6-2 07:00 , Processed in 0.126263 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表