自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

XM肖牧

你好世界

原创 Unity3D相关知识点笔记汇总

这篇文章将作为一些平时的小知识点笔记来记录,如果有错误望指出来,也欢迎大家在评论底下分享你们的笔记。 1.检测点击或者触摸到UI。 public static bool CheckClickUI() { bool isClickUI = false; ...

2018-09-19 17:02:09 1956 3

原创 Unity2017新功能Tilemap地图编辑器的数据拓展和动态生成

在我来4399之前的上一家公司,我做了一个2D的对战游戏,地图编辑器的做法是用格子图片的预设一个个拼接成一张地图,每个格子上可以设置该格子的数据,比如图片名字,tile坐标,是否可通过,是否可销毁,是否是陷阱等等,具体做法就是把所有图片的预设都编一个id,然后在当前tile上填上对应的id,最后保...

2018-05-21 15:59:26 12767 20

原创 Unity VideoPlayer视频播放器

挺久没有写博客了,这是2020年的第一篇博客,先说说写这篇博客的原因吧。 去年下半年负责一个新项目,项目里面有需要播放大量视频的需求,由于Demo时间比较紧急就没有下功夫去做这块。 问题1:改变视频进度时进度条出现回滚。 问题2:改变视频进度时出现音画不一致问题,音频较视频有延迟。 问题3...

2020-01-21 20:24:44 533 0

原创 Unity2018引用System.Windows.Forms.dll发布报错

Unity 2018发布到PC平台,要用到打开选择文件界面,需要引入System.Windows.Forms.dll 打开Visual Studio,选择菜单栏“项目>添加引用”,找到Unity的安装路径,选择\Editor\Data\Mono\lib\mono\2.0\System.Wi...

2019-10-14 17:16:52 550 0

原创 AES加解密

using System; using System.Security.Cryptography; using System.Text; using UnityEngine; public class Test : MonoBehaviour { void Start() { ...

2019-10-10 17:56:18 67 0

原创 Unity UGUI同时支持点击和拖拽的组件

今天整理需求,有一些UI拖拽的功能,之前看到项目是用Rect.Contains()来判断UI的区域,但是这个方法需要根据分辨率处理。 我看到很多文章写得都有点复杂了,各种计算各种转换,我的脚本非常简单,同事支持点击和拖拽,希望可以帮到需要的小伙伴。 using System; using...

2019-09-24 10:50:20 402 0

原创 Unity GUI图片渐变过渡添加抖动算法降低白条分层

由于之前的项目背景运用了大量的渐变过渡效果的大图,使用RGB16压缩格式表现效果很差,特别是渐变过渡的地方出现了很多条纹,最后使用了RGB32的压缩格式,浪费大量内存。 TexturePacker Pro里面有个给图片添加抖动的算法FloydSteinberg,表现效果还不错,虽然噪点有点多,但...

2019-04-29 16:14:44 360 0

原创 Excel表格转Json和CSharp导表工具

Excel2Json是一款帮助游戏开发人员使用Excel表格来导出数据和数据结构的工具。 主要功能 支持读取 .xlsx格式的Excel表格; 支持Excel表格多Sheet结构; 直接预览Excel目录,双击可以直接打开Excel表格; 在线预览Json; 在线预览CSharp...

2019-04-23 17:38:05 864 0

原创 Unity3D游戏框架之dll反编译和混淆

随着Visual Studio 2019正式版的发布,加上Unity2018.3.x版本的更新迭代,我又有了尝新的欲望了,哈哈哈! 借着这个契机,我有了重新整理框架的想法了,就是把框架编译成动态链接库dll,并且我把电脑系统还原了,所有的环境都将是最新的。 安装所有最新的环境 Visua...

2019-04-17 02:29:18 983 1

原创 Unity3D UGUI Toggle的onValueChanged拦截拓展

Toggle真的是让人又爱又恨,它既有和ToggleGroup组合搭配的方便,又有一些不可控的情况,我就在项目中遇到了一个棘手的问题。 我们常常用到Toggle的onValueChanged改变事件,它很方便,即可改变自己状态,又可以通知同一个分组内的Toggle改变对应的状态,但是有时候我们需...

2019-04-11 11:50:38 1316 0

原创 Unity性能优化之对象池管理器PoolManager

简介 什么是对象池?顾名思义,就是存放实例对象的池子,即缓冲区。一般对象池在初始化时会包含着若干个实例对象,当我们需要时便从池子里取出来,当不需要时便放回对象池里面。使用对象池不需要频繁的产生和销毁实例对象,当对象池中的实例对象不够用时才会继续产生实例对象,这大大的节省了性能。所以在很多频繁使用...

2019-04-09 15:40:09 908 0

原创 Unity2018新功能之Packages介绍

博主怀着激动的心情更新了一下Unity2018.2.0版本,听说这个版本很牛逼,更新了很多新的功能。 安装完后,打开Unity首先发现和之前版本有所不同的是,Project窗口多了一个Packages的目录,里面有好几个熟悉的名字,像ads,TextMesh。我一开始表示不懂为什么会有个东西:这...

2019-04-02 09:33:29 18028 0

原创 Unity2018新功能之Tiny Mode介绍

目录 介绍 安装 使用 创建实体组 创建实体 创建自定义组件 创建预设 项目资源的生成报告 和常规的Unity开发模式的差别 脚本 介绍 Unity 2018.3.0发布之后我便迫不及待的体验了一把Tiny Mode。那什么是Tiny Mode呢? Unity的Tiny ...

2018-12-15 23:30:45 8897 4

原创 优质代码编程

这篇文章是 夏桑老中医(巨人网络的帧同步大佬) 整理分享给我的,我觉得有必要分享一下,都是经验,大学的课本根本没有的。   1. 保持松散耦合 1.1 耦合度 表示类与类之间或者子程序与子程序之间的紧密程度。 1.2 松散耦合设计 创建出小的,直接的,清晰的类或者子程序,使它们与其他类...

2018-11-23 11:59:18 640 1

原创 Unity3D游戏框架之概述

概述 自己做了有一段时间的游戏开发了,也总结和积累出自己的一套游戏通用基础框架。 金钱不是万能的,但没有框架是万万不能的!所谓经济基础决定上层建筑,打好基础就能轻松造轮子,而基础就是框架,框架就是基础。 管理器中心 游戏管理器 事件管理器 资源管理器 对象池管理器 网络管理器 场...

2018-09-26 10:05:28 5768 4

原创 Unity2018新功能之Entity Component System(ECS)二

在上一篇文章里,我们简单的介绍了ECS的概念和Entities的使用方法,我将在这篇文章中继续深入讲解ECS的框架。 Unity2018新功能之Entity Component System(ECS)一 首先我们先来看下面这一张图。这是我通过ECS框架创建出来的5万个Cube,FPS基本稳定在...

2018-09-21 18:13:21 5718 6

原创 Unity2018新功能之Entity Component System(ECS)一

Entities介绍 Entities是Unity2018新引入的一个全新游戏设计框架,我们称之为实体组件系统(Entity Component System,简称ECS),它的出现使我们能够集中精力解决实际问题:构成游戏的数据和行为。它利用了C# Job System和Burst,使我们能够充...

2018-08-30 14:21:32 9486 2

原创 Unity2018新功能之2D Pixel Perfect 2D完美像素

2D Pixel Perfect介绍 2D Pixel Perfect(2D完美像素),包含一个Pixel Perfect Camera(完美像素相机),可以确保像素图片在不同的分辨率下都能保持清晰的像素效果。 2D Pixel Perfect的安装 点击菜单Window > ...

2018-07-25 20:23:43 8550 4

原创 Unity2018新功能之2D Animation2D动画

新版本中引入不少2D的新功能,我们打开资源包管理器,可以看到2D Animation,2D IK,2D Pixel Perfect,2D SpriteShape等等。 我们先来讲讲2D Animation的功能。 2D Animation的安装 点击菜单Window > Pac...

2018-07-21 15:21:49 16958 4

原创 Unity2018新功能之Preset预设

Preset(预设) 我们都知道,Unity里面的预设叫Prefab,它保存了一个对象所有的属性,包括所有子对象的属性。新版本中添加了一个叫做Preset的预设,Preset保存了该属性的信息,包括Component,Asset Importer和Scriptable objects。 创...

2018-07-20 17:37:53 4165 0

原创 Unity3D UGUI Button同时监听点击事件和长按事件

有些游戏都会有这样一个需求,比如一个按钮点击可以进行攻击,长按又可以释放技能的需求。我们做一个类似Button的组件,只需要挂载到相应的按钮上面,即可像Button一样注册长按事件。1.我们新建一个脚本RepeatButton,继承接口IPointerDownHandler, IPointerUp...

2018-06-28 16:25:50 2749 0

原创 Unity3D简单的帧同步方案

公司的游戏准备上线了,我呢也在准备新项目,这几天看了一下策划文档,写了整体流程和需求接口的代码,终于有一点点时间来写自己的博客了。今天我们就来讲讲帧同步吧。...

2018-06-04 11:05:44 3911 0

原创 Unity3D基于事件机制的消息系统

又到了周末时间,今天没有去公司赚加班费,在家里好好休息一下?不存在的,这辈子不写代码是不存在的!今天我们来讲讲消息系统。很多刚入行的小白同学在处理类与类之间的关系时,总是比较简单除暴的处理,直接把那个类引用到这个类,把这个类引用到那个类,最后造成很多类相互引用,形成一个复杂的蜘蛛网式的引用关系,这...

2018-05-26 22:37:05 5958 3

原创 Unity3D简单的UI系统

Unity3d的ugui如果用得不好,非常的影响性能,可能很多人都不知道,其实ugui是基于网格模型渲染的,一个ugui组件就是一个Mesh,ui组件的Material为空,其实他是用了默认的Material,我们在运行游戏的时候Canvas回把所有ui的Mesh合并成一个大的ShareMesh,...

2018-05-24 21:47:52 6131 0

原创 Unity3D用状态机制作角色控制系统

为了让读者对本文知识点有一个比较清晰的了解,我制作了一张图结构图,如下图,图中以移动为例子简单的描述了状态机的基本结构,本文不对角色控制系统做全面的讲解,只对状态机的在角色控制系统中是如何运用的。1.我们先从Actor讲起。Actor作为角色脚本的基类,承载着角色的基本属性,包括角色id,移动速度...

2018-05-24 11:42:41 9950 0

原创 设置JDK和SDK的环境变量

===================================JDK=======================================1.系统变量→新建 JAVA_HOME 变量 。变量值填写jdk的安装目录(本人是 E:\Java\jdk1.7.0)2.系统变量→寻找 Pat...

2018-05-24 10:16:36 1235 0

原创 UGUI获取Text文本的绘制长度

/// <summary> /// 获取文本的绘制长度,不同于text的rectTransform.sizeDelta /// </summary> /// <param name...

2018-05-24 09:58:09 1983 0

原创 Unity3D开发中操作SVN

using UnityEditor; using UnityEngine; public class SVNExpand : Editor { /// <summary> /// 项目资源地址 /// </summary&...

2018-05-23 17:03:06 389 0

原创 Unity3D打印拓展XMDebug

unity3d自带的Debug用起来是在是恶心,打印多个变量需要用“+”来连接,还要用空格来区分隔开,简直恶心到不要不要的。我自己写个Debug的拓展,方便代码打印。1.自定义打印颜色;2.可变参数;3.全局控制打印输出。// ***********************************...

2018-05-21 16:38:16 211 1

原创 Unity3D创建C#自定义模板快速实现基类接口

根据模板类,我们可以快速的创建一些我们想要的脚本内容,比如我们有接口要在子类上实现,就可以写一个对应的模板,每次创建脚本就会帮我自动实现接口,特别是在UI脚本上经常需要用到这个需求。c#模板类// **************************************************...

2018-05-21 16:23:26 1457 0

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