Unity使用Protobuf

news2024/11/18 9:31:57

1.下载Protobuf ProtoBuf

在这里插入图片描述

2.打开它并且编译 如果有报错下载相应的.net版本即可

在这里插入图片描述

这里默认是6.0.100 由于我本机是8.0.100所以我改了这个文件

在这里插入图片描述

3.编译后的文件复制到Unity Assets/Plugins下

在这里插入图片描述

4.写个测试的proto文件

在这里插入图片描述

5.然后使用protoc生成 这里实现了一个简单的bat批量生成 Protos Codes 和protoc.exe在一个目录下 双击gen.bat即可

在这里插入图片描述

@echo off

rem 设置路径变量
set PROTOC_PATH="protoc.exe"
set PROTO_DIR="Protos"
set OUTPUT_DIR="Codes"

rem 检查目录是否存在
if not exist %PROTO_DIR% (
    echo Error: protos directory does not exist.
    exit /b
)

rem 创建输出目录
if not exist %OUTPUT_DIR% mkdir %OUTPUT_DIR%

rem 批量处理 .proto 文件
for %%f in (%PROTO_DIR%\*.proto) do (
    %PROTOC_PATH% --proto_path=%PROTO_DIR% --csharp_out=%OUTPUT_DIR% %%f
)

echo Code generation complete.

测试例子

Monster monster = new Monster();
monster.Id = 100;
monster.Name = "虹魔教主";
byte[] buffer = monster.ToByteArray();

Monster ms = Monster.Parser.ParseFrom(buffer);

运行结果
在这里插入图片描述

在这里插入图片描述
具体的运行和设计根据项目而定吧 好像也没啥要写的了 哈哈哈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1390152.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电子招投标全程在线应用安全

电子招投标全程在线应用安全解决方案 电子招投标全程在线应用是指招标人、招标代理机构、投标人、评标专家、监管机构利用公共互联网开展的招标、投标、开标、评标、定标、监管的活动过程。 由于该过程全程在线运行在风险因素较多的公共互联网上,存在电子招投标中…

python爬虫-代理ip理解

目录 1、为什么使用代理IP 2、代理IP 3、IP池 4、代理分类: 5、python中使用代理IP 6、如何找可以使用的代理IP 7、拿到IP后,测试IP的有效性 8、扩展理解正向代理和反向代理 1、为什么使用代理IP 就是为了防止ip被封禁,提高爬虫的效…

隧道应用4-内网穿透EW的简单使用

与netsh端口映射内网类似,也是通过跳板机实现 EW官网地址:http://rootkiter.com/EarthWorm EW 是一套便携式的网络穿透工具,具有 SOCKS v5服务架设和端口转发两大核心功能,可在复杂网络环境下完成网络穿透。 注: 考虑…

sshpass 命令exit code 6 问题解决方法

近期在使用sshpass做自动化交互的脚本,结果运行命令后会返回错误码6,命令如下: sshpass -p 123456 ssh test192.168.1.100 "uname -a" 经搜索资料发现,错误码6指的是Host public key is unknown,也就是说要访问的地址是…

【Java基础(高级篇)】响应式编程

文章目录 1. 概述2. stream 流式编程3. Reactive-Stream4. 响应式编程5. Reactor5.1 Mono和Flux5.2 subscribe()5.3 多线程5.4 常用操作API示例5.5 错误处理5.6 Sinks 工具类 1. 概述 本章将从响应式编程的开始,从 stream 开始逐步递进,如对流式编程或响…

使用 GitHub 远程仓库

使用 GitHub 远程仓库 GitHub 是最大的 Git 版本库托管商,是成千上万的开发者和项目能够合作进行的中心。 大部分 Git 版本库都托管在 GitHub,很多开源项目使用 GitHub 实现 Git 托管、问题追踪、代码审查以及其它事情。本篇文章主要带大家上手 GitHub …

element-ui表单验证时undefined (reading ‘validate‘)

我搜索了一下,大部分都是说不仔细造成的,但是我一一对照了 1、el-form中我定义了ref,并且ref前面也是没有加冒号的 2、el-form中也绑定了rules,并且rules前面加了冒号 2、el-form-item我是加了prop的,并且和rules中…

程序员客栈发布《2023程序员自由职业报告》

自2020年以来,自由职业者的生态系统迅速繁荣,从而塑造了一个全新的职业发展模式。2023年,经济形势严峻,但灵活就业形式越来越流行,包括自由职业、远程办公和平台经济等。越来越多的人选择从事自由职业或者利用互联网平…

costmap_2d包介绍

