- 博客(32)
- 收藏
- 关注
原创 Unity渐变色实现
项目场景:在Unity中实现给物体赋予渐变色。问题描述:在Unity中要实现给物体赋予渐变色,实现类似于应力云图分布的效果。for (int j = 0; j < Num; j++){ float Scale_y = _Heighter[j]; GapInfos[j] = new GapInfo(i, 0, j, _Sphere); GapInfos[j]._Sphere.transform.localPosition = new Vector3(0, 0.5f,
2021-09-28 22:39:55
3154
2
原创 Unity PointCloud开发:Mesh渲染点云
前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot..
2021-09-27 23:44:41
6807
6
原创 C++11在加入<thread>头文件后Socket服务器接收不到消息
项目场景:C++ 11加入了线程thread,能够方便的开启新的线程;同时,通过Socket可以实现通信。为了实现在Socket中的双向通信,需要加入线程,但遇到了问题,记录如下。问题描述:C++11在Socket通信中需要用到线程,#include<thread>头文件后,发现Server端无法接收消息,程序假死。一旦屏蔽thread头文件,则恢复通信,但是双向通信的需求就无法满足。以上说明问题出在thread头文件上。原因分析:因个人书写习惯,通常加入了std的命名空间,该
2021-09-02 22:58:10
631
原创 PCL综合开发(一):Qt 5.14 + PCL 1.8.1 +VS 2017环境配置
前言VS配合PCL开源库可以实现对于点云数据的相关处理,但是一直在编译器界面对点云处理毕竟不是长久之计,尤其是对于项目开发而言,有一个合适的软件界面是必不可少,因此需要对于PCL结合算法+界面进行综合开发。综合开发的第一步:环境相关配置。在VS编辑器中对PCL库进行配置相对简单,按照网上的相关教程进行基本就可以实现;头疼的是PCL库在界面开发软件中的配置(笔者使用的为Qt 5),由于PCL自带的VTK预编译的文件中不包含对于Qt的支持,因此想要正常使用,就必须使用Cmake对VTK进行编译。过程中遇到
2021-08-20 21:12:45
1306
原创 模型相关:修改模型的坐标原点到用户的自定义位置
前言Unity中可以使用的三维模型格式为FBX或者Obj,这些模型往往需要通过CATIA、SolidWorks等三维软件进行设计,而后经3DMax等第三方软件转化格式后才能使用。但是在实际操作过程中,针对复杂的零件或者装配体模型,其导出的FBX或者Obj格式文件,其模型坐标系的原点往往不在几何中心或者是用户想要的位置,影响后期的模型使用。本博文拟解决的问题如上所述,主要通过设置3DMax等第三方软件进行解决。一、相关软件CATIA V5 / SolidWorks:设计创作三维模型.3D
2021-08-12 20:42:29
2454
2
原创 HoloLens 2开发:关闭性能分析窗口
前言最近有新成员加入本团队,为了方便其开发HoloLens1 / HoloLens2,将不定时更新HoloLens相关开发相关内容。软件需求:HoloLens 1:VS2017 + Unity2017;HoloLens 2:VS2019 + Unity2019;1.安装VS2017 / VS2019,HoloLens 1安装Win10 SDK 17134或者17763,HoloLens2要求至少18362;相关安装与配置请参考博文.2.Unity2017 / Unity2019,安装UWP平台;
2021-08-05 11:19:00
1270
原创 HoloLens 2开发:获取并渲染双手
前言Hololens 2自带手势识别的功能,且其识别精度、帧率相比HoloLens 1结合Leap Motion综合开发的方案效果更好,因此考虑调用HoloLens 2的传感器,直接获取并渲染手部位置,实现Leap Motion的追踪以及显示效果。一、如何获取并渲染手部位置HoloLens 2获取手部位置后分为面片模型显示/关节点模型显示,与Leap Motion相同,可以通过相关配置直接获取到相应关节点的位姿,然后实例化小球作为关节点数据,进行渲染,如下图:1.如何配置文件参考优质博主@bi
2021-08-04 23:46:01
2904
原创 Unity List的拷贝
前言如下实现在Unity使用List的拷贝。oldList.ForEach(i => newList.Add(i));
2021-08-03 17:44:46
1903
原创 OpenCV+反色处理
前言在标记点识别的过程中,因为某些原因,预先对编码标记进行了反色处理,因此在原图二值化后是不能直接识别编码点的,因此需要在处理时再次进行反色处理,将编码标记恢复为正常的色值,从而实现识别,记录以下。一、如何反色处理单通道图像的色值在0-255之间,三通道图像的RGB色值均在0-255之间以单通道图像为例,假设某点的色值为pv,且0<=pv<=255,故反色的实质为设定该点的色值为:255-pv;三通道图像同理,取其RGB值均255减去其原值,故:1.C++:void SetSin
2021-07-31 22:43:35
4224
2
原创 PCL 将obj文件转化为pcd文件
PCL 将obj文件转化为pcd文件PCL自带转化工具将模型文件(obj)转化为点云文件(pcd)一、工具 pcl_mesh_sampling_release.exe查找PCL库的安装位置,找到“…\PCL 1.8.1\bin”找到工具pcl_mesh_sampling_release.exe该工具可以单独复制出来使用二、使用方法在工具目录下运行cmd,cd到模型文件(obj)的目录下,输入如下内容:pcl_mesh_sampling_release.exe Test1.obj Test2.
2021-07-28 09:37:31
2563
6
原创 HoloLens 2开发:Pcx 渲染点云单眼显示问题
HoloLens + Pcx 渲染点云单眼显示问题使用Pcx插件在Unity中渲染点云文件,并用HoloLens进行显示,出现与自写Shader一样的单眼显示问题,解决办法如下解决办法XR Settings的默认配置为:“Enable Depth Buffer Sharing”勾选上,并且“Stereo Rendering Mode”为“Single Pass”,导致只能在一个屏幕渲染。解决方案为取消勾选“Enable Depth Buffer Sharing”,修改“Single Pass”改
2021-07-27 21:44:49
877
1
原创 C++产生指定范围内的随机数/随机小数
记录C++中没有自带的random函数,要实现随机数的生成就需要使用rand()和srand();1.返回指定范围内的整数rand()会返回一随机数值, 范围在0至RAND_MAX 间;但是如果直接调用rand()函数会发现每次返回的随机数是一样,这是因为没有指定随机数种子,通过srand()函数可以设置随机数种子,通常通过系统时钟来指定// 产生指定范围的随机数[minValue,maxValue]float _myRand(int minValue, int maxValue){ floa
2021-07-22 21:54:03
4179
1
原创 HoloLens 2开发:电脑端PC识别Vuforia
项目场景:电脑端PC读取Vuforia问题描述:在过往开发HoloLens2期间,经常使用Vuforia作为中间桥梁完成信息通信,这时电脑端和HoloLens端都需要具备识别Vuforia的能力。由于HoloLens2的开发是基于MRTK的,导入相关开发包往往使工程体积庞大。但是作为电脑端的PC并不需要使用MRTK的相关功能,因此其可以不导入MRTK而只使用Vuforia进行开发。 解决方案:1.打开Unity-Windows-Package Manager,搜索Vuforia,导入2
2021-06-01 21:02:21
781
原创 非线性优化库Ceres问题记录
项目场景:非线性优化库Ceres中的log_severity.h文件中提示:#error : ERROR macro is defined. Define GLOG_NO_ABBREVIATED_SEVERITIES before including logging.h.解决:项目属性-Ceres属性表-C/C+±预编译器-预编译器定义:添加GLOG_NO_ABBREVIATED_SEVERITIES,如下图...
2021-04-24 22:31:09
404
原创 Win10+VS2017+Ceres-Solver-1.13.0配置
一、工作准备VS 2017CmakeCeres-solover最新版以及早期版本gflagsglogEigen注:下载后的包如下图所示,解压缩所有包至合适位置,本文以“D:\Program Files (x86)\Ceres-Solver”为例二、编译Ceres以及第三方依赖库1.编译gflags1)在合适位置新建gflags_build文件夹,打开Cmake,指定gflags库的源文件地址以及构建目录,点击Config,根据自己情况选择编辑器(VS 2017—Visual St
2021-04-24 21:55:16
1384
1
原创 Unity Physics.Raycast踩坑
方法原型与参数说明:API原型:public static bool Raycast(Vector3 origin, Vector3 direction, out RaycastHit hitInfo, float maxDistance = Mathf.Infinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.Use
2021-03-18 14:55:21
1629
1
原创 模型相关:3DMax导出FBX模型导入Unity后旋转中心不在模型中心的相关问题
前言Unity中可以使用的三维模型格式为FBX或者Obj,往往需要通过CATIA、SolidWorks等三维软件进行设计,而后经3DMax转化格式使用。但是模型导入后常常出现模型位置偏移,中心不是几何中心等问题,导致在与Vuforia结合时,将模型的localposition设为零后,模型与Vuforia图片并不重合,尤其是在程序运行时动态加载模型,该问题更难以解决。经笔者结合相关博文和自我探索,发现了通过3DMax导出时的相关设置,可以解决以上问题,特此纪录分享。一、相关软件1.CATIA .
2021-01-06 15:28:27
3558
1
原创 Winform 初识记录
前言以下为Winform程序初识的几点积累,记录以供参考一、窗体自身内容更改后恢复默认这里笔者专指窗体的自身属性,eg. BackgroundImg发生的变化之后如何通过代码恢复默认:在Form1.cs中,可以看到窗体首先进行了初始化,如下图:查看内容就会发现,在该函数中包含了窗体自身及其相关控件的初始化内容,如下图:但是不能直接调用该函数,否则会发现窗体会出现两个。但是我们可以查找到我们需要回复的属性,直接修改对应的属性即可。例如笔者对窗体的BackgroundImg已经进行了修改,现
2020-12-30 17:13:27
182
原创 HoloLens1开发(三):Trilib插件动态加载模型-Part2
前言最近有新成员加入本团队,为了方便其开发HoloLens1,将不定时更新1代开发相关内容。软件需求:1.VS2017,安装Win10 SDK 17134或者17763;相关安装与配置请参考博文.2.Unity2017,安装UWP平台;注:如果使用的软件为VS2019和Unity2019来开发HoloLens1,可参考HoloLens2的开发过程,修改MRTK的配置文件为HoloLens1即可!可参考博文1,博文2.一、Trilib是什么?Trilib插件为Unity-Asset Store
2020-12-23 16:45:20
3139
8
原创 HoloLens1开发(三):Trilib插件动态加载模型-Part1
前言最近有新成员加入本团队,为了方便其开发HoloLens1,将不定时更新1代开发相关内容。软件需求:1.VS2017,安装Win10 SDK 17134或者17763;相关安装与配置请参考博文.2.Unity2017,安装UWP平台;注:如果使用的软件为VS2019和Unity2019来开发HoloLens1,可参考HoloLens2的开发过程,修改MRTK的配置文件为HoloLens1即可!可参考博文1,博文2.一、Trilib是什么?Trilib插件为Unity-Asset Store
2020-12-22 22:19:53
4858
4
原创 模型相关:SolidWorks按实际比例创建模型,在Unity中保持尺寸不变
拟解决问题:如题实现在SolidWorks按实际比例创建模型,在Unity中保持尺寸不变解决方法:1.在SolidWorks中按拟定尺寸创建模型,保存为零件;2.打开设置-文档属性-单位,修改单位为厘米,如下图所示;3.保持SW打开模型,打开3DMax,选择刚创建的模型打开,如下图所示4.单击H,打开**选择器,依次双击如下两项,删除这两项,保证导入Unity的FBX结构为单层5.选择导出FBX,相关设置如下6.双击打开导出的FBX或者将其导入Unity7.在Unity面板中新建Cu
2020-12-18 17:06:39
1370
4
原创 模型相关:SolidWorks创建Cube模型,在3DMax中给不同面添加不同颜色,导出自带纹理的FBX至Unity
项目场景:为了实现将SolidWorks创建的Cube模型,在3DMax中添加不同颜色,导出带有纹理的FBX,导入Unity后不需要再修改其颜色纹理实现方法:1.在SolidWorks中创建形如下的Cube模型,尺寸自定,保存为零件2.打开设置-文档属性-单位,修改单位为厘米,如下图所示3.保持SW打开该模型,打开3DMax,选择该Cube模型打开,如下图所示4.单击H,打开**选择器,依次双击如下两项,删除这两项,保证导入Unity的FBX结构为单层5.选中模型,右键选择转化为可编辑
2020-12-18 16:47:43
2501
原创 码云上传工程教程
前言最近学习使用来管理代码,查询了一些博主的教程,在此总结。参考以下博主的博客1.下载Git,注册码云,生成公钥:传送门1.2.上传文件至码云:传送门2.总结欢迎批评指正!
2020-09-23 16:26:10
123
原创 HoloLens 2开发:使用Gaze开发,视线小球不停向眼端移动
项目场景:在HoloLens开发过程中经常需要使用Gaze作为交互对象,直接使用HoloToolKit或者MRTK的视线预制体即可实现交互。如果读者想要创建简单的Gaze交互场景,而不想导入大量的附加组件,可以自己创建视线小球,添加相关脚本实现Gaze交互。Gaze简单开发可以参考博文.问题描述:在相关配置完成后,用WebCam或者上传HoloLens,视线小球Sphere都会不停的向用户眼前移动,多次尝试修改没有作用。以往出现该问题,将工程新建即可,但本次重新开发,新建工程没有作用,经过对
2020-09-23 11:26:05
482
原创 HoloLens 2开发:HoloLens开发VS安装与配置
前言Visual Studio在HoloLens开发中是必不可少的,但是其相关配置有一些注意事项,在此记录,供读者参考!提示:以下提供VS2017和VS2019,请读者根据HoloLens自行选择任一.软件下载在官网:VS2017,VS2019. 建议选择社区版安装即可.一、Visual Studio 20171.下载VS安装程序,启动运行,选择社区版安装,勾选以下模块:.NET桌面开发;C++桌面开发;通用windows平台开发和Unity游戏开发.1)注意在C++桌面开发中,相关配置如下,
2020-09-23 11:09:26
2567
2
原创 HoloLens1开发(二):结合Vuforia开发
前言最近有新成员加入本团队,为了方便其开发HoloLens1,将不定时更新1代开发相关内容。软件需求:1.VS2017,安装Win10 SDK 17134或者17763;安装可参考博文.2.Unity2017,安装UWP平台;以HoloLens结合Vuforia在二维码上显示一个立方体Cube,并实现点击变色为例。一、Vuforia1.注册及获取LicenseKey1.目前世界上主流的AR SDK提供厂商,国外的主要是Vuforia、Metaio,国内的主要是EasyAR。2.进入Vuf
2020-09-22 21:42:07
1699
原创 HoloLens1开发(一):第一个程序发布与部署
前言最近有新成员加入本团队,为了方便其开发HoloLens1,将不定时更新1代开发相关内容。软件需求:1.VS2017,安装Win10 SDK 17134或者17763;安装可参考博文.2.Unity2017,安装UWP平台;以HoloLens中显示一个立方体Cube,并实现点击变色为例。一、新建Unity工程,添加Cube对象1.首先切换平台,“File-Build Settings-UWP”,点击switch Platform;再点击“Player Settings-Other Sett
2020-09-22 20:35:16
1775
1
原创 C# Object与二进制串(byte数组)之间的转换
话不多说,看连接提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。[1]: 转换一.[2]: 转换二....
2020-09-21 21:21:08
3855
原创 Socket通信学习(二):序列化与反序列化
Socket通信学习(二):Socket通信原理HoloLens2的开发最近需要用到Socket通信,所以创建本系列进行记录,欢迎大家批评指正!前言Socket通信的默认发送的数据为byte[]类型,但是在实际应用中往往需要发送其他类型的数据,如字符串、类、结构体等,因此需要对原始数据进行处理,网上的方法指出采用序列化和反序列化的方法可以实现对数据的处理.但是在实际应用中,接收端总是提示反序列化无法找到程序集,解决方法为在反序列化使用的IFormatter 对象加入Binder 属性,使其获取要
2020-09-21 21:09:29
1022
原创 Socket通信学习(一):Socket通信原理
Socket通信学习(一):Socket通信原理HoloLens2的开发最近需要用到Socket通信,所以创建本系列进行记录,欢迎大家批评指正!前言应用Socket进行设备通信,首先需要了解Socket的通信原理,以下几篇文章可作为参考.参考博文Socket通信原理,by 一碗清水Socket通信原理和实践,by BruceZhangSocket通信原理,by ziyonghong好好学习,共同进步!...
2020-09-08 10:46:33
416
原创 HoloLens 2开发: Vuforia图片识别
HoloLens2 + Vuforia图片识别前言一、硬件及软件需求1.硬件2.软件二、开发步骤1.新建Unity工程,导入MRTK2.导入并配置Vuforia3.WebCam调试运行4.部署至HoloLens2总结前言HoloLens经常需要结合Vuforia一起开发,但是网上的相关博客的内容多数还是基于1代的内容,在这里我们针对HoloLens2结合Vuforia开发图片识别进行介绍。一、硬件及软件需求1.硬件识别图(或物体)、HoloLens2、WebCam(用于调试)2.软件1.U
2020-09-07 16:48:35
5225
32
原创 HoloLens 2开发:三种工程部署方式
HoloLens2 工程发布及真机部署HoloLens2 工程发布及真机部署(3种方法)一、软件功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入HoloLens2 工程发布及真机部署(3种方法)HoloLens2 已经发布几个月
2020-08-30 10:15:57
7941
9
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人