unity 中 protobuff 的用法 一句话攻略
(一)unity 添加 pb 的 dll 支持。
1,从GitHub上下载protobuf源码 (源码链接:https://github.com/google/protobuf),找到 csharp 分支检出。
2,用 VisualStudio 打开工程目录下 csharp/src/Google.Protobuf.sln 文件。
3,ctrl+k,生成 DLL 文件。
4,把 bin 下面生成的 Google.Protobuf.dll 复制到 unity 中。Done!
(二)生成 .proto 对应的 .cs 文件。
1,在 GayHub 上下载 proto文件的编译器(Git地址: https://github.com/google/protobuf/releases),下载对应的平台的编译器(如我是mac 下载的 protoc-3.6.1-osx-x86_64)
2,写一个 TestProto3.proto 文件
------------------------------------
syntax = "proto3"; // 必须,标明 proto 语法的版本
package TestProto3; // 生成的 cs 的命名空间
message PersonMc{
string Name = 1; // 123 不是参数默认值,是参数标签,从上往下写就行,不用管啥意思
int32 Age = 2;
repeated string Hobbies = 3; // repeated 表示数组
}
// proto 的更多语法可以参考 https://developers.google.com/protocol-buffers/docs/proto3
------------------------------------
3,打开刚才的编译器目录,运行 bin 下面的 protoc 程序。执行命令(我这个是mac 其他的自己查找)
------------------------------------
protoc ./TestProto3.proto --csharp_out=./
------------------------------------
4,上一步编译成功,获得一个 TestProto3.cs 文件。
5,把这个 cs 复制到 unity 中。 Done!
(三)使用 protobuff的序列化和反序列化
------------------------------------ 在net安装程序中部署oracle客户端全攻略 主要的是要做三件工作: 打包文件,写注册表,注册环境变量说明:我的oracle版本为9, 在2000 advanced server 上测试通过,可以正 ... 原文 webBrowser中操作网页元素全攻略 1.获取非input控件的值: webBrowser1.Document.All["控件ID"].InnerText; 或webBr ... Unity开发VR之Vuforia 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ... 今天无意间读到大神写的代码,看到了Invoke函数,于是产生兴趣.后来才明白自己要学习的东西还有很多. 下面讲用法. Invoke是延时调用函数,在用Invoke函数之前需要引入命名空间using U ... 导读 apache是一款稳定的流行的web软件,是linux操作系统中默认的web管理软件.在RHEL/Centos系列中可以用rpm直接进行安装,服务名为httpd.apache有很多设置和调优 的 ... 用Page.ClientScript.RegisterClientScriptBlock 和Page.ClientScript.RegisterStartupScript:区别: 1.使用Page ... 在自定义脚本中的方法前加入 [ContextMenu("Execute")] 标签,然后将脚本挂载到对象上,可以再编辑模式下执行标记的方法: 自定义脚本如下: using Sy ... 笔记: 主要发现有两个工具 存档记录一下 https://github.com/OEDx/cocos-jsc-endecryptor python的 解密需要秘钥 推荐这个: https://git ... Unity中Delegate的用法场景 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar - ... 在Winform DatatGridView 控件中绑定了一个模型的属性,结果在生成窗口时,发生错误,异常信息如下 : Column cannot be added because its Cell ... 查看mysqlbinglog日志 mysqlbinlog --no-defaults --database=数据库名称 --start-datetime= > /mysql.txt 备注: -- ... UIControl继承自UIView UIControl与Target-Action模式 使用addTarget:action:forControlEvents方法来设置某一个controlEvent ... 1,命令行登录命令 mysql -h localhost -u root -p C:\Users\lenovo>mysql -u root -p Enter password: ***** We ... 题目描述: In a given integer array nums, there is always exactly one largest element. Find whether the l ... 1.路径差异: 绝对导入:跳过包内,直接搜索 sys.path ,在sys.path的基础上进行我们的模块搜索. 相对导入:先包内,再包外,再,,, python2是默认相对导入的,因此对于一般性的导 ... *博客搬家:初版发布于 2015/12/04 16:41 原博客地址:https://my.oschina.net/sunqinwen/blog/539397 spring最核心的部分莫过于io ... 本章目的:规范化零件建模,这是机械的基本功夫. 1.建模的总体原则和总体要求 1.1 建模总体原则 a)零件模型应能准确表达零件的设计信息:b)零件模型包含零件的几何要素.约束要素和工程要素:c)零件 ... 想當初,我是受到BT網站海盜灣的啟發,開發了一個DHT下載網站:http://www.ibmid.com,有一段時間通宵編程,理解此個協議. 海盗湾(The Pirate Bay)是世界上最大的 BT ... 一.题面 POJ3368 二.分析 仍然是一道只需要区间查询不需要区间修改的线段树题. 这题的题面比较特别,它是一组非减的数组.当需要去找一段区间内出现次数最多的数字时,这些数字必然是连续的,那么就可 ...
举个
unity 中 protobuff 的用法 一句话攻略的更多相关文章
随机推荐