自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

原创 Unity AssetsBundle打包

默认情况下,unity编译打包是对项目下的Assets文件夹全部内容进行压缩打包那么按照这个原理,你的Assets文件夹的大小将会影响到你最终打包出的安装包的大小,假如你现在正在制作一个游戏项目,最终打出来的安装包过大可能会对玩家下载造成一定影响,对一般玩家来讲,下载10M的游戏安装包远远比下载100M的游戏安装包要更容易接受,而AssetBundle可以将一部分资源打包到一个压缩包里面,游戏运行到需要的时候再进行下载这部分资源。

2024-04-26 22:36:32 1020 1

原创 Unity中Socket,Tcp,Udp网络连接协议总结

详细解释Socket通信,Tcp同步与异步通信,Udp同步与异步通信,单播和组播的功能

2024-04-18 22:34:29 735 1

原创 Unity 线程相关知识

在调用线程的时候,会先创建线程,然后再线程结束后销毁线程,如果频繁对线程进行创建和销毁会极大的损耗计算机的性能,所以在频繁创建逻辑简短的线程的时候,最好使用线程池线程的运行是不规律的,结果不可控的,可能会涉及到一个线程中使用一个值之前这个值被另一个线程改变了,从而导致出现未知错误,这种情况下就需要控制线程执行的顺序,规避问题。

2024-04-18 00:16:15 608

原创 Unity 扩展自定义编辑器窗口

在Assets文件夹路径下任意位置创建Editor文件夹,将扩展编辑器的代码放在Editor文件夹下。

2024-04-15 23:53:33 802

原创 GameNetController网络控制器

同时找一个继承MonoBehaviour的类添加一段Update来处理接收到的数据。好用的局域网内的网络控制器,稍作更改可连接互联网。

2023-12-01 15:07:12 72

原创 Unity完美的上色并检测完成度工具

Unity完美上色工具

2022-10-27 23:08:23 1167 1

原创 UnityShader 一个能透视到背景的shader

Shader"Timor/MaskShader"{ SubShader{ Tags{"Queue" = "Geometry-10"} Lighting off ZTest LEqual ZWrite On ColorMask 0 Pass{} }}

2022-02-24 19:36:32 391

原创 Unity完美的UI绘画工具

直接将代码放在RawImage上(不能放在Image上面)包含了撤销和清除功能,两个功能也可以联动需要注意revocations变量不能等于1或者0,否则会进入死循环using System;using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;using UnityEngine.UI;public class PaintingGraffiti : MonoBehaviou

2022-02-22 15:47:55 3591 10

原创 Unity在滚动视图下实现水平翻页

滚动视图的MovementType属性设置为Clamped,然后去除Inertia的勾选其中用到UnitManager代码在:Unity:利用UnitManager类实现一些复杂的功能(长期更新)_努力长头发的程序猿的博客-CSDN博客using System;using UnityEngine;using UnityEngine.UI;using UnityEngine.EventSystems;public class ScrollPage : MonoBehaviour , IPo

2022-01-19 17:55:52 3157

原创 Unity 屏幕中需要拖动的UI及其回调:MainDrag

