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 - ... 点击按钮号响应的函数 @IBAction func onBack(sender : AnyObject) { self.dismissViewControllerAnimated(true, comp ... 摘要: 在C++11新标准中,语言本身和标准库都增加了很多新内容,本文只涉及了一些皮毛.不过我相信这些新特性当中有一些,应该成为所有C++开发者的常规装备.你也许看到过许多类似介绍各种C++11特性的 ... C. Queen time limit per test 1 second memory limit per test 256 megabytes input standard input outpu ... 题面 传送门 题解 复杂度比较迷啊-- 以下以\(n\)表示颜色总数,\(m\)表示总的卡牌数 严格\(k\)对比较难算,我们考虑容斥 首先有\(i\)对就代表整个序列被分成了\(m-i\)块互不相同 ... 涉及redis,mysql,xtrabackup, tomcat 1. ubuntu中 #!/bin/bash #first, change to root #出错立刻中断 set -e apt-ge ... 完全描述:Establishing SSL connection without server's identity verification is not recommended. Accordin ... 一.认识国际化资源文件   这个类提供软件国际化的捷径.通过此类,可以使您所编写的程序可以:          轻松地本地化或翻译成不同的语言          一次处理多个语言环境          ... 题目链接 题意分析 给你一个字符串 让你求\(1-n\)长度下的字符串的中字典序最小并且最靠左的字符串的开头位置 我们考虑先建出\(SA\) 然后考虑对于一个字符串后缀排序之后 baba 后缀排序之后 ... 一.div a.会跳行 b.如果想不跳行则设置 style =“display:inline” ,允许它的前后存在其它的内联元素同行显示. c.或者设置为浮动元素,float:left 允许它的右边存 ... HDU4089 题意:有n个人排队等着在官网上激活游戏.Tomato排在第m个. 对于队列中的第一个人.有一下情况: 1.激活失败,留在队列中等待下一次激活(概率为p1) 2.失去连接,出队列,然后排 ...
	举个												
											unity 中 protobuff 的用法 一句话攻略的更多相关文章
	
								
随机推荐
	
									
