unity项目源码_在Unity中使用protobuf

Protocol Buffers (通常简称为protobuf) 是Google开发的一种格式,这种格式与开发语言无关、与运行平台无关,用于序列化结构数据,并且很容易扩展。这种格式可以用于通信协议、数据存储等等。类似于json或者xml,但是protobuf更小、更快、更简单。

要在unity中使用protobuf,首先在github上把项目下载下来,然后手写一个proto格式的脚本,在protobuf的数据类型对应如下c#数据类型

b7cd5559356600d3944c1d7ffd55f54a.png
图一

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

c2a40b7c96c8cd2664bd139f08ee2050.png
图二

写好之后,把他编译成csharp格式,编译工具可以在github上下载,地址

protocolbuffers/protobuf​github.com
bf30e3b4de795936380ebf918a1c89b2.png

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

7025ee98e65c17fe946b65d9657389a0.png
图三

c87e8b084f2da637c9c4b76fc0660e23.png
图四

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

e5a0cc0e3ddfc597950d9f4672bcaf45.png
图五

066b661dfaf59f33eb8b12faf9593a5b.png
图六

如果你的Unity .net运行时为3.5,那需要切换成4.0,或者下载protobuf的非官方版。

然后自定义脚本进行写入和解析:

e921c3de84958b4370d993cf0b661ccf.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值