
Unity
文章平均质量分 75
示申○言舌
活了半生,没能为人类之进步,社会之发展,祖国之崛起、人民之幸福做点什么,每思及此,痛苦欲绝。
展开
-
Unity+OpenCV+Dlib实现换脸+图片生成+上传服务器+生成二维码[纯干货]
使用Unity+OpenCV+Dlib实现换脸功能,融合生成图像,并安全上传至服务器,详细的原理说明和技术栈讲解,纯干货。原创 2024-06-28 23:10:33 · 2517 阅读 · 1 评论 -
Unity开发授权系统
因为有些客户尾款到账不及时,因此研究了一套授权系统,当授权到期后,系统就提示软件授权已到期,不能继续使用云云,这样方便尾款的收回。原创 2024-01-21 20:28:36 · 1453 阅读 · 0 评论 -
Unity+讯飞语音+讯飞星火+Motionverse打造智能数字人
Unity接入讯飞语音、讯飞星火大模型、Motionverse,三大模块驱动智能语音数字人,实现客服、个人助理等功能。原创 2023-07-21 10:14:38 · 6748 阅读 · 16 评论 -
Unity极坐标Shader特效,以及使用Instanced Property实现相同材质不同参数
实现一个Unity Shader极坐标特效,以及使用Instanced Property实现不同物体使用相同材质球但分别设置参数的功能(提高渲染效率)。原创 2023-06-14 21:27:49 · 2258 阅读 · 0 评论 -
Unity制作360全景图
本来以为全景图很简单,把全景图纹理设置为“Cube”类型,弄个天空盒材质附上去,然后摄像机弄个角度旋转脚本,就完事了。。。但是,用天空和渲染全景图的话,没有办法缩放。。于是,还是得用球体啊。。用Blender建一个球,法线反转一下,就是让球里面的纹理是正面,然后摄像机摆到球中心,球的材质,shader选Unlit/Texture即可。原创 2023-05-07 20:20:11 · 1757 阅读 · 1 评论 -
Unity利用UGUI RawImage组件制作转场动画
Unity制作的360全景转场切换特效。最近接到了一个unity全景图的小项目,由于在不同的场景之间转场时直接转会太过生硬,因此要求有个转场的动画。原创 2023-04-29 11:40:16 · 1927 阅读 · 0 评论 -
深入探讨Unity协程及其使用
协程在Unity中是个很重要的东东,相信很多人都使用过,它能够非常方便的进行异步等待操作,可以说,用好协程,可以使你的代码更加优雅,然而,如果用不好,代码就会有变成翔的可能,甚至已经变成了翔,你自己居然还不知道。那么,我们就来好好聊聊协程吧。原创 2023-02-21 16:47:37 · 1151 阅读 · 0 评论 -
Unity三体运行模拟体验
这两天看完三体电视剧,很想体验一把三体人的世界…于是,说干就干。原创 2023-02-06 21:00:14 · 1033 阅读 · 0 评论 -
UDP+有穷自动状态机构造网络指令系统
指令前缀和后缀其实就是指令的分界符,用于标记一条指令的开始和结束,这类似与C语言中字符串的结束标记“\0”符号,再好比CSV文件中的“,”号,用来分割不同的列。上面例子中,我们分别用“[”和“]”来作为前缀和后缀。由此带来的第一个问题是,我们的指令的其他部分,就不能出现这两个字符了,包括指令体、运算符、还有参数部分,当然,要想解决这个问题也是可以的,那就再引入“转义符”这个概念,比如将连续两个相同的“]”符看做不是指令的结尾,而是本身的符号。为了简单起见,这里不予考虑。原创 2023-02-01 22:50:21 · 759 阅读 · 1 评论 -
Unity复刻骑砍中的帝国象棋(一)
这两天从一款游戏中发现了这么个棋类小游戏,觉得挺有意思,没错,就是下面这个:作为程序员的我,一下就想到复刻它一下。这个棋类小游戏,我并不知道它确切的名字,好像叫帝国象棋??好吧,这个不重要,重要的是我要实现它,顺便说一下,这个应该不会侵权吧,我可是真的只是为了学习,毕竟就算100%实现了,也不是以赚钱为目的的。规则描述虽然文字挺多,但是实际上很简单。原创 2022-12-01 00:06:32 · 847 阅读 · 0 评论 -
Unity 陶艺之路BUG修复专文
由于项目中间经历过了很多版本,导致上传的资源有一点小BUG。那就是UV的展开不太正确。在此,对所有购买了该资源的各位表示抱歉了。同时,感谢两位仁兄发现的该BUG,特发此文修复之。原创 2022-11-11 09:10:42 · 1069 阅读 · 0 评论 -
Unity编辑器扩展——实现样条线编辑器
Unity编辑器扩展样条线编辑。一直以来有一个想法,想实现在unity中程序化摆放物体,比如,沿着公路自动摆放路灯,在一个范围内自动摆放建筑物,生成自动化城市场景等。于是,就开始了编辑器扩展的研究,遗憾的是,网络上虽然有很多的编辑器扩展方面的文章,但极少有在场景中实现样条线编辑方面的内容,只好自己研究啦,幸好,我记得`Cinemachine`中自带一个路径摄像机的功能,于是深入的研究了一下,发现完全可以拿来学习。原创 2022-11-02 20:23:04 · 2224 阅读 · 1 评论 -
Unity实现跨场景的传送门
之前写过一篇传送门的文章,但是无法跨场景传送。这篇文章实现了跨场景的传送门。主要利用了“不销毁”物体携带数据,实现跨场景数据传输,异步场景加载完成后再进行数据利用和销毁的方法。原创 2022-10-19 20:41:00 · 6951 阅读 · 2 评论 -
Unity 使用柏林噪声优雅的实现随机变形
当初,并不知道有柏林噪声这么个神奇的玩意,当我们的美监用他的PPT给我展示了这个效果的时候,一时我还真不知道怎么去实现,后来灵光一现,让美术给我了建了一个模型——一个不规则的球体,类似一个土豆一样的,然后,我让这个土豆不停的旋转,然后给他写了一个纯色的shader,最后用一个摄像机渲染它,就勉强得到了一张类似效果的图。当然这样的实现我自己也觉得不太优雅,但没办法,项目着急,管他优雅不优雅,总归是实现了。。原创 2022-10-17 17:20:35 · 1154 阅读 · 2 评论 -
Unity PID 控制算法可视化学习
Unity PID 控制算法可视化原创 2022-10-05 20:34:01 · 1940 阅读 · 0 评论 -
Unity Animation Rigging 程序化行走
Unity Animation Rigging 程序化行走原创 2022-10-04 18:10:36 · 1655 阅读 · 4 评论 -
Unity CommandBuffer实现毛玻璃特效
特效可以用于一般物体,也可以应用于UI。一直想在UI中实现这么个效果,现在终于实现了。其实,这大体的原理就是,在摄像机上加一个`CommandBuffer`,相当于在渲染过程中添加了额外的处理指令,就是,在渲染这个毛玻璃物体之前,先把已经渲染好的屏幕拿过来模糊一下,扭曲一下,然后以屏幕空间作为UV再贴到这个物体上。扭曲和模糊屏幕的Shader:原创 2022-10-02 15:35:17 · 2101 阅读 · 1 评论 -
Unity UGUI 绘制优雅的线段
有时候,我们需要在unity中绘制线段,最常规的做法就是使用组件了。但有时候我们用起来并不那么适合,比如,我们需要在UI层绘制线段时,当然通过一系列的坐标转换,可以完美的将呈现在UI层,但总归不是很方便。这时候我们就可以自己写一些东西了。......原创 2022-08-29 22:29:32 · 4783 阅读 · 1 评论 -
OpenCV+Mediapipe+UDP+Unity挥手电子书翻页
OpenCV+Mediapipe+UDP+Unity挥手翻页原创 2022-05-25 20:48:34 · 2379 阅读 · 14 评论 -
Unity制作GIF动画播放组件
让Unity支持Gif动画播放的小组件。原创 2022-04-13 16:29:17 · 4097 阅读 · 1 评论 -
Unity Graph View打造图形化对话编辑系统(五)
Unity Graph View打造图形化对话编辑系统(五)——运行原创 2022-03-17 20:24:56 · 5686 阅读 · 0 评论 -
Unity Graph View打造图形化对话编辑系统(四)
Unity Graph View打造图形化对话编辑系统(四)——视图类DialogueTreeView这个应该算是核心了吧,处理节点的编辑。关键有这么几处:// 当视图内容改变时,比如用户建立了连线、删除了节点等等操作private GraphViewChange OnGraphViewChanged(GraphViewChange graphViewChange){ if (treeData != null) { if (graphViewChange.elementsToRemove原创 2022-03-15 21:14:43 · 4198 阅读 · 0 评论 -
Unity Graph View打造图形化对话编辑系统(三)
利用UIBuilder搭建编辑窗口,简单的写几个必要的类。原创 2022-03-15 08:57:53 · 4997 阅读 · 0 评论 -
Unity Graph View打造图形化对话编辑系统(二)
Unity Graph View打造图形化对话编辑系统(二)——数据节点抽象我们需要两种数据类型,一种是对话树(DialogTree),一种是对话节点(DialogNode),前者是后者的容器。DialogTreeTree的定义比较简单,只需要实现几个简单的方法[CreateAssetMenu(menuName = "Dialogue Tree Graph")]public class DialogTree : ScriptableObject{ [HideInInspector]原创 2022-03-14 17:40:33 · 2756 阅读 · 0 评论 -
Unity Graph View打造图形化对话编辑系统(一)
利用Unity Graph View打造图形化对话编辑系统,类似Shader Graph,让策划可以使用简单的节点连线来打造NPC对话系统。原创 2022-03-14 16:30:34 · 4053 阅读 · 0 评论 -
深入探讨并实现Unity图像轮播
深入探讨并实现Unity图像轮播最近接了一个展厅的小项目,需求中有一个图像轮播的小功能,本来以为这是一碟小菜,心想瞬间有了N中解决方案,然而,现实是pia pia打脸,幸好最终完美实现了效果,才保住了作为公司其他人心目中“大神”的老脸。...原创 2022-03-05 23:03:04 · 12116 阅读 · 10 评论 -
Unity配置文件封装
C#、Unity 读写XML配置文件,管理XML配置文件。原创 2022-02-14 21:13:41 · 2196 阅读 · 0 评论 -
Unity更详细的函数执行顺序
public class GameLogic : MonoBehaviour{ [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] private static void BeforeSceneLoad() { Debug.Log("BeforeSceneLoad"); } [RuntimeInitializeOnLoadMethod(RuntimeIn原创 2021-12-07 19:17:22 · 3562 阅读 · 1 评论 -
Unity UGUI 流光特效
UGUI 流光特效效果图:原理1. 写个简单的Shader:float4 frag (v2f i) : SV_Target{ float4 col = tex2D(_MainTex, i.uv); float2 uv = i.uv - 0.5; float2 pt = pointbyangle( fmod( _StartAngle + _Time.y * _Speed, 360)); float l = clamp( 1 - length( uv - pt ) / ( _Size * 1原创 2021-08-26 12:02:18 · 9332 阅读 · 7 评论 -
Shader+UGUI仿制Unity拾色器
Shader+UGUI仿制Unity拾色器先上图原创 2021-07-25 16:39:44 · 1699 阅读 · 4 评论 -
Unity陶艺之路
Unity实现陶艺之路陶艺制作,如下图:最近接到了某历史博物馆的一个小项目,其中之一是允许游客利用触控屏模拟陶艺的制作。经过两天的研究,将制作工程记录和总结如下:程序总体流程:根据精细程度等需要动态生成模型根据用户操作动态调整模型顶点平滑接缝处的法线一、动态生成动态生成有很多种方式,为了性能考虑,除了必要的接缝(UV展开),这里尽量使用了共享顶点的方式,原因是:第一,可大幅度降低顶点数量,后期需要遍历顶点动态调整顶点位置时可提高效率,第二,共享顶点可使用unity自带的Mesh.Re原创 2021-06-17 14:53:37 · 4399 阅读 · 13 评论 -
Unity实现一个简单易用的对象池
Unity实现简单易用的对象池原理当场景中需要频繁实例化一种对象时,由于实例化的过程会比较耗时,所以可以事先创建一堆对象,然后在需要时激活它。池子中,我们有两个列表,一个是正在被使用的对象,另一个是还没有被使用的对象,需要一个物体时,从正在使用的列表中取出一个物体,然后将它标记为“已被使用”,其实就是放到“已被使用的”列表中。当物体被使用完,归还物体到池中时,进行相反的操作。##源码public static class ObjectPool{ private class ObjectB原创 2021-04-02 15:26:32 · 235 阅读 · 0 评论 -
自己动手写一个基于UGUI的TreeView
自己动手写一个基于UGUI的TreeView前言最近搞的BIM工程中有个PDF图纸浏览的需求,然而需要一个TreeView来列出所有的PDF文档,网上搜了下,没大有很相中的插件,于是自己思考了一下,决定自己写一个。效果图哎,本来想截一个GIF动图的,但是截出来的图很大,10M+,优快云上传图片限制是5M,没办法截动图了。原理介绍事实上,对于一个没有层级的ListView来讲,估计大家都会弄,就是把Prefab实例化一下,放进View的Content中完事了,Tree的难点在于可折叠、可展开原创 2021-03-26 12:45:53 · 1208 阅读 · 0 评论 -
利用贴花制作能够100%贴合地面的选择框
利用贴花制作能够100%贴合地面的选择框效果图:网上有用Box制作的类似的选择框,但是用box做有个缺点,当地形不平时,就会穿帮。。于是用贴花来实现一下。原理其实很简单,如果你的渲染管线是Build-In,那么使用Projector组件来实现即可,如果是HDRP,那么使用Decal-Projector来实现,这两个都是自带的组件。但是如果用URP,没有自带的贴花,那就只能自己写个shader了。附带的工程中有代码。另外,判断是否框选了物体,只需需要调用Physics.OverlapBox来判断一下原创 2021-03-02 17:26:42 · 415 阅读 · 0 评论 -
Unity ML-Agents release12 环境搭建
新版本ML-Agents环境搭建备忘录折腾了很久,网上各种搜,最终整理一下步骤:去清华镜像下载最新的Anaconda,网上说要下载5.3版本,其实根本不是那么回事。我下载的是2020.11版本。一路安装即可。管理员身份进入Prompt,先配置一下源,这样后续安装会很快。 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels原创 2021-02-18 20:50:59 · 243 阅读 · 2 评论 -
解决Unity UGUI 抗锯齿,解决Canvas Camera模式抖动问题
UGUI开启抗锯齿,解决Canvas Camera渲染模式下UI抖动问题最近用unity搞一个小项目,用到了XCharts插件,这个插件除了一些小问题,总体还是不错的,最大的问题就是锯齿了。。官网文档里这么说的:开启抗锯齿设置(在Unity里设置)。调整UI渲染模式为Camera模式,开启MSAA,设置4倍或更高抗锯齿。锯齿只能减少难以避免,像素越高锯齿越不明显。其实不仅仅是XCharts组件,通过重载 void OnPopulateMesh(VertexHelper vh)函数,在UGUI上自绘原创 2021-01-24 17:24:24 · 5370 阅读 · 2 评论 -
Unity第一人称可视化传送门制作
引言游戏中很多地方用得到传送门,就跟哆啦A梦的任意门一样,从这边走进去,从那边走出来,用Unity实现一下它吧。先来个效果图,机器上没有按装gif截屏,所以不带动态,但图中的“能量波动花纹”是带动态的哦,请自行脑补。这里是另一个,传送门嘛,至少得两个。从一端走进去,就会从另一端走出来。效果还是可以的。下面介绍一下原理和制作方法:原理是这样的,用一个摄像机,观察传送门另一边的图像,然后渲染到本端传送门的平面上,这样,就能在本端门内看到远端的画面了。一、键shader用ShaderGraph原创 2021-01-01 23:36:03 · 3994 阅读 · 10 评论 -
Unity球形视野+Boids群算法
Unity球型视野研究射线分布射线分布Unity中进行视野检测,使用射线是一个很方便的方法。问题是如何有效的生成射线?事实证明,学好数学还是很有必要的。先看2D的情况:for( int i = 0; i < numPoints; i++) { float dst = Mathf.Pow( i / ( numPoints - 1f),pow); float angle =...原创 2020-04-09 22:13:08 · 1981 阅读 · 0 评论 -
Unity导弹自动追踪算法
网上找了很久,没有找到满意的追踪算法,要么是2D的,要么就不逼真,只好自己硬憋了1天,终于硬憋出来了,效果图:(这个图是最初版本的效果,完善后的项目请见下方链接)核心代码:using UnityEngine;[RequireComponent(typeof(Collider),typeof(AudioSource))]public class Missile : Mo...原创 2017-09-13 09:52:04 · 21361 阅读 · 20 评论 -
也谈Unity血条的制作
如果百度一下,会有很多很多关于血条的制作方法。经过试验,总结了最最简单、有效的方法:1、创建一个Canvas,设置为WorldSpace模式,作为子物体挂到需要显示血条的角色物体下面,设置一下位置和Scale,让他大小和位置比较适合角色。2、在Canvas里面加一个Image,改名为Background,背景图片选UISprite或者Background都可,颜色选择背景色,比如红色。An原创 2017-09-13 11:16:46 · 1255 阅读 · 0 评论