- 博客(65)
- 资源 (22)
- 收藏
- 关注
原创 深入探讨并实现Unity图像轮播
深入探讨并实现Unity图像轮播最近接了一个展厅的小项目,需求中有一个图像轮播的小功能,本来以为这是一碟小菜,心想瞬间有了N中解决方案,然而,现实是pia pia打脸,幸好最终完美实现了效果,才保住了作为公司其他人心目中“大神”的老脸。...
2022-03-05 23:03:04 11507 10
原创 Unity陶艺之路
Unity实现陶艺之路陶艺制作,如下图:最近接到了某历史博物馆的一个小项目,其中之一是允许游客利用触控屏模拟陶艺的制作。经过两天的研究,将制作工程记录和总结如下:程序总体流程:根据精细程度等需要动态生成模型根据用户操作动态调整模型顶点平滑接缝处的法线一、动态生成动态生成有很多种方式,为了性能考虑,除了必要的接缝(UV展开),这里尽量使用了共享顶点的方式,原因是:第一,可大幅度降低顶点数量,后期需要遍历顶点动态调整顶点位置时可提高效率,第二,共享顶点可使用unity自带的Mesh.Re
2021-06-17 14:53:37 3735 13
原创 Unity导弹自动追踪算法
网上找了很久,没有找到满意的追踪算法,要么是2D的,要么就不逼真,只好自己硬憋了1天,终于硬憋出来了,效果图:(这个图是最初版本的效果,完善后的项目请见下方链接)核心代码:using UnityEngine;[RequireComponent(typeof(Collider),typeof(AudioSource))]public class Missile : Mo...
2017-09-13 09:52:04 20944 20
原创 Unity运行时节点编辑器——互动电影案例
Unity运行时节点编辑器。Unity自带的GraphView可以很方便的开发编辑工具,然而它貌似只能运行在编辑模式下,如果想让用户使用类似的节点编辑,那么就只能自己动手啦。
2024-07-20 18:29:27 881
原创 Unity+OpenCV+Dlib实现换脸+图片生成+上传服务器+生成二维码[纯干货]
使用Unity+OpenCV+Dlib实现换脸功能,融合生成图像,并安全上传至服务器,详细的原理说明和技术栈讲解,纯干货。
2024-06-28 23:10:33 1569 1
原创 Unity开发授权系统
因为有些客户尾款到账不及时,因此研究了一套授权系统,当授权到期后,系统就提示软件授权已到期,不能继续使用云云,这样方便尾款的收回。
2024-01-21 20:28:36 1284
原创 Unity+讯飞语音+讯飞星火+Motionverse打造智能数字人
Unity接入讯飞语音、讯飞星火大模型、Motionverse,三大模块驱动智能语音数字人,实现客服、个人助理等功能。
2023-07-21 10:14:38 5569 15
原创 Unity极坐标Shader特效,以及使用Instanced Property实现相同材质不同参数
实现一个Unity Shader极坐标特效,以及使用Instanced Property实现不同物体使用相同材质球但分别设置参数的功能(提高渲染效率)。
2023-06-14 21:27:49 2032
原创 Unity制作360全景图
本来以为全景图很简单,把全景图纹理设置为“Cube”类型,弄个天空盒材质附上去,然后摄像机弄个角度旋转脚本,就完事了。。。但是,用天空和渲染全景图的话,没有办法缩放。。于是,还是得用球体啊。。用Blender建一个球,法线反转一下,就是让球里面的纹理是正面,然后摄像机摆到球中心,球的材质,shader选Unlit/Texture即可。
2023-05-07 20:20:11 1575 1
原创 Unity利用UGUI RawImage组件制作转场动画
Unity制作的360全景转场切换特效。最近接到了一个unity全景图的小项目,由于在不同的场景之间转场时直接转会太过生硬,因此要求有个转场的动画。
2023-04-29 11:40:16 1758
原创 Unity即时战略/塔防项目实战(一)——构造网格建造系统
Unity RTS游戏网格建造系统地形最终需要划分成一个一个的小方格,首先定义一下小方格:将地图分成m*n的小个子,用一个二维数组容纳这些格子,并对这些格子进行初始化:定义建造系统的一些API方便在其他地方使用: 和“开始建造”由于一次只能建造一个建筑,因此,当开始建造时,首先持有待建造的物体,用current来保存待建造的物体。然后就是建造检测逻辑:检测能否放置在当前位置的方法如下:当按下鼠标,确定在此处建造时:网格及范围指示的绘制因为地形是不平的,要在不平整的地面上完美的绘制网格和范围
2023-03-25 17:21:11 3741 4
原创 深入探讨Unity协程及其使用
协程在Unity中是个很重要的东东,相信很多人都使用过,它能够非常方便的进行异步等待操作,可以说,用好协程,可以使你的代码更加优雅,然而,如果用不好,代码就会有变成翔的可能,甚至已经变成了翔,你自己居然还不知道。那么,我们就来好好聊聊协程吧。
2023-02-21 16:47:37 973
原创 UDP+有穷自动状态机构造网络指令系统
指令前缀和后缀其实就是指令的分界符,用于标记一条指令的开始和结束,这类似与C语言中字符串的结束标记“\0”符号,再好比CSV文件中的“,”号,用来分割不同的列。上面例子中,我们分别用“[”和“]”来作为前缀和后缀。由此带来的第一个问题是,我们的指令的其他部分,就不能出现这两个字符了,包括指令体、运算符、还有参数部分,当然,要想解决这个问题也是可以的,那就再引入“转义符”这个概念,比如将连续两个相同的“]”符看做不是指令的结尾,而是本身的符号。为了简单起见,这里不予考虑。
2023-02-01 22:50:21 714 1
原创 Unity复刻骑砍中的帝国象棋(一)
这两天从一款游戏中发现了这么个棋类小游戏,觉得挺有意思,没错,就是下面这个:作为程序员的我,一下就想到复刻它一下。这个棋类小游戏,我并不知道它确切的名字,好像叫帝国象棋??好吧,这个不重要,重要的是我要实现它,顺便说一下,这个应该不会侵权吧,我可是真的只是为了学习,毕竟就算100%实现了,也不是以赚钱为目的的。规则描述虽然文字挺多,但是实际上很简单。
2022-12-01 00:06:32 803
原创 Unity 陶艺之路BUG修复专文
由于项目中间经历过了很多版本,导致上传的资源有一点小BUG。那就是UV的展开不太正确。在此,对所有购买了该资源的各位表示抱歉了。同时,感谢两位仁兄发现的该BUG,特发此文修复之。
2022-11-11 09:10:42 938
原创 Unity编辑器扩展——实现样条线编辑器
Unity编辑器扩展样条线编辑。一直以来有一个想法,想实现在unity中程序化摆放物体,比如,沿着公路自动摆放路灯,在一个范围内自动摆放建筑物,生成自动化城市场景等。于是,就开始了编辑器扩展的研究,遗憾的是,网络上虽然有很多的编辑器扩展方面的文章,但极少有在场景中实现样条线编辑方面的内容,只好自己研究啦,幸好,我记得`Cinemachine`中自带一个路径摄像机的功能,于是深入的研究了一下,发现完全可以拿来学习。
2022-11-02 20:23:04 2002 1
原创 Unity实现跨场景的传送门
之前写过一篇传送门的文章,但是无法跨场景传送。这篇文章实现了跨场景的传送门。主要利用了“不销毁”物体携带数据,实现跨场景数据传输,异步场景加载完成后再进行数据利用和销毁的方法。
2022-10-19 20:41:00 6292 2
原创 Unity 使用柏林噪声优雅的实现随机变形
当初,并不知道有柏林噪声这么个神奇的玩意,当我们的美监用他的PPT给我展示了这个效果的时候,一时我还真不知道怎么去实现,后来灵光一现,让美术给我了建了一个模型——一个不规则的球体,类似一个土豆一样的,然后,我让这个土豆不停的旋转,然后给他写了一个纯色的shader,最后用一个摄像机渲染它,就勉强得到了一张类似效果的图。当然这样的实现我自己也觉得不太优雅,但没办法,项目着急,管他优雅不优雅,总归是实现了。。
2022-10-17 17:20:35 1067 2
原创 Unity CommandBuffer实现毛玻璃特效
特效可以用于一般物体,也可以应用于UI。一直想在UI中实现这么个效果,现在终于实现了。其实,这大体的原理就是,在摄像机上加一个`CommandBuffer`,相当于在渲染过程中添加了额外的处理指令,就是,在渲染这个毛玻璃物体之前,先把已经渲染好的屏幕拿过来模糊一下,扭曲一下,然后以屏幕空间作为UV再贴到这个物体上。扭曲和模糊屏幕的Shader:
2022-10-02 15:35:17 1970 1
原创 Unity UGUI 绘制优雅的线段
有时候,我们需要在unity中绘制线段,最常规的做法就是使用组件了。但有时候我们用起来并不那么适合,比如,我们需要在UI层绘制线段时,当然通过一系列的坐标转换,可以完美的将呈现在UI层,但总归不是很方便。这时候我们就可以自己写一些东西了。......
2022-08-29 22:29:32 4486 1
原创 Unity Graph View打造图形化对话编辑系统(四)
Unity Graph View打造图形化对话编辑系统(四)——视图类DialogueTreeView这个应该算是核心了吧,处理节点的编辑。关键有这么几处:// 当视图内容改变时,比如用户建立了连线、删除了节点等等操作private GraphViewChange OnGraphViewChanged(GraphViewChange graphViewChange){ if (treeData != null) { if (graphViewChange.elementsToRemove
2022-03-15 21:14:43 4041
原创 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 2643
原创 Unity Graph View打造图形化对话编辑系统(一)
利用Unity Graph View打造图形化对话编辑系统,类似Shader Graph,让策划可以使用简单的节点连线来打造NPC对话系统。
2022-03-14 16:30:34 3846
原创 Unity更详细的函数执行顺序
public class GameLogic : MonoBehaviour{ [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] private static void BeforeSceneLoad() { Debug.Log("BeforeSceneLoad"); } [RuntimeInitializeOnLoadMethod(RuntimeIn
2021-12-07 19:17:22 3442 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 8502 7
原创 Unity实现一个简单易用的对象池
Unity实现简单易用的对象池原理当场景中需要频繁实例化一种对象时,由于实例化的过程会比较耗时,所以可以事先创建一堆对象,然后在需要时激活它。池子中,我们有两个列表,一个是正在被使用的对象,另一个是还没有被使用的对象,需要一个物体时,从正在使用的列表中取出一个物体,然后将它标记为“已被使用”,其实就是放到“已被使用的”列表中。当物体被使用完,归还物体到池中时,进行相反的操作。##源码public static class ObjectPool{ private class ObjectB
2021-04-02 15:26:32 210
原创 自己动手写一个基于UGUI的TreeView
自己动手写一个基于UGUI的TreeView前言最近搞的BIM工程中有个PDF图纸浏览的需求,然而需要一个TreeView来列出所有的PDF文档,网上搜了下,没大有很相中的插件,于是自己思考了一下,决定自己写一个。效果图哎,本来想截一个GIF动图的,但是截出来的图很大,10M+,CSDN上传图片限制是5M,没办法截动图了。原理介绍事实上,对于一个没有层级的ListView来讲,估计大家都会弄,就是把Prefab实例化一下,放进View的Content中完事了,Tree的难点在于可折叠、可展开
2021-03-26 12:45:53 907
原创 利用贴花制作能够100%贴合地面的选择框
利用贴花制作能够100%贴合地面的选择框效果图:网上有用Box制作的类似的选择框,但是用box做有个缺点,当地形不平时,就会穿帮。。于是用贴花来实现一下。原理其实很简单,如果你的渲染管线是Build-In,那么使用Projector组件来实现即可,如果是HDRP,那么使用Decal-Projector来实现,这两个都是自带的组件。但是如果用URP,没有自带的贴花,那就只能自己写个shader了。附带的工程中有代码。另外,判断是否框选了物体,只需需要调用Physics.OverlapBox来判断一下
2021-03-02 17:26:42 379
原创 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 216 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 5044 2
原创 Unity第一人称可视化传送门制作
引言游戏中很多地方用得到传送门,就跟哆啦A梦的任意门一样,从这边走进去,从那边走出来,用Unity实现一下它吧。先来个效果图,机器上没有按装gif截屏,所以不带动态,但图中的“能量波动花纹”是带动态的哦,请自行脑补。这里是另一个,传送门嘛,至少得两个。从一端走进去,就会从另一端走出来。效果还是可以的。下面介绍一下原理和制作方法:原理是这样的,用一个摄像机,观察传送门另一边的图像,然后渲染到本端传送门的平面上,这样,就能在本端门内看到远端的画面了。一、键shader用ShaderGraph
2021-01-01 23:36:03 3637 10
Unity运行时节点编辑器-互动电影案例
2024-07-20
Unity即时战略/塔防 网格建造系统
2023-12-06
Unity样条线编辑Demo源码
2023-02-08
Unity三体运行模拟体验源码
2023-02-08
Unity复刻骑砍中的帝国象棋(一)
2022-12-01
Unity GIF 播放插件
2022-04-13
Unity陶艺之路持久化版源码
2022-04-11
图形化节点对话编辑系统
2022-03-14
Unity Carousel轮播图像插件
2022-03-05
UIEffect.7z
2021-08-26
SuperColorPicker.unitypackage
2021-07-25
Unity陶艺制作模拟软件
2021-06-17
HeXuTreeView.unitypackage
2021-03-26
SelectorDemo.7z
2021-03-02
Unity传送门演示程序(可执行)
2021-01-01
Unity传送门工程源码
2021-01-01
UNITY自动追踪导弹源码
2021-01-01
Unity3D导弹自动追踪算法演示第二版
2019-04-05
unity小游戏四子连珠
2019-01-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人