草庐IT

Unity和ROS通讯的机械臂

全部标签

Unity串口通信、接受和发送数据、C#

1、串口简介串行接口(串口)通常指COM接口,是采用串行通信方式的扩展接口。串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。特别适用于远距离通信。查看串口:右键我的电脑-管理-设备管理器-端口选择一个端口,双击查看属性。这里通过串口属性,可以知道以下数据:波特率:这是一个衡量符号传输速率的参数。数据位:这是衡量通信中实际数据位的参数。停止位:用于表示单个包的最后一位。奇偶校验:在串口通信中一种简单的检错方式。对于两个进行通信的端口,这些参数必须匹配。3、串口通信原理:串行接口在嵌入式系统中是一种重要的数据通信接口

Unity 基于法线和深度实现完美描边,可独立控制物体描边

目录前言自定义PostProcessOutlineShader关键代码说明1使用深度绘制描边1.1获得斜四方形UV坐标:1.2采样四方向深度2使用法线绘制描边3解决倾斜表面白块问题3.1计算视方向3.2使用视方向修正阈值4单独控制物体是否显示描边OutlineShader完整代码前言最近项目需要快速出一版卡通渲染风格进行吸量测试。但是原来的模型非常不适合使用backface的描边方案(很难看),不得已寻求其他的描边方案,于是有了现在这篇基于法线和深度的后处理描边。优点:描边宽度一致。重叠部分也能有描边。不会出现断裂缺点:后处理时有一定消耗(全屏采样8次)本文是基于buildin渲染管线,非UR

Unity3d 制作一个简单的NPC对话系统

制作一个简单的NPC对话系统文章目录制作一个简单的NPC对话系统前言效果展示进入对话区域开始对话Inspector面板可调选项准备工作NPCUI代码完整代码详细逻辑开启对话显示对话头顶标识头顶标识后话前言​最近在自己写一个比较小的项目,虽然自己是一个策划,但是程序方面我觉得也是很有必要学一学的。​经过了接近一年的学习,也终于是可以独自写一些小的系统了。​这次自己写了一个比较简单的NPC对话系统,供大家参考。效果展示进入对话区域开始对话Inspector面板可调选项准备工作​为了完成对话系统,首先需要一个NPC以及一个UI界面。​这里为了节省篇幅,就直接上图了。NPCUI其中Panel用来控制整

Unity中Shader阴影的接收

文章目录前言一、阴影接受的步骤1、在v2f中添加UNITY_SHADOW_COORDS(idx),unity会自动声明一个叫_ShadowCoord的float4变量,用作阴影的采样坐标.2、在顶点着色器中添加TRANSFER_SHADOW(o),用于将上面定义的_ShadowCoord纹理采样坐标变换到相应的屏幕空间纹理坐标,为采样阴影纹理使用.3、在片断着色器中添加UNITY_LIGHT_ATTENUATION(atten,i,i.worldPos),其中atten即存储了采样后的阴影.4、加上所需要的宏二、补充1、在场景中,旋转摄像头或拉近摄像头时影子会时不时的消失,这是因为我们没有正确

顶级工程师教你移动端游戏性能优化!Unity官方教程!

**顶级工程师教你移动端游戏性能优化!Unity官方教程!**本期将给大家介绍如何提高资源、项目配置和图形的性能。所有教程均来自Unity官方,感兴趣的朋友可以去Unity官网查看完整教学内容。降低或禁用AccelerometerFrequency(加速度计频率)Unity每秒钟是会以一定次数统计移动设备的加速度计状态的。如果我们的程序不会用到加速度计的话,我们完全可以禁用这个功能或降低统计的频率以获得更好的性能。禁用不必要的Player或Quality设置在Player设置中,对不支持的平台禁用AutoGraphicsAPI,以便防止生成过多着色器变体。如果应用程序不支持,对较旧的CPU禁用

unity添加中文字体

1.随便打开一个unity工程2.将字体文件拖至project目录下3.点击Window->TextMeshPro->FontAssetCreator4.将中文文件(*.txt)拖至Project路径下5.修改设置如下6.点击GenerateFontAtlas开始生成

STM32 + UIP + ENC28J60 实现TCP 通讯

完整代码下载地址:STM32+UIP+ENC28J60实现TCP通讯实例资源-CSDN文库功能描述实现MCU当TCP服务端,电脑当客户端通过TCP端链接MCU,实现通讯。为保证程序尽量精简,程序在接受到TCP数据后,会原封不动返回给客户端(电脑),并通过串口打印。在使用UIPTCP功能前,需要可以让MCU获取当前时间,主要为实现每10ms毫秒处理一次TCP连接,和每5s秒刷新一次ARP;例如HAL库中有一个HAL_GetTick(),可以获取当前毫秒时间。操作流程整体TCP使用流程:1.初始化enc28j60、UIP2.设置IP、网关、子网掩码3. 开启端口监听4.处理ARP请求、响应5. 每

2024年中国大学生机械工程创新创意大赛物流技术(起重机)创意赛的通知

2024年中国大学生机械工程创新创意大赛物流技术(起重机)创意赛的通知一、参赛队伍要求二、比赛方式三、竞赛题目、内容与规则四、参赛方式五、赛事安排一、参赛队伍要求今年大赛文件已经下来,延续往年风格,继续使用机器学习识别技术,含金量逐年增加,成为电子,自动化,机械等等专业学生的一场盛宴,大赛入选学科竞赛排行榜,评奖评优,保研落户等,均有较大益处。(一)参赛对象注册成为中国机械工程学会学生会员的全国在校研究生、本科生、专科生。军事院校的参赛学生无需注册中国机械工程学会学生会员。(二)参赛队伍1.各参赛院校应积极号召和组织在校学生积极参与本赛项活动,可根据报名情况组织校内选拔赛,由各参赛院校统一推荐

linux下编译unity mono android

本文主要是记录下如何编译monoandroid以及遇到的一些问题。编译环境虚拟机下ubuntu22.04.3-desktop-amd64gccversion11.4.0(Ubuntu11.4.0-1ubuntu1~22.04)unitymono版本unity-2021.3-mbe编译前准备克隆mono仓库,初始化所有gitsubmodules:仓库地址:https://github.com/Unity-Technologies/mono/克隆mono仓库到本地目录,github上克隆较慢,可以去gitee上找镜像源。记得切换分支为你需要编译的版本,我这里选择的是unity-2021.3-mbe

如何清除Unity的缓存

AI回答:在Unity中,清除缓存可以解决一系列问题,从错误的资产导入到编译问题。以下是如何清除Unity缓存的几种方法:1.**清除AssetImporter缓存**    在Unity的菜单栏中,选择`Assets`>`ReimportAll`。这将迫使Unity重新导入所有的资源,从而清除与资源导入相关的所有缓存。2.**删除Library文件夹**    关闭Unity编辑器。    在你的项目目录下,删除名为`Library`的文件夹。这个文件夹包含了编译后的脚本和其他资产的缓存数据。重新打开项目时,Unity将重新生成这个文件夹。  **注意:建议在执行此操作前进行备份,因为部分自