自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (9)
  • 收藏
  • 关注

原创 中国移动杭州公司——亚运会网络运行保障系统

杭州亚运移动信号保障数字孪生

2023-10-18 20:03:11 684

原创 Unity 交通系统

效果图

2021-06-02 19:40:00 3948 6

原创 Unity3D 飞线

有底线飞线没有底线飞线一、实现原理飞线的实现和车流线是一样的方式,车流线是在两点之间直接插值,飞线需要在两点之间额外插入一个有高度的点,然后再插值。 public class FlyLine : MonoBehaviour { [Header("是否固定时间")] public bool fixedTime = false; [Header("飞线速度")] public float speed = 1;..

2021-05-31 16:02:48 1527 7

原创 Unity3D 车流线

效果图因为是静态图片可能不太能看出效果,车流线主要是用来模拟城市中行动的车,直接使用车模型,会在大场景中看不清楚,效果不会很好。一、实现原理车流线肯定是需要绘制线条的,我这里直接使用TrailRender。这个拖尾功能可能很好帮助我们控制线的粗细变化,线条存在时间,还有线条颜色变化。既然使用了TrailRender,那我们只要保证物体按照道路数据移动就可以实现一个拖尾流线的效果了。和之前的热力一样,因为很多时候,是没...

2021-05-28 17:36:41 3240

原创 Unity 3D 热力图(二)

效果图

2021-05-27 19:19:49 2452 7

原创 Unity 摄像头画面投射模型

红框是摄像头范围,投射的贴图是随便找的。这个效果主要是想把摄像头的真实画面,投射到Unity中的虚拟模型上。因此必须保证模型的1:1 ,还有相机的角度、位置、fov等的一致。构思:这种效果肯定是需要深度的,因为有遮挡关系。摄像头的位置使用一个Camera,因为Camer可以实现对摄像头参数的模拟,下面部分称作次相机。需要贴图的范围,肯定在次相机的渲染范围里面。创建一个物体,物体的Mesh填充Camera的渲染范围,即边框和图中红框重合。Mesh在场景透明物体渲染后被渲染,使用..

2021-01-26 17:43:07 1185 3

原创 Unity 等高线数据 生成山体

Unity使用等高线数据生成山体等高线数据通过QGIS导出{ "type": "Feature", "properties": { "fid": 3042, "ID": 3041, "ELEV": 220.0 }, "geometry": { "type": "LineString", "coordinates": [ [ 116.14026623630302, 40.045426917886395 ], [ 116.140266236144541, 40.045426917569436 ],

2020-09-27 12:02:32 1852 2

原创 Unity 制作编辑器工具的注意点

Unity中制作Editor工具,采用的OnGUI的方式,因此比较麻烦,也有很多容易犯的错误。GUI、GUILayout、EditorGUI、EditorGUILayout这4个类是用来绘制界面的。GUI和EditorGUI是一组。EditorGUI是Unity封装过的,里面有很多可以直接调用的函数用来绘制特殊字段,例如Int,Object,Float等GUILayout和EditorGUILayout是一组。Unity封装了一个布局的功能。一、GUILayout和EditorGUILayo

2020-07-29 19:50:14 301

原创 Unity 制作蓝图工具 C#中的技巧

最近花了两周时间,终于完成一个很简单的蓝图工具。其中我觉得比较复杂的,就是数据转换和数据计算,因为蓝图中数据类型是没办法直接获取到的。计算的时候不可能罗列所有类型的相互计算,因为类型大多了。由于数据要序列化,所以要保存类中的字段是可在Unity可序列化的,例如:Type 和 MethodInfo 以及 object 就不行object不能序列化就导致反射函数的参数需要转换,带来很多麻烦一、定义保存数据的类 [Serializable] public class Serial

2020-07-28 16:49:21 2282 1

原创 Unity Shader 中空间还原

在做一些后处理Shader的时候,很多情况都需要对屏幕空间中的坐标还原到世界坐标。一、还原原理_CameraDepthTexture保存了物体的深度信息,深度信息可以直接通过uv采样到。假设获取到了屏幕空间中A像素的深度信息,如果要得到A像素的世界坐标,还需要一个方向,深度信息是长度。这个方向,应该是A像素投影在屏幕坐标的点指向A像素世界坐标的点。然后通过方向乘以深度就得到物体在相机空间下的坐标,然后加上相机的世界坐标,就得到了物体的世界坐标。二、计算方向唯一的难点就是计算方向,这里可以计算

2020-07-15 09:50:16 449

原创 Unity移动端、WebGL 四边形线框Shader 实现

本文不是使用GeometryShader!移动端和WebGL由于一些限制不能使用GeometryShader,因此不好实现线框Shader。一、手动绘制有的人可能会选择用GL画线来实现绘制线框,具体就是读取mesh信息然后绘制线条,但是GL绘制不能调整线条粗细。有的人可能有回使用LineRender或者直接用圆柱体。这样确实可以调整粗细,但是性能堪忧。。。手动绘制,基本大一点的Mesh就会严重影响性能,不是很可取。二、通过Mesh传参数线框用shader实现的难度,就是很难找到三角的

2020-07-03 10:57:44 2379 4

原创 Unity 优化场景的一些方法

在做一些项目的时候,可能美术模型不标准,加上只关心好看,不关心性能。因此到最后整个场景运行费劲。以下是我在做webgl工程时,积累的一些优化经验,尽量不影响效果。一、模型检查首先检查美术的模型,这里检查模型,不是检查顶点三角数量,因为这可能影响效果。主要检查贴图,材质。美术在搭建场景的时候,都习惯用standard shader。然后一些模型只是因为颜色不一样,就用了两个材质球,模型贴图完全没有合并。有的模型还有submesh,但是submesh材质球只是贴图不一样。解决方法:我自己写了一个

2020-06-24 17:22:35 1479

原创 Unity 3D 热力图(一)

效果图一、动态创建mesh首先需要创建一个Mesh,当然这不是必须的,可以使用plane,自己创建主要方便控制精度。修改顶点高度,如果顶点不够可能不够平滑,太多又浪费资源。因此最好根据实际需求大小生成。 private void CreateMesh() { float perxlength = mapSize.x /(meshSize.x - 1); f......

2020-05-26 11:10:17 3824 21

原创 Unity Surface Shader 使用其他组件颜色

自己新建的shader ,使用在linerender或者Image等组件上面的时候,这些组件的颜色修改不能影响到材质球。lineRender的颜色渐变是很实用的功能。lineRender颜色能够改变材质颜色,是因为LineRender修改了模型点的颜色。然后Shader通过这个颜色去混合材质球颜色就能实现LineRender控制材质颜色了。顶点片段着色器可以在顶点片段中获取顶点颜色,然后传入片段着色器。这里主要说一下SurfaceShader,因为不太常用到。自定义顶点函数 #pr..

2020-05-22 09:46:56 591

原创 修改北斗AR地球仪激活验证

北斗AR地球仪,手机安装app后需要扫描二维码激活,二维码又需要购买地球仪。所以我就想着跳过激活验证一、ILSpy首先取出Assembly-CSharp.dll。验证部分的代码在这里面,因为我在java部分代码找过没发现。然后把这个dll反编译出来后,通过开始按钮找到了判断激活的代码。使用ILSpy只是为了确认代码位置,因为C#代码容易找到逻辑位置。找到之后就要修改这个Dll,...

2020-04-17 18:40:43 20056 2

原创 Android 通过OpenGl更新Unity图片

这个文章是针对Unity 制作的Android程序java代码部分获取到图片数据,如果要传递到unity,应该怎么做呢?首先说一下为啥会有这个需求:如果Unity程序需要外接一些图像设备,例如外接红外摄像头。Unity并不能直接获取到图像数据,首先需要需要在AndroidStudio中做好设备接入工作(驱动程序之类)。然后设备会通过Usb接口返回图像数据,这个数据然后通过java代码传...

2020-04-10 17:16:25 1051 2

原创 Unity Image 原图比例控制

Image图片在使用的时候,我们总希望它保持本身比例,这样美术图片就不会变形了。一、Preserve Aspect这个选项可以控制图片渲染保持本身比例。它会根据rectTranform 的width 和 height 计算能保持比例的最大渲染尺寸。如图中,图片比例是1:1,rectTranform的height大于width ,因此渲染尺寸的width为rectTransf...

2020-04-09 13:52:06 6137

原创 Unity C#代码编译dll

在做Unity的SDK时候,因为部分代码不希望用户误修改导致错误,例如一些固定数据。因此可以将这部分代码编译为Dll,然后在Unity中调用。首先打开VS创建新项目选择.NetCore类库。.NetFrameWork也是可以的。首先添加自己需要的依赖项,这里主要看你的代码中,引用了unity那些类然后可以直接把Unity中写好的C#类复制过来。整体好后,确定代码没有报错了...

2020-04-08 13:10:38 812

原创 Unity Android Usb 通信

Unity 监听安卓USB得插拔,以及数据通信(安卓是主)因为不想通过Android 继承 Unity的activity这种方式实现(需要修改manifest)。所以具体实现方式是在Unity的Update中获取所有usb设备,然后自己判断插拔。 usbManager=(UsbManager)context.getSystemService(Context.USB_SERVICE...

2020-04-03 16:13:41 2089 19

原创 EasyAR4.0开发 (SpatialMap空间地图五)

这篇文章讲一下SparseSpatialMapWorkerFrameFilter这个类首先说明一下其他几个类的作用,可以查看EasyAR了解这几个类的具体作用SparseSpatialMap//提供SparseSpatialMap系统主要的功能,地图生成和存储、地图加载和定位,同时可以获取点云,平面等环 境信息并进行...

2020-03-11 15:52:12 2538

原创 EasyAR4.0开发 (SpatialMap空间地图四)

这篇文章主要通过SpatialMap_Sparse_ImageTarget这个场景,说明一下实现稀疏空间地图的脚本。一、SparseSpatialMapController脚本

2020-03-10 10:33:32 1735

原创 EasyAR4.0开发 (SpatialMap空间地图三)

这篇文章主要针对SpatialMap_Dense_BallGame场景讲一下DenseSpatialMapBuilderFrameFilter 和DenseSpatialMapDepthRenderer 这两个脚本。一、场景分析EasyAR4.0的所有功能都模块化了,SpatialMap_Dense_BallGame这个场景中绿色框的物体上面挂载的脚本就是实现稠密空间的脚本了。...

2020-03-05 16:58:49 2448

原创 EasyAR4.0开发 (SpatialMap空间地图二)

这篇文章主要讲一下EasyAR4.0 稠密空间示例场景的打包运行一、创建基于4.0的许可证密钥链接就和之前创建一样,只是在选择的时候选择EasyAR Sense 4.0。这个id要和工程id对应上二、创建工程(我这里使用的安卓测试)新建一个Unity安卓工程,导入EasyARSense_4.0.0-final_UnityPlugin_Samples 下载链接修改工程P...

2020-03-05 16:18:35 3465 1

原创 EasyAR4.0开发 (SpatialMap空间地图一)

EasyAR发布4.0版本,其中有一个特别重要的技术就是SpatialMap。Easy把这个技术又分为了稀疏空间地图和稠密空间地图。AR程序发展到现在,识别空间始终是比较麻烦的事情,之前的识别图只能通过特定图片寻找到虚拟和真实的交界。这对用户来说体验感是远远不够的。虚拟的模型想要在真实的世界中更加完美呈现,一是关照效果阴影的体现,还有更重要的就是遮挡关系,物理阻挡的体现。如果可以多人共享一...

2020-03-05 16:18:03 5428 1

原创 Unity 多机器的视频不卡帧同步

视频同步不同于图片帧同步,因为图片帧同步只要传递帧数,然后加载相应的图片就行。一、使用VideoPlayer做视频时间同步最开始想到的方法就是这样,因为时间是视频位置的控制。使用UDP测试之后发现,在给VideoPlayer设置播放时间的时候,会有卡顿的现象。估计是要解析这个时间的视频数据,所以就觉得可能是VideoPlayer解析能力不能,其实本来也不行。于是就用了EasyMovieTe...

2020-03-03 15:29:48 5728 20

原创 Unity 语音通话功能

一、录制语音Unity自带Api public RecognizeVoice() { string[] microPhoneName = Microphone.devices; if(microPhoneName.Length > 0) { _microphone = microPhoneName...

2020-02-25 15:30:03 5574 8

原创 Unity UDP局域网广播 组播 Android

Unity Android程序,想实现一个局域网会议程序。一个程序创建好房间后,需要让其他客户端知道,就需要不断往局域网发消息开始想使用广播,后来改成组播。这里说一下这两种方式吧一、广播广播会往局域网所有客户端发送一次消息。 _socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, Protocol...

2020-02-23 15:13:02 2603

原创 Unity 协程实现

Unity 的协程是通过IEnumerator实现的。类似于切分成很多代码块,通过moveNext判断哪个代码块应该执行。 public interface IEnumerator { object Current { get; } bool MoveNext(); void Reset(); }MoveNext返回bool就是用来判断是否可以执行接下...

2020-01-16 15:57:24 309

原创 Unity 调用安卓内部安装apk

一、申请权限应用内安装其他应用的权限属于特殊权限,需要在特殊申请。Uri packageURI = Uri.parse("package:" + mContext.getPackageName()); Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageURI); startA...

2020-01-13 17:05:09 891

原创 Unity EasyAR Coloring3D AR绘图原理

EasyAR最新4.0版本加了很多新功能,本文主要讲一下EasyARColoring3D 这个功能的原理一、模型和识别图关系首先识别图应该是作为模型的贴图使用的,因此在做模型UV的时候,要根据识别图设置红框部分属于模型贴图,其他部分就是随便填充的,模型uv要对应上二、相机图像转贴图Coloring3D脚本是实现的代码,从CameraImageRenderer中获取相机图...

2020-01-07 17:19:48 1262

原创 Unity 修改粒子参数

Unity新版本的粒子代码框架更改过,之前的很多api是不能用的。新版本的粒子效果把整个数据分成了几大模块,每个模块是一个struct public struct MainModule { public float duration { get; set; } public float startRot...

2019-12-27 11:01:37 3595

原创 Unity 通过物体上的3个点坐标变化,计算物体变化

这个理论本来应该用矩阵计算,但是不会,所以用了笨方法。假设上一帧三个点是:point1’ , point2‘ , point3’ 当前帧三个点是:point1 , point2,point3 物体上个点是:objpoint1 , objpoint2,objpoint3point1’ , point2‘ , point3’ 可以形成一个面point1 , poi...

2019-12-20 11:41:09 700 2

原创 Unity Android 显示导航栏和状态栏

Unity显示导航栏比较麻烦,显示状态栏挺简单的,网上百度有很多方案。主要实现方案是Github上的一个工程https://github.com/Over17/UnityShowAndroidStatusBar这个工程有aar包,也可以直接使用,但是我比较反感就是修改xml启动Activity的方案的,所以想直接在Unity用反射实现。他的安卓工程可以看看,只有三个函数。 pub...

2019-12-11 18:02:48 1996

原创 Unity 接讯飞离线语音识别

Unity 接入讯飞离线SDK , 有一些坑记录一下。在开发者平台注册之后,申请应用,下载SDK包。这个sdk包和你的appid是对应的,不能使用别人的sdk包,然后用自己的appid这是SDK文件夹,sample是一个示例工程,将libs文件中jar文件放入AndroidStudio中的libs中新建jni文件夹,然后放入对应so文件文件夹中assets文件放入An...

2019-12-04 15:38:43 2643 2

原创 AudioClip 和 byte[] 相互转换原理

AudioClip 是Unity的中使用的音频类byte[] 是加载wav音频文件获取到的数据AudioClip可以通过GetData和SetData获取和设置音频数据,但是数据是-1到1之间的float数组因此byte[] 在转到AudioClip时需要将数据缩放成-1到1之前的floatbyte[] 的两个字节 对应 Unity中一个float数据 public byte...

2019-12-04 10:24:35 3623 7

原创 Unity LoadImage LoadRawTextureData 方法加载 Bitmap

LoadImage 只能加载Jpg或者Png的压缩格式图片 ,需要传入字节数组LoadRawTextureData 加载原始图片数据 ,需要知道图片大小,格式Android 想把 图片数据通过byte[]数组传到Unity可以用bitmap压缩成Png格式的byte[].如果要传原始图片数据,直接从bitmap获取byte[],数据从左上开始,在Unity中使用LoadRawTex...

2019-11-29 15:51:08 4356

原创 Unity Editor Scene窗口 射线检测

一、Editor状态下获取键盘鼠标输入Editor代码中不能使用Input获取,需要使用Event Event e = Event.current;if(e.keyCode == KeyCode.Space){}二、Editor脚本中获取鼠标位置 Event e = Event.current; Vector2 pos = e.mousePosit...

2019-11-27 17:14:57 1835

原创 Unity 使用真实地形数据 建立Terrain

http://www.gscloud.cn/地理空间数据云可以免费获取高程图使用在线计算,可以计算固定区域的高程图,然后会导出多张tif文件修改tif文件需要软件GlobalMapper 提取码:s3j7使用GlobalMapper打开文件选择等高线渲染方式,取消选择光照渲染然后导出成jpg设置8bit的灰度然后打开ps ,设置画布成2的整数倍导...

2019-11-12 11:13:10 2430

原创 Unity 使用LitJson 解析Json数据

Unity自带JsonUtility类,解析感觉不是很好用,数组解析不出来。fastJson 自己定义json数据结构的时候是好用,但是对于解析网络下载json感觉不是很好用。于是就用了LitJson,记得应该是我第一次解析json用的插件,但是很久没用,忘记怎么用了,于是记一下吧。 RecData data = new RecData(); ...

2019-10-30 15:05:04 2521

原创 Unity 接入百度物体识别 API

一、 新建应用,获取id和密码,为后面获取Access Token做准备二、 调用api需要授权的Access Token,Access Token或在固定时间改变,因此最好在程序启动的时候获取一次。三、 获取Access Token IEnumerator RequestTOKEN() { WWWForm form = new ...

2019-10-30 11:29:10 892

Unity Embedded Browser 3.1.0 插件

Unity 嵌入网页插件 官网链接:https://assetstore.unity.com/packages/tools/gui/embedded-browser-55459 在纹理上渲染一个网页,并与它进行互动!加速库存管理器、简化注册页面或以闪电速度构建 UI!

2022-07-19

Unity The Vegetation Engine 3.1.0.unitypackage

Unity The Vegetation Engine 3.1.0.unitypackage

2021-07-05

Kinect v2 Examples with MS-SDK 2.20.unitypackage

Kinect v2 Examples with MS-SDK 2.20.unitypackage

2021-07-05

Volumectic Blood Effects unity血液特效粒子

Volumectic Blood Effects unity血液特效粒子 unity插件包

2018-01-30

Rain Storm Effect Unity暴雨特效插件

Rain Storm Effect Unity暴雨特效插件 导入即可使用

2018-01-30

Unity3D Match3Jewel 三消类游戏,完整298关

三消类游戏,一共298关,手机游戏,可以直接打包运行,仅供学习使用

2018-01-30

Curved UI - VR Ready Solution To Bend / Warp Your Canvas 曲面UI插件

Curved UI - VR Ready Solution To Bend / Warp Your Canvas 曲面UI ,可交互插件

2018-01-30

Unity暴力街区设计大战游戏源码

Unity暴力街区设计大战游戏源码,程序可以直接运行。程序属于学习程序,没完全完善

2006-07-26

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除