文章目录 一. costmap_2d包介绍二. Costmap包的执行入口-- move_base中调用三. Costmap包的初始化以及维护3.1 Costmap2DROS类3.1.1 构造函数 Costmap2DROS::Costmap2DROS3.1.2 地图更新线程 Costmap2DROS::mapUpdateLoop3.1.3 地图更新 Costmap2DROS::updateMap()3.1.4 激活各…

【HuggingFace Transformer库学习笔记】基础组件学习:Datasets

基础组件——Datasets datasets基本使用 导入包 from datasets import *加载数据 datasets load_dataset("madao33/new-title-chinese") datasetsDatasetDict({train: Dataset({features: [title, content],num_rows: 5850})validation: Dataset({features: [titl…

高级定时器

本节主要介绍以下内容: 定时器简介 高级定时器功能框图讲解 一、定时器简介 定时器功能 :定时、输出比较、输入捕获、断路输入 定时器分类 :基本定时器、通用定时器、高级定时器 定时器资源 :F103有2个高级定时器、4个通…

C#编程-实现委托

实现委托 委托是可以存储对方法的引用的对象。在C#中,委托允许您动态地改变类中方法的引用。 考虑咖啡售货机的示例,它配置不同口味的咖啡,例如卡布奇诺咖啡和黑咖啡。在选择所需口味的咖啡时,售货机决定混合各种成分,例如奶粉、咖啡粉、热水、卡布奇诺咖啡粉。所有的材…

构建一个最新版本 Maven 项目

文章目录 构建一个最新版本 Maven 项目1. 所用各种软件的版本2. 踩过的坑3. 构建项目过程4. 项目打包方式 构建一个最新版本 Maven 项目 截止 2024 年 1 月 13 日,Apache 官网上 Maven 的最新安全版本为 3.9.6,下载、安装及配置方法见之前的博客&#x…

TIMESAT提取物候信息操作流程

TIMESAT提取物候信息操作流程 软件环境:Matlab R2014aTIMESAT3.2 数据介绍:MODIS A3或Q1的NVI(NDVI)均测试过这个流程,可行(大拇指)。 TIMESAT输入n年数据,提取n-1年的物候参数。通…

jmeter--4.参数化的方式

目录 1. 用户定义的变量 2. 用户参数 3. 函数助手 3.1 time获取当前时间 3.2 Random随机数 3.3 随机字符串函数 3.4 字符串变更为大写 4. CSV数据文件设置 5. 接口关联--正则和json等提取 1. 用户定义的变量 线程组->添加->配置元件->用户定义的变量 引用方…

【设计模式-06】Observer观察者模式

简要说明 事件处理模型 场景示例:小朋友睡醒了哭,饿! 一、v1版本(披着面向对象的外衣的面向过程) /*** description: 观察者模式-v1版本(披着面向对象的外衣的面向过程)* author: flygo* time: 2022/7/18 16:57*/ public class ObserverMain…

MySQL 从零开始:05 MySQL 数据类型

文章目录 1、数值类型1.1 整形数值1.2 浮点型数值1.3 布尔值 2、日期和时间类型3、字符串类型3.1 CHAR 和 VARCHAR3.2 BINARY 和 VARBINARY3.3 BLOB 和 TEXT3.4 ENUM 类型3.5 SET 类型 4、空间数据类型5、JSON 数据类型5、JSON 数据类型 前面的讲解中已经接触到了表的创建&…

这款软件轻松解决你图片水印问题

随着数字时代的到来,图片已经成为我们生活中不可或缺的一部分。然而,很多时候,我们会遇到带有水印的图片,这不仅影响了图片的视觉效果,还可能遮挡了重要的内容。这时,一款专业的去水印工具就显得尤为重要。…

博途PLC增量式PID和脉冲轴组合控制阀门开度(算法介绍)

这篇博客我们以S7-1200PLC平台来举例,介绍我们的PID闭环控制器如何控制脉冲轴实现阀门角度控制。SMART PLC PID控制器控制伺服驱动器实现关节角度控制详细内容请参考下面文章: https://rxxw-control.blog.csdn.net/article/details/129658364https://rxxw-control.blog.csdn…

Python基础语法(中)—— python列表、字符串、函数

文章目录 5. python中的列表5.1 列表的初始化5.1.1 直接初始化5.1.2 通过append函数初始化5.1.3 通过for语句初始化列表长度和每个位置的数值 5.2访问列表元素5.3使用循环语句遍历列表5.4列表的切片操作5.5列表的复制5.6列表的运算5.7列表的常用操作5.8嵌套列表5.9列表其他小知…