博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Unity】Protobuf的使用与常见问题
阅读量:5988 次
发布时间:2019-06-20

本文共 905 字,大约阅读时间需要 3 分钟。

Protobuf的使用流程

protobuf参考教程:

手写.proto文件后,用CMD命令行运行protoc.exe编译器,进入.proto文件路径生成C#文件,再把C#文件放到Unity项目中使用。

 

插件protobuf-net:

原因是官方Protobuf的C#实现要求.Net4.6及以上,而Unity使用的.Net过低版本(老版本最高.Net3.5,具体要看是用的Unity的版本)。

在已写好的C#实体类中加上打标签。

 

插件protobuf-unity:

这是Unity编辑器插件。Protobuf正常使用流程是手写.proto文件后,用CMD命令行运行protoc.exe编译器,进入.proto文件路径生成C#文件,再把C#文件放到Unity项目中使用。该插件可自动寻找Unity项目中所有.proto文件并一键生成所有对应的C#文件(出现在与每个.proto文件相同的目录下)。并且当.proto文件被修改时会自动重新生成C#文件!

 

插件protobuf_for_unity

适用于unity3d 5.x。unity2017及以后版本请使用google官方版本。

常见问题

Missing input file

命令行使用protoc.exe时,报错Missing input file。即当前设置的--proto_path目录下找不到.proto文件。如下图,protoc.exe与person.proto文件在同一目录下的。

 

原因是格式错误,文件路径=./后面要加上一个空格!!!!!!!!!
 

Unity不支持.Net3.5及以上

如果编译Google.Protobuf.dll时选择的.Net版本过高,把该dll导入Unity项目中能看到dll无法正常工作,如下图。且.proto文件生成的C#文件中会报错。
此时可以在Visual Studio中修改.Net版本再重新编译dll。修改方法如图。
或者在Unity中修改.Net版本(需要较新的Unity版本)。在Edit - Project Settings - Player中,改用.Net4.6,之后重启Unity编辑器即可。

转载地址:http://qfnlx.baihongyu.com/

你可能感兴趣的文章
ES6入门基础
查看>>
Android 开发人员必须掌握的 10 个开发工具
查看>>
SAS EG第一课练习1
查看>>
Ubuntu14.04安装redis和简单配置
查看>>
游戏Loading中的小提示和Loading动画实现
查看>>
ruby 操作csv
查看>>
算法笔记--极大极小搜索及alpha-beta剪枝
查看>>
对搭档代码的修改意见
查看>>
前端知识点合集
查看>>
新闻网站个人中心(个人信息修改)流程分析
查看>>
20165231 2017-2018-2 《Java程序设计》第3周学习总结
查看>>
【JavaScript】动态原型模式创建对象 ||为何不能用字面量创建原型对象?
查看>>
C/C++经典面试题一
查看>>
分布式事务
查看>>
强大的提交框:jquery.jbox
查看>>
eclipse安装egit上传和clone项目到github
查看>>
Matplotlib -多组线用不同的线性、颜色、节点绘制
查看>>
JavaScript中BOM的基础知识总结
查看>>
Visual Stuido 2015 Community 使用 GitHub 插件
查看>>
如何跳转到AppStore的?
查看>>