unity慢慢进步

实习期间,作者分享了在Unity项目中遇到的挑战:通过C#调用System.Management包检索硬件端口,尝试过多种方法后最终选择硬件ID;智能抠图从opencv到Python机器学习的转变,涉及环境变量配置与Python调用。
摘要由CSDN通过智能技术生成

unity实习生做项目的总结反思(遇到的困难和走过的坑)

**1.**最近遇到的问题,c#的程序可以运行,这是一个c#调用System.Management的包,然后通过这个来检索硬件的端口号,这个功能做了两三天。刚开始的思路是通过网上搜索大佬们的代码,通过端口的名称来获得端口号,这个可以实现,但是有个问题。据别人说,这个名称是Windows给命名的,我们无法修改,并且有可能出现一样的名称,所以基于以上问题,最后放弃了这个方法,大佬链接路径如下:

大佬路径。然后我选择了根据硬件ID来查找端口号,和这个大佬的方法差不多另一位大佬路径,但是有一处函数不一样,我是检验硬件ID来判断这个端口号是不是这个硬件对应的端口,然后进行连接。这地方代码好找,我实验了两个思路,一个是自己用VS制作dll,发现因为版本原因,unity无法实现这个dll的使用(这是个坑,我写了一天dll都没实现)。之后只能写成exe,找到端口后让他通过命令行串口发送端口号,然后unity启动EXE后有个办法可以直接获取命令窗口的输出,然后就可以连接了。连接后,当unity程序向端口发送命令端口断开后,我判断了一下时间,因为断开要三四秒,这段时间还能收到返回的消息,我不能通过消息来控制检索端口的时间,就索性Invoke延时调用,然后进行协程来检测有无端口,当端口出现的时候也就重新连接了。硬件ID
**2.**第二个程序是智能抠图,即给一个有人的图片,然后去实现人工抠图。刚开始我的思路是自己写一个,用opencv抠图。我找到了一个古老的算法,有论文支持,我试验了一下,然后研究了一天,发现需要三色图才能进行抠图,我水平有限,于是放弃了。之后想了很多,绿幕抠图较简单。最后我的思路是百度飞桨,他们已经有了机器学习模型,建议学python可以多研究一下。因为unity写机器学习我做不到,索性去找python场外援助,网页有大佬五行代码就实现了python智能抠图,我试验了一下,打开约10秒,抠图3秒一张。大佬链接
后来的问题就是如何用unity一键配置环境变量,一键启动python的程序,这个飞桨坑的地方在于python无法生成exe程序,于是只能用命令行来调用python程序。然后命令行刚好也可以修改环境变量,这个地方需要注意的是,普通方法无法永久修改环境变量,需要管理员运行命令行,SETX /M PATH “LUJING”,但是走的坑是无法在原有基础上修改,强行覆盖一个python路径。这时候已经可以移植到别的电脑上运行了,但是可能这个python程序换电脑第一次需要下载,所以我需要点击两个bat程序第一个永久修改环境变量,需要管理员启动;第二个程序再启动一遍python程序,这样就可以下载一些不知名文件了。然后启动unity就可以一键抠图了,大约25秒能抠出来5张。这样以后就可以移植到相机程序里了。不过由于想一键傻瓜化配置,所以还没完善。
**3.**先记录到这吧,以后每一两天估计以这样的形式记录一次,代码就不上传了,太简陋了,可能以后回过头来,会有更好的思路吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值