Unity
程序员正茂
喜欢干点有难度的事
展开
-
EasyAR自定义相机RTSP视频流(CustomCamera)
open即找开相机或视频流,start(callback)主要用于取图像帧,当有新的Frame时,调用callback,将最新的帧数据传入一个ByteArrayWrapper的结构中,在Unity中再将ByteArrayWrapper转换为InputFrame,即可进行识中坚力量。分析其源代码,主要是ExternalCameraSample类中的open函数和Start函数。,但是对于大部分Unity开发人员来说看了文档还是一头雾水。以下修改后的Java代码(C++代码略,需要自己写)原创 2024-09-26 17:36:30 · 125 阅读 · 0 评论 -
Android Studio Dolphin 中Gradle下载慢的解决方法
解决办法:修改gradle\wrapper\gradle-wrapper.properties中的distributionUrl。我用的版本Android Studio Dolphin | 2021.3.1 Patch 1。解决办法:修改settings.gradle。1.Gradle自身的版本下载慢。2.Gradle下载依赖包慢。原创 2024-09-25 18:02:05 · 207 阅读 · 0 评论 -
在Windows 10下使用C#完成低功耗蓝牙通信(BLE)
4.添加windows.windmd引用(位于C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.17763.0\Facade\windows.winmd)2.编辑项目文件ConsoleApp2.csproj,添加如下代码并保存,这样才能添加下一步的引用。注意:如果在项目中添加了文件导致项目文件被覆盖,可能需要重新添加此代码。3.添加Universal Windows下的5个引用。如果不添加windows.windmd将报以下错误。原创 2024-09-20 09:55:55 · 603 阅读 · 1 评论 -
Unity for Android使用蓝牙低功耗Bluetooth LE
插件:Bluetooth LE for iOS and Android v2.3.unitypackage。原创 2024-09-13 18:22:36 · 793 阅读 · 0 评论 -
Unity Hub自动安装指定版本Unity的Android开发环境
Unity开发Android环境要求SDK、DNK、JDK、Gradle版本都要对才能发布APK,自己去配置很容易出错。Unity Hub可以自动安装指定版本Unity的Android开发环境。1.安装国内用的UnityHub(我这里用的3.3.2-c6)3.点击【从Unity Hub下载】安装完毕,Unity自动就配置好了。4.选择要安装的平台就可以了。原创 2024-09-11 22:21:34 · 461 阅读 · 0 评论 -
在安卓和Windows下使用Vizario H264 RTSP
ConnectionProperties中的server必须与真实IP一样,所以需要新增一个获取IP的函数。Unity2021.3.35f1,运行模式为ENGINE_SERVER。原创 2024-09-04 16:13:52 · 432 阅读 · 0 评论 -
萤石C++ SDK Demo播放4G摄像头
2.修改配置文件EZPCOpenSDK_v5.1.18_build20230808\demo\win32\EzvizQtDemo.ini。萤石开放平台官方提供的Demo是有问题的,无法直接使用。提交工单后,技术人员回复要修改配置文件才能使用。点击左上角【登录】按钮,选择【萤石OAuth协议登录】(3.运行EzvizQtDemo1.exe。经测试【直接进入设备列表页面】也是可以的。原创 2024-08-23 10:49:53 · 160 阅读 · 0 评论 -
Unity低延迟播放RTSP视频流
Unity播放RTSP视频流这个功能在好几个项目中用到,虽然有一些现成的插件(VLC for unity、UMP)可以使用,但是延迟高(300毫秒以上)的问题一直没法解决。在Android平台上延迟大约160~200毫秒,在Windows平台上延迟大约140~180毫秒,比某直播SDK延迟还低。Android实测 (RTSP摄像头对着电脑屏幕,手机播放RTSP视频,用另一台手机拍照即可测出延迟时间)最近终于下定决心来解决这个问题,经过几天的努力完成了插件编写,支持Android和Windows平台。原创 2024-08-22 18:26:56 · 440 阅读 · 1 评论 -
Win10上使用Darknet框架训练YOLOv4自定义数据集
本文在《》基础上进行,需要用到8个文件,其中有两个文件由程序自动生成,无需手动编辑。原创 2024-08-21 18:39:28 · 396 阅读 · 0 评论 -
Win10上使用Darknet框架测试YOLOv4识别
(1).将生成目录下的build2\Release\darknet.exe复制到源文件目录darknet-master\build\darknet\x64。第二步是在系统变量中添加OpenCV_DIR变量:C:\Users\wslng\Downloads\opencv\build\x64\vc16\lib。(3).将opencv\build\x64\vc16\bin下的所有文件复制到darknet-master\build\darknet\x64文件夹下。与CUDA版本对应和Window版本就可以。原创 2024-08-21 17:25:37 · 484 阅读 · 0 评论 -
FFmpeg播放rtsp网络视频超时处理
【代码】FFmpeg播放rtsp网络视频超时处理。原创 2024-08-16 12:55:44 · 182 阅读 · 0 评论 -
Welzl算法求最小圆覆盖(Unity C#版)
【代码】Welzl算法求最小圆覆盖(Unity C#版)原创 2024-07-23 16:57:06 · 144 阅读 · 0 评论 -
Unity游戏帧率查看软件Fraps
下载、安装、运行这个软件,左上角就会自动显示帧率。原创 2024-07-03 16:59:10 · 363 阅读 · 0 评论 -
VLC for Unity播放RTSP延迟高的解决办法
设置网络缓存时长network-caching=100。原创 2024-07-01 16:02:48 · 347 阅读 · 0 评论 -
Unity3d自定义TCP消息替代UNet实现网络连接
以前使用UNet实现网络连接,Unity2018以后被弃用了。要将以前的老程序升到高版本,最开始打算使用Mirro,结果发现并不好用。那就只能自己写连接了。原创 2024-06-22 12:25:38 · 512 阅读 · 0 评论 -
Unity3d在安卓设备上实现万张人脸单机离线识别对比搜索检索查找
找不到合适的,那就自己试试看能不能搞定。经过两天的折腾,总算搞出来了。在小米14手机上测试上万张人脸库,帧率在20FPS左右,比较流畅,能够满足要求。同时该算法支持iOS、Android、Windows等平台。最近有个项目需要在安卓设备上通过人脸验证人员身份,网上搜了一下资料,免费的单机SDK只有虹软,但是限制安装数量。其他SDK都是需要联网的,无法离线使用。原创 2024-06-07 09:18:33 · 480 阅读 · 0 评论 -
Unity2021通过aar调用Android方法
本方法无需复制Unity的class.jar到Android Studio工程,arr工程中也无需获取UnityActivity。开发环境:Android Studio Dolphin | 2021.3.1 Patch 1、Unity2021.3.35f1。在Assets下新建Plugins/Android文件夹,并将生成的aar复制到该文件夹下。打开Android Studio,新建工程。创建脚本PluginInit,编写代码。给脚本赋值,发布APK,运行。打开Unity,新建工程。原创 2024-05-17 16:37:11 · 884 阅读 · 0 评论 -
音频wav mp3编辑神器GoldWave
GoldWave是一款音频编辑神器,可用于将mp3、wav文件本射的音量放大最大。原创 2024-05-17 15:20:35 · 121 阅读 · 0 评论 -
unity3d使用3D WebView播放网页中的视频
13.打开Assets\Vuplex\WebView\Core\Scripts\BaseWebViewPrefab.cs添加如下代码。4.修改CanvasWebViewPrefab的组件RectTransform的对齐方式和宽高,宽高与分辨率相同。1.新建工程,导入3D WebView for Winfows和3D WebView for Android。8.创建Scripts文件夹,再创建Test.cs,打开编辑代码。13.发布apk,在手机上运行,即可看到与PC相同的效果。6.运行程序即可看到视频。原创 2024-04-29 18:46:50 · 2768 阅读 · 5 评论 -
在Unity程序中使用YOLOv4识别物体时报错CvException
在某项目中使用OpenCV for Unity中YOLOv4识别物体,在Unity编辑环境下运行得好好的,发布出来一运行就报错。刚开始以为是显卡原因,换了几台电脑都报错,后来发现是中文路径的问题。程序所在路径不要有中文,只能全英文。原创 2024-04-12 09:49:33 · 377 阅读 · 0 评论 -
几种Yolo图像标注工具
我都打算自己写程序了,网上找到了这个工具,看来早有人无法忍受现存的标记工具,自己动手写了个标注工具,比LabelImg好用多了。最常用,但经常莫名其妙地闪退,稳定性差。Yolo可以识别的标注为txt。用了一下,感觉也还不错。原创 2024-03-26 11:16:36 · 1466 阅读 · 2 评论 -
基于Colab训练的yolov4-tiny自定义数据集(可用于OpenCV For Unity)
将训练用的coco.names、yolov4-tiny-custom.cfg、yolov4-tiny-custom_best.weights放到Assets\StreamingAssets\OpenCVForUnity\dnn下。【代码执行程序】【更改运行时类型】修改运行时为GPU(免费的GPU不好用,收费的好用,某宝上几十元就可用一个月)步骤2)在云盘上新建文件夹yolov4-tiny,在yolov4-tiny中再新增training文件夹。步骤3a)将数据集上传到yolov4-tiny文件夹下。原创 2024-03-25 14:40:50 · 1499 阅读 · 2 评论 -
Unity访问安卓(Android)或苹果(iOS)相册
1.下载Native Gallery for Android & iOS插件。2.在场景中添加截图按钮、选择图片按钮、选择视频按钮等。原创 2024-03-21 10:39:39 · 781 阅读 · 0 评论 -
Unity双击全屏UI按钮、长按UI按钮
将下面的代码挂载到按钮上,去掉按钮本射的Button组件。将下面的代码挂载到需要双击的图片上,如双击全屏。原创 2024-03-19 15:17:38 · 373 阅读 · 0 评论 -
Unity2021.3.35f1配置安卓APK发布环境
2.在【Platform development】【Android】【Getting started with Android】【Android environment setup】中查看SDK、NDK、JDK版本。1.在Unity3d中点击菜单【Edit】【Preferences】,在External Tools中可以看到Android平台需要配置JDK、SDK、NDK、Gradle。对应的版本需要在官方文档中查看。打开Android Studio,点击菜单【Tools】 【SDK Manager】原创 2024-03-12 16:05:44 · 1511 阅读 · 0 评论 -
Unity3d调用C++ dll中的函数
2. 不用管dllmain.cpp,添加自定义Helper.h和Helper.cpp。1.在Unity3d工程Assets建立Plugins文件夹,将dll及。注意:C#函数的名字可以与C++中的函数可以不一样。EntryPoint中的名字必须与C++函数名一样。4.配置x64或x86,编译,得到dll。3.设置x64或x86以及.net版本。3.添加要在外部调用的方法。二、Unity3d中调用。2.在代码中引入函数。原创 2024-03-06 18:42:59 · 362 阅读 · 0 评论 -
判断两个二维向量夹角及是顺时针还是逆时针旋转方向
由公式可得这样求得的角度范围为[0~180],无法得到顺时针还是逆时针旋转方向。原创 2024-01-07 11:09:59 · 1049 阅读 · 0 评论 -
Unity读取写入Excel
1.在Plugins中放入dll,118开头的dll在Unity安装目录下(C:\Program Files\Unity\Editor\Data\Mono\lib\mono\unity)原创 2023-10-23 21:25:54 · 975 阅读 · 0 评论 -
Unity2017适配安卓12
2.在菜单File>Build Settings...>PlayerSettings...>Other Settings,勾选Mute Other Audio Source*1.在自定义AndroidManifest.xml(位于Assets\Plugins\Android\)中添加android:exported="true"3.通过以上两步应该就可以在安卓12上运行了。如果还不行就加上签名再试试。测试版本为Unity2017.4.25f1。原创 2023-10-11 17:36:21 · 390 阅读 · 0 评论 -
Cesium for unity 1.5.0使用注意事项
3.如果Package Manager中不出现My Registries选项,请在 Edit > Project Settings...>Package Manager中重命名或删除重新添加Package。也可以关闭工程直接修改manifest.json。1.Unity版本仅支持Unity2021.3.2f1以后版。2.仅支持 3D (URP)和3D (HDRP)渲染管线。换成手机热点,即可解决。原创 2023-08-16 18:41:24 · 644 阅读 · 0 评论 -
Unity发布APK错误:CommandInvokationFailure: Unable to convert classes into dex format.
2.在Player Settings中将Build System选择Gradle。1.将可以正常打包的Unity版本下的gradle复制到目标Unity下(3.注意项目路径不要有中文路径。原创 2023-07-17 21:50:07 · 325 阅读 · 0 评论 -
Android 8开机启动
注意Receiver类与AndroidMainfest.xml中的类别一致。2.新建Broadcast Receiver类。1.修改AndroidMainfest.xml。原创 2023-02-15 18:09:36 · 619 阅读 · 0 评论 -
Unity根据文字内容自动滚动显示最新文字
3.在Content添加组件Vertical Layout Group、Content Size Fitter。2.在Scroll View的Content下创建Text。1.在Canvas下创建一个Scroll View。4.自动下滚,显示最新内容。原创 2022-11-29 18:45:16 · 1774 阅读 · 0 评论 -
OpenCV for Unity使用深度学习神经网络进行图像识别对象检测
3.打开场景Assets\OpenCVForUnity\Examples\MainModules\dnn\YoloObjectDetectionExample\YoloObjectDetectionWebCamTextureExample.unity。1.打开Assets\OpenCVForUnity\StreamingAssets\dnn\setup_dnn_module.pdf。6.也可以自己训练数据集进行识别,下图是口罩识别。5.运行测试,可以看到物体被检测出来了。4. 配置Dnn参数。原创 2022-11-29 12:59:06 · 3842 阅读 · 9 评论 -
Unity针对某个UI界面元素局部截图
【代码】Unity针对某个UI界面元素局部截图。原创 2022-11-15 10:28:00 · 1374 阅读 · 0 评论 -
Unity3d在Android平台报错“ Access to the path is denied”
原因:没有文件读取权限。解决方法:在AndroidManifest.xml添加以下内容。2.在application标签内添加。1.在manifest节点下添加。原因:没有文件读取权限。原创 2022-11-11 10:13:36 · 1491 阅读 · 0 评论 -
Unity3d在Android平台报错“ Access to the path is denied”
解决方法:在AndroidManifest.xml添加以下内容。2.在application标签内添加。1.在manifest节点下添加。原因:没有文件读取权限。原创 2022-11-11 10:06:05 · 1215 阅读 · 0 评论 -
Unity在Android中使用SQLite数据库
1.下载Sqlite库文件libsqlite3.so、sqlite3.dll,网上找的话到处都是。3.在Andorid上运行时,需要将数据库文件复制到另一个位置。2.将已建好的数据库文件放到StreamingAssets下。原创 2022-11-04 10:55:01 · 1331 阅读 · 3 评论 -
Unity3d从树莓派拉取视频流
树莓派端python示例及代码import ioimport picameraimport loggingimport socketserverfrom threading import Conditionfrom http import serverPAGE="""\<html><head><title>Picamera MJPEG Streaming</title></head><body><i原创 2022-05-10 15:00:24 · 1205 阅读 · 4 评论 -
World Creator For Unity入门教程
一、生成地形1.点击菜单【Window】【World Creator For Unity】,在弹出对话框中点击【New】,完成一个地形的生成。2. 点击【Add Terrain Filter】,选择【Click to add Erosion with Sedimentation】3.点击【Erosion with Sedimentation】,可调整参数。4.选中最下边的Terrain(其他的不选中),点击【Generate】,就可以得到一个地形了。如果看上去比较粗糙的话,可以.原创 2022-05-06 18:33:04 · 3954 阅读 · 5 评论