美文网首页Unity学习小组Unity 工具集
Protobuf3 for Unity 简明教程

Protobuf3 for Unity 简明教程

作者: 水瓶座阿斌 | 来源:发表于2016-08-24 22:00 被阅读4827次

上次说道,有人在github上分享了可用于Unity的protobuf

GIT: protobuf3-for-unity

以下是楼主在Mac下进行的实践总结。


简明教程

本教程适合不想自己动手编译protobuf.dll的同学。

1. 参考protobuf的git说明文档,安装编译器。

https://github.com/google/protobuf/releases

我用的是

https://github.com/google/protobuf/releases/download/v3.0.0/protoc-3.0.0-osx-x86_64.zip

注:记得将protoc的路径添加到path里。

export PROTOC_PATH=<protobuf的路径>

export PROTOC=$PROTOC_PATH/bin/protoc

export PATH=$PROTOC_PATH/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:$PATH

2. 下载protobuf3-for-unity的已经编译好的dll。

我是自己编译的,所以没有进行测试。理论上正常使用应该没有问题。

注意:我直接编译的版本有遇到过一个异常,如果你也遇到了 System.Reflection.Emit 的错误,可以参考后边我修复的版本。

下载地址:

https://github.com/bitcraftCoLtd/protobuf3-for-unity/releases

3. 将proto文件编译为.cs文件

命令示例:

protoc --csharp_out=. ./addressbook.proto

更详细的命令可以看文档,或者输入命令

protoc -help

4. 将protobuf.dll添加到Unity工程的Plugins目录

5. 编译测试

测试代码可以参考AddressBook的示例,或者参看具体文档。

https://github.com/bitcraftCoLtd/protobuf3-for-unity/tree/v3.0.0/src/AddressBook

6. 可能出现的问题

楼主测试的时候发现,将protobuf message转换为string,在iOS上有问题,因为protobuf的c#代码使用了动态生成代码的技术。

错误如下:

System.Reflection.Emit is not supported.

所以,需要避免使用这些方法,或者自己重新编译dll。

参考楼主的修改版本:

https://github.com/zhangzhibin/protobuf3-for-unity-ex

下载地址:

https://github.com/zhangzhibin/protobuf3-for-unity-ex/releases

使用有问题,欢迎留下出错日志。

相关文章

  • Protobuf3 for Unity 简明教程

    上次说道,有人在github上分享了可用于Unity的protobuf GIT:protobuf3-for-uni...

  • Protobuf3 for Unity

    由于Unity的.net版本过低(3.5),而且未来也不太可能更新了(Unity点了别的科技树il2cpp),这可...

  • OPENGL ES 教程

    Android OpenGL ES 简明开发教程一:概述Android OpenGL ES 简明开发教程二:构造O...

  • webpack 几个很棒的教程

    初学webpack,网上找到了几个简明易懂的入门教程十分感谢教程的作者! WebPack 简明学习教程 Webpa...

  • Protobuf3教程

    定义一个消息类型指定字段类型分配标识号指定字段规则添加更多消息类型添加注释保留标识符(Reserved)从.pro...

  • Linux 常用命令总结

    linux 命令速查手册linux 常用操作命令 sed 简明教程 awk 简明教程 常用命令 ls ...

  • Socket使用简明教程- AsyncSocket

    Socket使用简明教程- AsyncSocket

  • Unity 学习

    Unity 官方教程Unity 官方文档Unity 官方ScriptReferenceUnity 历史版本下载 第...

  • Unity Android Plugin 教程-翻译

    目录Unity Android 插件教程(1/3) - 基本原理Unity Android 插件教程(1/3) -...

  • Markdown语法

    经常忘记,写个备忘录。简明教程1简书教程

网友评论

  • f_f_:跟这个 https://github.com/GongFaxin/protobuf_for_unity 区别是什么呢?除了版本不一样?
  • c442fb92457e:HI,我看到bitcraftCoLtd/protobuf3-for-unity中在4个月前有一次更新,移除了JIT,我想请问一下是否与你做的修改相同呢。另外你修改的这个pb3运行时库是否经历了考验呢?(上线项目验证)我很想尝试在unity上使用pb3
    水瓶座阿斌:@疯狂的瀚匪 pb3只是一个技术调研,没有实际项目验证过哈

本文标题:Protobuf3 for Unity 简明教程

本文链接:https://www.haomeiwen.com/subject/wywnsttx.html