![](https://img-blog.csdnimg.cn/20190924140211432.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Unity3d游戏开发
文章平均质量分 94
XM肖牧
厦门四三九九股份有限公司,Unity客户端
展开
-
Unity VideoPlayer视频播放器
挺久没有写博客了,这是2020年的第一篇博客,先说说写这篇博客的原因吧。去年下半年负责一个新项目,项目里面有需要播放大量视频的需求,由于Demo时间比较紧急就没有下功夫去做这块。问题1:改变视频进度时进度条出现回滚。问题2:改变视频进度时出现音画不一致问题,音频较视频有延迟。问题3:开发周期小,时间紧急,代码不规范。马上就要春节放假了,赶在了放假之前把关卡都完成了,今天有空就重...原创 2020-01-21 20:24:44 · 7729 阅读 · 7 评论 -
Unity2018引用System.Windows.Forms.dll发布报错
Unity 2018发布到PC平台,要用到打开选择文件界面,需要引入System.Windows.Forms.dll打开Visual Studio,选择菜单栏“项目>添加引用”,找到Unity的安装路径,选择\Editor\Data\Mono\lib\mono\2.0\System.Windows.Forms.dll然后再把System.Windows.Forms.dll导入Un...原创 2019-10-14 17:16:52 · 3088 阅读 · 1 评论 -
优质代码编程
这篇文章是 夏桑老中医(巨人网络的帧同步大佬) 整理分享给我的,我觉得有必要分享一下,都是经验,大学的课本根本没有的。 1. 保持松散耦合1.1 耦合度表示类与类之间或者子程序与子程序之间的紧密程度。1.2 松散耦合设计创建出小的,直接的,清晰的类或者子程序,使它们与其他类或者子程序之间的关系尽可能的灵活。(如火车车厢之间的连接就是松耦合)1.3 松耦合设计的标准规...原创 2018-11-23 11:59:18 · 1311 阅读 · 2 评论 -
Unity性能优化之对象池管理器PoolManager
简介什么是对象池?顾名思义,就是存放实例对象的池子,即缓冲区。一般对象池在初始化时会包含着若干个实例对象,当我们需要时便从池子里取出来,当不需要时便放回对象池里面。使用对象池不需要频繁的产生和销毁实例对象,当对象池中的实例对象不够用时才会继续产生实例对象,这大大的节省了性能。所以在很多频繁使用实例对象的场景中,我们常常可以看到对象池的身影,比如数据库连接池、线程池、任务队列池和大量的游戏场景。...原创 2019-04-09 15:40:09 · 3722 阅读 · 1 评论 -
Unity3D游戏框架之dll反编译和混淆
随着Visual Studio 2019正式版的发布,加上Unity2018.3.x版本的更新迭代,我又有了尝新的欲望了,哈哈哈!借着这个契机,我有了重新整理框架的想法了,就是把框架编译成动态链接库dll,并且我把电脑系统还原了,所有的环境都将是最新的。安装所有最新的环境Visual Studio 2019正式版 Unity2018.3.10(现在不是最新的了) JDK1.8...原创 2019-04-17 02:29:18 · 4475 阅读 · 2 评论 -
Excel表格转Json和CSharp导表工具
Excel2Json是一款帮助游戏开发人员使用Excel表格来导出数据和数据结构的工具。主要功能支持读取 .xlsx格式的Excel表格; 支持Excel表格多Sheet结构; 直接预览Excel目录,双击可以直接打开Excel表格; 在线预览Json; 在线预览CSharp; 一键导出Json和CSharp;Excel2Json_V1.0.1支持了Excel表...原创 2019-04-23 17:38:05 · 2135 阅读 · 1 评论 -
Unity GUI图片渐变过渡添加抖动算法降低白条分层
由于之前的项目背景运用了大量的渐变过渡效果的大图,使用RGB16压缩格式表现效果很差,特别是渐变过渡的地方出现了很多条纹,最后使用了RGB32的压缩格式,浪费大量内存。TexturePacker Pro里面有个给图片添加抖动的算法FloydSteinberg,表现效果还不错,虽然噪点有点多,但是可以忍受。打开软件TexturePacker,导入图片,在抖动Dithering选择F...原创 2019-04-29 16:14:44 · 964 阅读 · 0 评论 -
Unity2018新功能之Entity Component System(ECS)二
在上一篇文章里,我们简单的介绍了ECS的概念和Entities的使用方法,我将在这篇文章中继续深入讲解ECS的框架。Unity2018新功能之Entity Component System(ECS)一首先我们先来看下面这一张图。这是我通过ECS框架创建出来的5万个Cube,FPS基本稳定在30左右,因为默认是实时光照,所以渲染压力有点大,这不是我们这篇文章的讨论范围。 为什么E...原创 2018-09-21 18:13:21 · 7645 阅读 · 7 评论 -
Unity3D创建C#自定义模板快速实现基类接口
根据模板类,我们可以快速的创建一些我们想要的脚本内容,比如我们有接口要在子类上实现,就可以写一个对应的模板,每次创建脚本就会帮我自动实现接口,特别是在UI脚本上经常需要用到这个需求。c#模板类// **********************************************************************// Copyright (C) XM// Author:...原创 2018-05-21 16:23:26 · 2469 阅读 · 0 评论 -
Unity3D打印拓展XMDebug
unity3d自带的Debug用起来是在是恶心,打印多个变量需要用“+”来连接,还要用空格来区分隔开,简直恶心到不要不要的。我自己写个Debug的拓展,方便代码打印。1.自定义打印颜色;2.可变参数;3.全局控制打印输出。// **********************************************************************// Copyright (C...原创 2018-05-21 16:38:16 · 539 阅读 · 1 评论 -
Unity3D基于事件机制的消息系统
又到了周末时间,今天没有去公司赚加班费,在家里好好休息一下?不存在的,这辈子不写代码是不存在的!今天我们来讲讲消息系统。很多刚入行的小白同学在处理类与类之间的关系时,总是比较简单除暴的处理,直接把那个类引用到这个类,把这个类引用到那个类,最后造成很多类相互引用,形成一个复杂的蜘蛛网式的引用关系,这就是代码的耦合。那这个又有什么关系呢?那么我们就通俗的讲一下这个问题。打个比方,同学们的期末成绩出来了...原创 2018-05-26 22:37:05 · 9501 阅读 · 3 评论 -
Unity3D简单的帧同步方案
公司的游戏准备上线了,我呢也在准备新项目,这几天看了一下策划文档,写了整体流程和需求接口的代码,终于有一点点时间来写自己的博客了。今天我们就来讲讲帧同步吧。...原创 2018-06-04 11:05:44 · 6998 阅读 · 1 评论 -
Unity3D开发中操作SVN
using UnityEditor;using UnityEngine;public class SVNExpand : Editor{ /// <summary> /// 项目资源地址 /// </summary> static string SVNProjectPath = Application.dataPath; s...原创 2018-05-23 17:03:06 · 701 阅读 · 0 评论 -
Unity3D用状态机制作角色控制系统
为了让读者对本文知识点有一个比较清晰的了解,我制作了一张图结构图,如下图,图中以移动为例子简单的描述了状态机的基本结构,本文不对角色控制系统做全面的讲解,只对状态机的在角色控制系统中是如何运用的。1.我们先从Actor讲起。Actor作为角色脚本的基类,承载着角色的基本属性,包括角色id,移动速度,坐标等等,因为我们这里讲的是用状态机来控制角色,所以角色的属性还包括角色的当前状态,所有状态,状态类...原创 2018-05-24 11:42:41 · 18086 阅读 · 0 评论 -
Unity3D相关知识点笔记汇总
这篇文章将作为一些平时的小知识点笔记来记录,如果有错误望指出来,也欢迎大家在评论底下分享你们的笔记。1.检测点击或者触摸到UI。 public static bool CheckClickUI() { bool isClickUI = false; if (Application.platform == RuntimePlatform...原创 2018-09-19 17:02:09 · 4023 阅读 · 3 评论 -
Unity2017新功能Tilemap地图编辑器的数据拓展和动态生成
在我来4399之前的上一家公司,我做了一个2D的对战游戏,地图编辑器的做法是用格子图片的预设一个个拼接成一张地图,每个格子上可以设置该格子的数据,比如图片名字,tile坐标,是否可通过,是否可销毁,是否是陷阱等等,具体做法就是把所有图片的预设都编一个id,然后在当前tile上填上对应的id,最后保存成一个json文件,在游戏里面动态生成。以你们的想法,你们会觉得这种做法合不合适?反正在我看来,...原创 2018-05-21 15:59:26 · 20228 阅读 · 21 评论