using System;using UnityEngine;using UnityEngine.EventSystems;public class MainDrag : MonoBehaviour, IPointerDownHandler, IPointerUpHandler{ private bool isEnd; private bool isSelect; public bool closeDrag { get; set; } private Vector.

2021-12-09 19:06:16 187

原创 Untiy GetTag 赋予物体额外的可读取的属性

给物体挂在可以以字典格式读取的额外属性using System;using System.Collections.Generic;using System.Linq;using UnityEngine;public class GetTag : MonoBehaviour{ [Serializable] public struct MainTag { public string key; public string value;

2021-11-11 15:24:32 184

原创 Unity 赛车控制器

脚本挂载在车子上车子需要具有Rigidbody2D组件其中子物体:wheelFront:车子前轮,有CircleCollider,WheelJoint2D和Rigidbody2D组件wheelBack:车子后轮,有CircleCollider,WheelJoint2D和Rigidbody2D组件wheelFrontTrigger车子前轮下方的检测器,需要勾选Trigger的BoxCollider和属性为Kinematic的Rigidbody2D组件,以及一个简单的GetWheelTrigge

2021-11-03 14:30:40 2253

原创 Unity2d相机跟随效果

脚本挂在相机上,Target设置为跟随的物体using UnityEngine;public class HomeCamera : MonoBehaviour{ private void FixedUpdate() { if (this.targetTrans != null) { float num = Vector2.Distance(transform.position, this.targetTrans.positi

2021-11-01 17:57:42 177

原创 Unity:切换场景过度

创建一个Canvas挂载以下代码,代码下有一个带射线碰撞的透明Image名字叫"stopSelectAll"和一个不带射线碰撞的加载页面图片的Image名字叫"mage"using System;using DG.Tweening;using UnityEngine;using UnityEngine.SceneManagement;using UnityEngine.UI;public class SceneChangeManager : MonoBehaviour{ priv

2021-04-07 15:50:06 1074

转载 C#获取当前时间的各种返回格式(常用的)

此乃转载文章,原链接:https://blog.csdn.net/q393364227/article/details/53783631在开发项目中碰到的需要的格式,下面总结一些常用的格式1.//获取日期+时间(2016-12-21 13:20:10)(sql server 的 datetime时间格式)DateTime.Now.ToString();DateTime.Now.ToLocalTime().ToString();2.//获取日期(2016年12月21日 or 2016-12-2

2021-03-25 16:28:22 1402

原创 Unity2d:通过单双指移动放大图片

和移动相机比较类似,更改的值换为了image的RectTransformusing System.Collections;using System.Collections.Generic;using UnityEngine;public class ShowMove : MonoBehaviour{ private RectTransform rect; public float scale; private Vector3 lastclickpos, lastmap

2021-03-25 10:04:57 1163 5

原创 Unity通过菜单实现批量修改文件名称

using UnityEngine;using UnityEditor;using System.IO;using LitJson;public class MenuEditor : MonoBehaviour{ [MenuItem("菜单/批量更换文件名")] public static void Temporary() { string path = @"直接从我的电脑复制路径地址"; path = path + @"\"; .

2021-02-25 11:12:20 988

原创 Unity按键方法管理系统

管理手机返回键功能的系统,在跳转页面的时候注册返回事件为关关闭自身,自身关闭或回调生效时注销事件,还包括左右滑动事件using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public class GetMobileKeyManager : MonoBehaviour{ private float clickTime; public stati

2021-02-10 11:53:46 448

原创 Unity EventSystemManager 简易事件管理系统

简单的时间管理系统,根据名字注册和调用时间,也可以根据名字删除using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public class EventSystemManager{ private static EventSystemManager main; private OnDesEvent desEvent; public s

2021-02-10 11:45:56 646

原创 Untiy:使用GameTeach来为游戏添加新手教程

在Canvas上挂载脚本,把Canvas设定在最高层,在Canvas中根据顺序创建多个子物体当作每一步显示切换的提示框,在不同的提示框下创建名为btn的Button作为传递的点击事件,然后脚本中的Canvas公开拖拽此场景中其他需要传递点击事件的Canvas,auidoLenge为声音的个数,教程没有声音就赋值0using System;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public

2020-11-20 17:40:44 169

原创 Unity:使用AppBuyManager来进行付费购买以及如何使用Firebase

谷歌app内购代码using System.Collections.Generic;using UnityEngine;using UnityEngine.Purchasing;public class AppBuyManager : MonoBehaviour, IStoreListener{ private static AppBuyManager main; public static AppBuyManager Main { get { r.

2020-11-20 16:48:17 694

原创 Unity2d:根据手指拖动和拉伸移动位置或改变大小

适用于2d相机的拖动移动和缩放拉伸,其中有位置和大小的最大最小限制文中用到的GameManager在这篇文章:https://blog.csdn.net/qq_39332021/article/details/106625199using System.Collections;using System.Collections.Generic;using UnityEngine;public class MapMove : MonoBehaviour{ private Camera

2020-10-29 17:21:10 833

原创 Unity:利用UnitManager类实现一些复杂的功能(长期更新)

UnitManager类为Unity单例类,需要在一开始加载到场景中,里面有5个公开的方法Wait(float time, Action action):等待参数一的时间后执行参数二的回调Wait(Action action):在下一帧执行参数一的回调Domove(RectTransform rect, Vector3 movepos, float time) 类似与DoTween中对于UI的移动,但是Dotween的DolocalMove无法适配UI布局的问题,这个功能解决了那个问题

2020-08-21 17:25:12 730 1

原创 Unity:使用TextureManager在安卓读取本地图片或截屏存入本地

首先介绍下Application.persistentDataPath,这个是返回Andrio客户端专门为APP保存素材的文件夹,在PC会保存到C盘文件夹下,PC可以使用Application.dataPath保存到根目录C#单例类,不需要挂载到场景,一共有三个方法Texture ReadTexture(string path) 读取素材文件夹下的参数一的图片文件转换成Texture类型返回值(RawImage使用)PrintCameraAndSave(Camera camera,stri

2020-08-21 17:11:26 1030

原创 Unity:通过JsonManager类将Excel文件解析为字符串二维数组(适用于安卓和PC)

上一篇文章讲了如何用ExcelManager解析Excel文件,本篇需要与上一篇链接内容结合使用,链接https://blog.csdn.net/qq_39332021/article/details/108150209ExcelManager解析数据在PC上可以用,但是安卓上时行不通的,所以需要吧Excel转换成Json文件在对Json文件进行读取操作首先是利用继承了UnityEditor类的JosnEditor类生成菜单,然后在Assets目录下创建Resources文件夹里面创建Json.

2020-08-21 16:54:47 429 1

原创 Unity:通过ExcelManager类将Excel中的内容解析为字符串二维数组(适用于Windows)

C#单例类,通过第一个方法读取根目录下Excel文件夹下名为参数一的文件,读取完毕后执行传入的回调函数,读取Excel表的方式只适用于Windows也就是PC不适用与安卓,想要导出安卓并解析Excel数据的请参考:下一篇文章using System;using UnityEngine;using System.IO;using OfficeOpenXml;public class ExcelManager{ private static ExcelManager main; .

2020-08-21 16:39:15 313 1

原创 Unity:实现手游中的根据时间获得体力

首先是用来保存体力数据的GameManager类,里面定义包含数据的变量,直接访问或修改这些变量就能实现想要的功能Vim:现在拥有的体力值 (会改变,不需要初始值)vimmax:拥有体力的上限是多少 (不会改变,需要初始值)addvimtime:还剩多长时间获得下一次体力 (会改变,不需要初始值)addvimwaittime:每隔多长时间获得一次体力 (不会改变,需要初始值)timeunit:本地记录的上一次的时间数据 (会改变,不需要初始值)

2020-08-21 16:29:59 1263

原创 Unity:求好评控制器

using System;using System.Runtime.InteropServices;using UnityEngine;public class AndroidClick : AndroidJavaProxy{ private Action<int> action; public AndroidClick(Action<int> action) : base("com.cwgtech.unity.MyPlugin$AlertViewCal.

2020-07-24 16:15:31 120

原创 Unity:使用AudioManager控制场景当中各种声音的播放

导入项目挂在物体上,用法在最后using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public enum AudioMode{ now, always, loop}public class AudioManager : MonoBehaviour{ private List<AudioSource> audio.

2020-07-24 16:12:57 1828

原创 Unity 使用AdsManager控制各种广告

设置完Google广告之后导入项目调用方式:AdsManager.Main.ShowBanner(); //显示横屏广告AdsManager.Main.ShowInterstitial(); //显示插屏广告using System;using System.Collections;using System.Collections.Generic;using UnityEngine;using GoogleMobileAds.Api;public class AdsMan...

2020-07-24 16:06:11 407

原创 Unity APP添加广告

导入GoogleMobileAds资源包using GoogleMobileAds.Api;代码引用GoogleMobileAds包private BannerView bannerView;保存屏幕边缘广告的变量private InterstitialAd interstitial;保存游戏过程中出现的插屏广告的变量private RewardBasedVideoAd rewardBasedVideo;保存激励视频广告的变量bannerView = new .

2020-06-29 16:57:09 780

原创 Unity 手机App内购

添加引用using UnityEngine.Purchasing;通过代码继承IStoreListener接口实现接口功能完成App内购功能private static IStoreController m_StoreController;定义商品信息变量,这个变量控制购买商品储存着商品信息以及作为后面方法的参数传递private static IExtensionProvider m_StoreExtensionProvider;定义商品信息扩展变量,这个变量里储存着各个

2020-06-29 11:27:38 1188

原创 为Unity用手机操作UGUI制作一套操作方法

市面上最常见的就是EasyTouch,不过现在下不到了而且也没学会,所以自己研究出来一套方式来应对手机端操作UGUI,应该和EasyTouch类似(没怎么用过EasyTouch)实现了点击事件,拖拽功能,松开事件,放在固定点的事件,四个最常用的功能应用这篇文章里的内容用上了前面获取手机端操作的代码:https://blog.csdn.net/qq_39332021/article/details/106625199首先是大脚本TakeEventusing System;using Sys

2020-06-08 18:26:10 494

原创 Unity学习笔记:在GameManager里记录手游操作框架

Unity的UGUI有自带的缩放功能,但是用了这个功能之后,想要获取鼠

2020-06-08 17:57:00 1994

原创 Unity平台游戏二段跳

using System.Collections;using System.Collections.Generic;using UnityEngine;public class DoubleJump : MonoBehaviour{ private Vector2 nextmove; private Rigidbody2D r2; private int canjump = 2; // Start is called before the first fram.

2020-05-11 15:21:17 316

原创 Unity学习笔记:利用集合委托完成步骤流程执行

适用于有严格步骤流程规定,任何带有第一步第二步的情况,例如新手教学。using System.Collections;using System.Collections.Generic;using UnityEngine;delegate bool Listen();delegate void Doing();public class Talker : MonoBehavio...

2020-05-06 17:05:47 306

原创 Unity学习笔记:ScreenAudoChange UGUI分辨率自适应

将画布Canvas的UIScaleMode属性调成ScaleWithScreenSize,然后再Canvas上挂上以下代码using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class ScreenAudoChange : Mo...

2020-05-06 15:02:25 355 2

原创 我自己对设计模式的理解

单例模式:用可以在第一次访问的时候创建之后访问为第一次创建出来的的静态变量保存自己的非静态类。原型模式:在VS中多用于用clone()浅克隆Object对象,Unity中GameObject.Instantiate();方法创建场景物体克隆或预设物都属于原型模式。工厂方法:创建不同属性的同种种类的物品时调用一个类中的方法,根据参数不同得到不同属性的装备的方式就属于工厂方法。...

2020-04-30 17:14:44 158

原创 Unity学习笔记:DoTween插件的应用

在Asset Store 中 搜索DoTween并下载代码调用前先引入命名空间:using DG.Tweening;代码应用:通用方法:DOTween.PlayAll();让所有暂停的DoTween动画播放DOTween.RestartAll();让所有DoTween动画重置.SetAutoKill(false)加在DoTween方法后面,让这个动...

2020-04-30 17:12:10 1628

原创 Unity学习笔记:自制的简单对象池

自己做游戏的时候临时遇到需要对象池的情况,简单的做了一个,利用了名字后面加编号的功能,无法适应对象创建出来需要改名字的场景public class Main{public GameObject GameObjectInstance(GameObject instance){ for (int i = 0; i < objs.Count; i++) {...

2020-04-21 15:51:48 113

空空如也

空空如也

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

TA关注的人

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