- 博客(69)
- 资源 (38)
- 收藏
- 关注
原创 Unity设计模式之工厂模式
工厂是一种创建型设计模式。通俗来讲就是提供一种封装对象创建的方式,将对象的创建和使用区分开。就是Unity里面通常用到的创建和管理对象。
2024-05-15 16:25:34
721
原创 Unity设计模式之单例模式
1、在不用重复创建类的情况下提供唯一全局访问。2、在需要频繁使用的对象上使用单例模式可以减少内存开销。3、不需要手动创建和销毁单例对象,只需要引用即可。
2024-05-14 16:30:13
447
原创 Unity Editor编辑器扩展之创建脚本
既然你看到这篇文章了,你是否也有需要使用代码创建脚本的需求?使用编辑器扩展工具根据不同的表格或者新增的内容去创建你想要的脚本。如果不使用工具,那么你只能不断去修改某个脚本,这项工作既繁琐也浪费时间。这个时候作为程序员的我们就要自己写一个工具节省时间了,那么恰好unity editor可以帮助我们实现这个工具,接下来往下看👇。
2024-04-19 10:58:36
1257
原创 Unity 计时任务管理器TimeHandle
项目体量过大时,在很多脚本用到了携程计时或者写在update里面,不方便管理和代码阅读,很容易混淆,所以需要一个计时任务管理器来统一控制计时器模块,便于修改、管理。计时器有很多种写法,我这里写的是适用于我当前做的项目,并不适用于所有项目,写在这里只是起记录作用,有相同需求的可以作为参考。计时器归根结底底层逻辑还是用携程或者update,但是怎么样写才能更方便统一管理呢?
2024-04-19 10:28:49
527
原创 Unity MySql安装部署与Unity连接 下篇
上篇讲到了如何安装与部署本地MySql;本篇主要讲Unity与MySql连接、创建表、删除表,然后就是对表中数据的增、删、改、查等操作。再讲这些之前会说一些安装MySql碰到的一些问题和Unity连接的问题。
2024-04-11 14:39:22
1519
原创 Unity MySql安装部署与Unity连接 上篇
最近项目用到MySql,记录一下安装部署过程。数据量过大或者需要管理用户数据的时候用mysql的话数据结构比较清晰明了,便于管理。
2024-04-08 14:39:07
1280
原创 Unity AssetBundle批量打包、加载(场景、Prefab)完整流程
LZ4压缩是LZMA和不压缩之间的折中方案,构建的 AssetBundle 资源文件会略大于 LZMA 压缩,但是在加载资源时不需要将所有的资源都加载下来,所以速度会比 LZMA 快。该方法需要传入一个bool类型的参数,如果传入的是true,则会卸载AssetBundle本身及从AssetBundle加载的全部资源。如果传入的是false,则会保留已经加载的资源。一般ToB的小项目会有一些资源迭代的需求,所以场景资源单独放到文件夹中管理,每次有新的迭代时,只对最新版本中的场景资源进行增量打包。
2023-11-02 16:20:55
5949
原创 Unity OnGUI调试工具
在产品开发过程中调试数据是必不可少的过程之一,那么涉及到频繁的设置数据、运行unity等一系列繁琐的操作,有没有更好的办法呢?答案是肯定有更好的办法。这里我所用到的是unity自带的OnGUI相关的工具可以实时的更改数据调试。
2023-10-23 17:41:23
425
原创 批处理执行git命令pull、push操作
执行完成的结束语句。git bash here执行完成后不会自动关闭。在对应的文件下打开git bash here。打开git bash后需要执行的命令。
2023-08-04 17:50:10
429
原创 Unity HybridCLR 热更工具学习日记(二)
创建一个程序集用来进行热更,在Assets下面创建一个Hot文件夹,在创建一个Assembly Definition命名为Hot(命名是个人习惯)然后编译成热更需要的dll文件,HybridCLR - CompileDll - Win64(测试使用的PC平台)然后将这个程序集加入到热更设置中HybridCLR - Settings。然后创建一个UI场景,写一个测试脚本,挂载到场景中。
2023-05-17 17:00:00
300
原创 Unity HybridCLR 热更工具学习日记(一)
复制包的http地址,打开unity - window - package Manager;点击左上角的 + 选择Add Package form git URL,将刚才复制的地址粘贴进去,点击Add;点击File - Build Setting - Player Setting - Player - Other Setting。Api Compatibility Level 改为 .NET Framework。然后点击Installer - 安装,如果是安装状态显示已安装,证明安装成功。
2023-05-16 16:27:50
837
原创 Unity 编辑器扩展之Attribute特性实现脚本面板控制
很多时候我们写一些公共工具或者通用脚本时,需要跟Unity组件一样实现某些功能,例如Button组件上的Transition选择之后会变化出相对应的模块。那么这个功能怎么实现呢?其实Unity提供了这种功能实现的方法,那就是Attribute标签,标记特性类。想具体知道是怎么实现的可以看下官方文档或者一些关于Attribute的博客。
2023-03-29 14:54:23
342
原创 Unity List判断是否存在符合条件的元素对象
C# 中list判断是否有符合条件的对象,可以不用for循环或者foreach,使用自带Api List.Exists。
2022-12-09 14:13:56
1094
转载 C# 检测当前网络状态
[DllImport("wininet.dll")] private extern static bool InternetGetConnectedState(out int connectionDescription, int reservedValue); /// <summary> /// 检测网络是否连接 /// </summary> /// <returns></returns> publi...
2021-12-30 10:23:13
1005
原创 Unity UGUI.Text超出文本框范围用省略号显示
/// <summary> /// 文本超出部分省略号 /// </summary> /// <param name="textTemp">目标文本框</param> /// <param name="value">文本</param> private void SetTextWithEllipsis(Text textTemp, stri...
2021-12-20 14:37:28
3836
1
原创 Text文本框根据文字大小、数量自适应缩放
1、先设置text相关参数2、写代码控制text和image背景的宽高;需要换行的自行在代码中控制。 private void AdjustDialogBoxSize() { if (messageText.preferredWidth > maxFrameWidth) { messageText.rectTransform.sizeDelta = new Vector2(maxFrameWidth, messageText
2021-04-28 11:01:55
880
原创 地球经纬度转换为unity球面坐标
项目需求:通过服务器发送的现实中地球某地的经纬度信息在unity地球模型上生成对应的模型及模型的精确位置。实现原理就是将谷歌地球经纬度展开为平面坐标,然后将平面坐标转换为三维坐标。上代码: /// <summary> /// 经纬度转球面坐标 /// </summary> /// <param name="log">经度值</param> /// <param name="lat">纬度值<
2021-03-03 10:11:55
3101
4
转载 Unity A*算法实现
原文地址:blog.liujunliang.com.cn简易地图如图所示简易地图,其中绿色方块的是起点(用A表示),中间蓝色的是障碍物,红色的方块(用B表示)是目的地.为了可以用一个二维数组来表示地图,我们将地图划分成一个个的小方块.二维数组在游戏中的应用是很多的,比如贪吃蛇和俄罗斯方块基本原理就是移动方块而已.而大型游戏的地图,则是将各种"地貌"铺在这样的小方块上.寻路步骤1.从起点A开始,把它作为待处理的方格存入一个"开启列表"...
2021-01-07 15:00:53
313
原创 unity 贝塞尔曲线实例化应用
项目中常常会用到画曲线的功能,不管是Gizmos.DarwLine还是Debug.DarwLine都满足不了打包之后在exe中显示。虽然Linerenderer可以画,但是自己一点点的填写坐标非常麻烦。所以这里将用到贝塞尔曲线公式计算生成一条曲线以及生成一条曲线在Linerenderer中所需要多少个点位。这里有篇博客将贝塞尔曲线的原理和推导公式都讲解的非常清楚,有兴趣可以了解下:https://blog.youkuaiyun.com/cfan927/article/details/104649623/我这
2020-12-29 17:43:08
402
1
原创 unity 跑马灯效果
Shader "Unlit/LT_Arrow"{ Properties { _MainTex ("Texture", 2D) = "white" {} _MSpeed("MoveSpeed", Range(1, 3)) = 2 //移动速度 } SubShader { //贴图带透明通道 ,半透明效果设置如下: tags{"Queue" = "Transparent" "RenderType"...
2020-12-04 11:11:23
1175
原创 unity 鼠标控制相机旋转、缩放
using System.Collections;using System.Collections.Generic;using UnityEngine;/// <summary>/// 鼠标控制相机旋转、缩放/// </summary>public class CameraMove : MonoBehaviour{ enum RotationAxes { MouseXAndY, MouseX, Mous.
2020-12-03 14:37:27
672
原创 Unity物体爆炸插件
unity物体爆炸成碎片插件,导入unitypackage包,Exploder--->Demos - safe to delete下面有三个demo,很容易看懂。下载地址:https://download.youkuaiyun.com/download/ThreePointsHeat/13192500
2020-11-26 15:04:21
565
原创 Unity数字地球
数字地球制作,包含宇宙天空盒、太阳效果、地球自转、大气层空气流动效果、放大可看到地形等等。下载地址:https://download.youkuaiyun.com/download/ThreePointsHeat/13116702
2020-11-16 10:29:46
1877
2
原创 unity动态加载FBX模型
导入下载官方Trilib包,导入到unity中。(文末附下载链接)官方包中提供了三个接口分别是AssetLoader:用于加载资源。ErrorDialog:用于显示加载错误信息。FileLoader:用于加载界面。将模型导入之后就新建一个脚本用于动态加载FBX模型:运行结果:Trilib下载链接:https://download.youkuaiyun.com/download/ThreePointsHeat/12980629...
2020-10-20 13:39:22
7411
5
原创 Unity文字转语音
仅限于PC端,如果是webgl需要接入讯飞语音SDK。插件链接:调用:using System.Collections;using System.Collections.Generic;using UnityEngine;using SpeechLib;using UnityEngine.UI;public class Test : MonoBehaviour{ public InputField input; public Button button;
2020-10-08 17:10:40
1563
原创 unity武侠场景资源
包含各个任务模型和场景模型、武器模型;还有很多天空盒资源等等。下载地址:https://download.youkuaiyun.com/download/ThreePointsHeat/12895253
2020-09-28 16:52:31
747
原创 Unity打包PC端强制全屏
unity打包PC端强制全屏,并且可以将程序强制置顶到最上层,不会被其他程序覆盖。插件地址:将插件导进去,把Prefabs里的WindowMod预制物放到场景中即可,可以在脚本上选择需要的窗口设置。...
2020-09-25 13:33:39
2220
原创 unity读取excel表格数据
unity读取excel表格需要引用excel.dll文件,下载地址:https://download.youkuaiyun.com/download/ThreePointsHeat/12859664打包的时候需要把unity安装包里的解析中文字符串的dll文件也放在Plugins中:代码如下: /// <summary> /// 读取xlsx表数据 /// </summary> /// <returns></returns>
2020-09-18 17:02:53
1294
原创 unity动态加载外部文件夹中所有图片
一般项目中需要替换一些UI的图片时,每次都要打开源工程修改很麻烦,就想了一个动态加载外部图片资源替换打包好的exe或者webgl应用中图片的方法: /// <summary> /// 加载StreamingAssets下所有的Textures /// </summary> private void LoadTexture() { List<string> filePaths = new List<strin
2020-09-18 16:53:26
1857
2
原创 unity简单的背包制作
背包系统基本功能:添加物品、删除物品、拖拽物品、交换物品位置、排列物品等等。首先在unity将背包的UI界面制作完成,如图:Text是用来显示当前格子物品的数量。然后将需要生成的物品UI制作成预制物,如图所示:接下来上代码1、添加物品添加物品的时候需要注意的是(1)当前格子是否为空(2)当前格子是否有跟需要添加相同的物体(3)格子为空的时候需要按照空格子的顺序添加物体(4)当前格子有需要添加的物体时,只需要数量++ /// <summary>..
2020-09-11 18:08:01
5210
1
原创 unity调用windows系统窗口打开文件
项目中需要用到这个功能,选择MP4视频文件进行上传,在看了多个博主的帖之后,修改成自己所需要的,下面直接贴代码。数据接收类:using System;using System.Runtime.InteropServices;[StructLayout(LayoutKind.Sequential,CharSet = CharSet.Auto)]public class OpenFileName{ public int structSize = 0; public IntPt
2020-09-10 17:53:30
1273
2
InstanceTools v5.5.9.zip
2020-09-30
FullscreenWindow.unitypackage
2020-09-25
unifbx.zip
2020-09-21
SocketTCP.zip
2020-08-26
UnityRecord.zip
2020-08-05
Volumetric+Fog+Mist+10.0.unitypackage
2020-05-08
UGUI分层UI框架源码
2022-07-12
dll文件反编译.rar
2021-01-27
AStarAI.rar
2021-01-07
unity选色板.rar
2020-12-03
textASaudio.unitypackage
2020-10-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人