自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学无止境的专栏

更多内容,请访问 http://dingxiaowei.cn

原创 [Unity设计模式与游戏开发]工厂模式
原力计划

前言 工厂模式(Factory Design Pattern)也是游戏开发中比较常用的创建型模式,一般情况下,工厂模式分为三种更加细分的类型:简单工厂、工厂方法和抽象工厂。在GoF设计模式一书中,它将简单工厂模式看做是工厂方法模式的一种特例,所以工厂模式只被分成了工厂方法和抽象工厂两类。举个例子在...

2020-05-13 10:20:29 2952 5

原创 Unity iOS内购

前言:最近项目需要切换到iOS平台做一些提交审核和支付对接相关的工作,上一篇刚分享了最新的iOS10提交审核的一些坑,这篇分享一些内购相关的流程。Unity iOS内购思路:Unity调用iOS内购代码实现效果图: 流程这里就不重复写了,直接上截图 OC代码:IAPInterface(主要是实...

2020-05-06 16:40:53 7764 6

原创 [Unity设计模式与游戏开发]原型模式
原力计划

前言 原型模式谈的最多的就是克隆,谈到克隆我们就会想到第一个克隆羊多利,是我们生物工程史上的一次重大突破。克隆又称作拷贝,记得在做iOS开发的时候,刚接触OC开发谈的比较多一个知识点就是深拷贝和浅拷贝,浅拷贝只是拷贝了变量的内存地址,深拷贝拷贝了变量的内容。提到克隆我们在Unity开发中最常见的A...

2020-04-20 10:12:54 553 0

原创 [Unity设计模式与游戏开发]单例模式

前言 单例模式是我们最常用的设计模式,面试的时候如果问任何一个开发者设计模式,单例模式估计是脱口而出吧,23中常见的设计模式之中并不是所有设计模式都是很常用的,而单例模式绝对是最常用的那一个。但如果真正面试深入问到单例模式,那你确定你真的了解嘛?常见的面试会让你现场写个单例模式,如果深入一点的问的...

2020-04-14 14:07:03 380 0

原创 [Unity设计模式与游戏开发]UML入门

前言 UML类图对软件开发者而言应该是必须要了解的工具之一,也是大学软件设计专业必学的课程之一,对我们理解设计模式有非常大的好处,但很惭愧由于我的大学专业并不是软件设计所以我之前其实对UML只是大致了解,但有一些符号还是有些模糊,因此也就特地在整理巩固一下。 UML基本介绍 UML就是统一建模语...

2020-04-14 14:03:43 429 0

原创 [Unity设计模式与游戏开发]七大设计原则

前言 我对设计模式的理解是它就好像习武之人的内功,当内功强的人学习各种高深的武功就很得心应手,设计模式不同层次不同阶段的人对它的理解不同,我一直认为设计模式和算法一直是程序员两块非常重要的基本功,当基本功扎实就能对各种框架各种新技术驾轻就熟,会学习的很快,虽然在刚毕业的时候看过一遍设计模式,但感觉...

2020-04-14 13:57:48 515 0

原创 [Unity设计模式与游戏开发]前言
原力计划

前言 做了几年开发之后,发现不同时期对设计模式的理解会不同,刚毕业的时候看《大话设计模式》的感觉就是我平时写的代码也就是菜鸟么,然后菜鸟经过老鸟的指点之后对代码进行优化,很佩服老鸟的代码框架设计能力,但轮到自己设计功能的时候自己却不会用设计模式,或者说当时看设计模式只是浮于表面的“懂”。再过一两年...

2020-04-14 13:54:50 499 0

原创 Unity Visual Effect Graph入门与实践

前言 相信开发者们已经注意到Unity在最近的版本中进行了很大的改动,例如:新的开发模式DOTS、新的粒子特效系统、新的渲染管线URP、新的输入系统InputSystem和新的Shader系统ShaderGraph等等。对于开发者来说,Unity朝着更加方便,更加高效的开发方向发展显然是件好事。 ...

2020-03-27 10:33:00 1506 2

原创 EntityComponentSystemSamples学习笔记
原力计划

前言 Unity官方发布的EntityComponentSystemSamples是非常不错的案例,值得深入学习以用于项目开发中。 一些特性介绍 ECS会出现好多新的特性需要了解一下: GenerateAuthoringComponent 类似老的继承Monobehavior,使得脚本能够直接挂...

2020-03-24 21:21:59 1364 0

原创 Unity DOTS学习教程汇总

前言 经过一周在家耐心学习Unity ECS和DOTS,我认为是下一代的Unity开发模式,以后游戏的发展方向都是Big World,现有的GameObject的模式毕竟有瓶颈,都会转为Unity的Entity模式,能够支持更多的实体,比如射击类游戏,可以很好的支持那种枪林弹雨的感觉。主要是深入学...

2020-02-16 13:15:12 3053 0

原创 利用Jenkins实现Unity自动化构建

前言 自动自动化构建已经成为了IT行业的标配,尤其是游戏行业,一些顶级公司的高级岗位甚至知名要求会自动化构建, 足以说明会这个技能是多么重要。 系列文章介绍 1、什么是Jenkins,为什么要用它 维基百科是这样定义的,Jenkins是一款由Java编写的开源的持续集成工具,在我的理解就是自动...

2019-12-31 12:23:04 1301 2

原创 Unity自动生成阻挡Collider的GameObject工具

前言 场景中会有碰撞阻挡,或者触发器,一般是美术或者策划配置,策划一般是直接配置collider,但为了调试方便,需要显示对应的mesh方便查看防止的位置是否正确,我们可以写个工具来控制生成mesh和删除mesh方便调试使用。 思路 一般就是几种内置的collider,meshcollider、b...

2019-09-29 10:04:34 1301 0

原创 Wwise入门和实战

前言 游戏开发中音效往往是会被人们忽略的模块,美术表现往往视觉冲击力很强,就能直接感觉出好与不好,但音效模块是一种锦上添花的模块,好的音效设计会使得游戏的体验更加好,我在没有接触Wwise之前也是用的Unity内置的Audio模块,程序的工作就是调用原生的音效而已,几乎没有什么改变,如果我们想要实...

2019-09-28 08:26:13 9700 1

原创 Unity开发类似Profile那样的数据分析工具

前言 Unity开发者对Profile并不会陌生,我们如何开发一个类似Profile的Editor工具来实现我们想要监控的数据呢,这里以监控网络消息包数据为例,开发一个数据监控工具。 思路 主要就是采集数据和数据的表格化,采集数据我是以200毫秒时间内搜集收发的数据列表做成一个数据包,表格绘制采用...

2019-09-28 08:20:04 811 1

原创 程序员也应了解的Unity粒子系统

原文链接 http://dingxiaowei.cn/2019/07/16/ 前言 曾经我们是不是以为跟粒子系统打交道多的是特效美术?曾经我们是不是以为改变粒子的位置是不是只要设置transform的position?曾经我们程序对粒子系统做的最多的操作是不是只要加载显示就OK了?曾经我们想要一次...

2019-07-23 16:35:29 4984 5

原创 Unity表格配置编辑工具

前言 游戏开发中表格配置是必有的功能,我们会将一些游戏数据配置在表格中,一般流程是Excel编辑数据,然后导出C#的Model类和Unity中可用的二进制或者json/xml数据等,但如果碰到要一个需求,策划想要频繁修改数据并且在游戏中测试,这就发现我们需要频繁的在Excel中修改然后导出,然后启...

2019-07-07 19:03:52 1615 0

原创 Unity动画生成工具

前言 美术做一个模型,附带很多动画,然后就创建和管理动画状态机,然后类似的模型可能有很多,也就是我们所理解的皮肤,低级的是换贴图,高级一点的换模型,如果模型比较多的话,美术要创建和管理很多相同的动画,重复性的劳动,这会就需要有个动画生成器了。 思路 我们可以根据美术的要求通过代码创建一个Anima...

2019-07-04 22:05:06 2098 0

原创 关于C#的反射,你真的运用自如嘛?

前言 我们都知道反射在编程语言里是非常方便也是非常强大的,但或许有人会觉得在学习或者工作中用的可能并不是那么多,这对于刚入行不久的人而言的,我的理解是反射在写框架和写工具是用的比较多的。举个栗子:写一个Excel的表格编辑器,我们能够在控制台修改Excel里面的内容,或许有人会觉得这有啥难的,直接...

2019-06-28 13:25:34 2359 10

原创 游戏开发防作弊以及原理

前言 如何防作弊在游戏开发中还是占蛮重的比例的,这也涉及到游戏盈利的问题,如果不做防作弊措施,或许我们开发出来的app当前上线或许第二天就出破解免费版了,这个事情我亲身经历过,当然这是基于app做的比较好被外挂公司盯上了,一度很火的吃鸡游戏端游版本其实外挂非常猖獗,这也是因为没有做防外挂,如何防作...

2019-06-27 17:42:27 30397 78

原创 Unity行为树AI分享

前言 之前在公司做了一个简单的行为树相关的知识分享,感觉还是花了不少心思和精力在准备上,现在还是公开分享给大家!

2019-04-12 20:50:12 3558 2

原创 【Aladdin-Unity3D-Shader编程】之八-2D图常用的Shader效果

前言 Shader效果常用于3D模型,但2D图也有不少常用的效果,例如:圆角头像,图片灰态,边缘着色等等,下面我就依次做一个介绍。 图片灰态 效果 核心思路 在片元着色器里面对每个图元进行采样,将图元的颜色x,y,z分别乘上灰度系数然后赋值给片源颜色,就将彩色变成了灰色了。 代码 ...

2019-04-11 17:44:53 2491 0

原创 【Aladdin-Unity3D-Shader编程】之七-波光粼粼的鱼

前言 通过shader实现一个波光粼粼的鱼的效果,效果如下图所示,鱼的游动是用的animator,我们也可以用shader通过模型vertex偏移来实现鱼儿的游动。 效果 代码 //-----------------------------------------------【Sh...

2019-04-11 09:16:38 1004 1

原创 【GFFrameWork】事件系统

前言 游戏开发中抛事件,收事件也是比较常用的解耦方式,我所理解的设计模式旁观者模式有类似的原理,所以事件系统在一个框架中还是蛮重要的一块,本生事件系统不算一个大系统,代码量不多,主要是思路就是注册监听。 代码 EventManager //-----------------------------...

2019-04-10 13:59:26 561 0

原创 【GFFrameWork】UI框架2-UI界面自动生成模板代码工具

前言 我们写UI界面会发现有这么一些重复步骤,创建UI Prefab,然后创建对应界面的View脚本,然后创建跟UI节点组件绑定属性字段还有一些框架层面的接口方法。虽然有时候写这些代码不需要经过大脑,并且键盘敲的啪啪啪爽的飞起,但其实很浪费时间,笔者就想可以写个自动生成UI模板的工具,就减少了这样...

2019-04-10 13:57:27 933 0

原创 【GFFrameWork】UI框架

前言 曾经的老大说过,游戏开发70%跟UI打交道,貌似也是,UI是游戏开发里面的大头,这么说一个不错的UI框架就比较重要,UI界面会比较多,大项目大几十个系统界面,管理不当会造成比较大的麻烦。之前NGUI项目界面层级通过Depth管理界面的显示层级,Depth越大就显示在前面,后来UGUI通过设置...

2019-04-10 13:55:34 880 0

原创 【GFFrameWork】代码热更及资源下载

前言 现在比较主流的逻辑更新是Lua方式,最常用的ToLua、SLua,XLua等等,但笔者是不太喜欢Lua开发,相比较直接写C#,lua的效率要低得多,这里GFFrameWork选择的是C#热更方案ILRuntime,这个方案由掌趣公司蓝大大维护,据我了解目前用这方案开发的项目还是不少的,ET框...

2019-04-10 13:51:21 806 0

原创 【GFFrameWork】管理器和框架启动

前言 游戏开发中,我们会创建各种各样的管理器,可以说每一个模块我们就得创建一个管理器,例如ResourceManager、UIManager、DataManager、LogManager等等,作者之前项目是各种Manager继承字MonoBehaviour,然后挂在Hierarchy上,这样有一个...

2019-04-10 13:46:45 438 0

原创 【GFFrameWork】多功能链式计时器

前言 Unity游戏开发中,我们常用Unity的协程来实现延时,使用频率还是蛮高的,例如:分帧加载,延时加载等,感觉有必要做成一个通用的库,但正好看到网上有人写好了这块,就不重复造轮子了,就收入囊中了,感谢作者! 简要说明 简单上手:在脚本中使用this作为入口,e.g. this.Dela...

2019-02-20 14:25:28 403 0

原创 【GFFrameWork】游戏Log模块

前言 为了让项目功能模块化,支持可复用性和可扩展性的原则,将跟游戏关联不大的功能模块单独拎出来添加到一个独立库工程。Log是游戏框架中比较重要和基础的一个功能模块。并且Log是调试的重要手段之一,游戏Debug版本在UI上显示Log也会显得尤为重要。 效果展示 功能说明 目前Log模块支持的功能...

2019-02-20 14:20:57 558 0

原创 【GFFrameWork】游戏持久化存储模块

前言 Unity开发数据本地保存也是重要的一个基础功能,单机游戏肯定要将数据存储在本地,网络游戏可以以服务器存储为主,但也有的数据需要存在本地,例如存储玩家账号,Unity也为我们提供了一个数据持久化存储方案PlayerPrefas,当然也能满足我们基本存账号的需求,但他的不足也很明显,就是Edi...

2019-02-20 14:17:53 511 0

原创 使用adb logcat查看模拟器异常

前言 我们做的app有时候会跑出模拟其妙的异常,比如闪退呀、卡住呀等等,碰到这种问题是蛮头疼的,尤其是概率性触发的问题,这时候我们就需要用到adb catlog工具。 操作 添加adb工具到环境变量 adb.exe一般是放在sdk目录下/platform-tools下的,我自己电脑上的路径是E:\...

2019-02-20 14:15:27 2970 0

原创 【Aladdin-Unity3D-Shader编程】之六-模型实时阴影

前言 在游戏开发中实时阴影是比较常见的需求,我们最常见的方法是实时光照,但是这个会带来性能的问题,如果场景中模型比较多,例如我最近在做的3D足球游戏,场景中22个球员,如果采用实时光照DC会增加好几百,会造成渲染的压力,就有必要采用关照贴图的方案,比关闭掉实时光,但这种方案就降低了DC,减轻了渲...

2018-11-19 11:37:14 1957 0

原创 如何搭建Jenkins导出Unity安卓环境

前言 早早去公司上班,老大经常会叫我出一个demo的包,我就想起来可以配置一个打包工具,让他随时想要一个运行包就可以自己打包看效果,就想起来可以配置一个Jenkins打包环境。这样在同一个局域网内不需要Unity开发环境,就只要浏览器打开Jenkins然后点击打包即可。 准备工具 准备J...

2018-11-17 21:28:40 917 0

原创 【Aladdin-Unity3D-Shader编程】之五-模型常见特效

首先来看一个表情,是不是感觉很酷炫,这就是流光效果。我们也可以在模型上面来添加上这个效果,下面会介绍。 一、缩放效果 效果图 会看到模型有一个伸缩的效果 思路 贴图的模型坐标+=法线 * 缩放系数 Shader Shader "AladdinShader...

2018-11-11 09:08:34 1512 0

原创 【Aladdin Unity3D Shader编程】之四 贴图纹理

关于纹理贴图介绍纹理坐标也叫UV坐标,UV坐标都是0~1,并不是我们所理解的像素坐标,相当于是一个百分比。编写shader映射纹理将纹理的颜色取代漫反射的颜色Shader "AladdinShader/11 Single Texture Shader" { Proper...

2017-11-11 14:57:10 1520 0

原创 【Aladdin Unity3D Shader编程】之三 光照模型(二)

高光反射模型Specular=直射光*pow(cosθ,高光的参数) θ:是反射光和视野方向的夹角 编写高光反射ShaderShader "AladdinShader/07 Specular Vertex Shader" { Properties { ...

2017-11-07 10:59:14 878 0

原创 【Aladdin Unity3D Shader编程】之二 光照模型(一)

光照模型光照模型就是一个公式,使用这个公式来计算在某个点的光照效果。 在标准光照模型里面,我们把进入摄像机的光分为下面四个部分: * 自发光类似生活中的萤火虫等自己能够发光 * 高光反射类似生活中的镜子,近似认为百分百反射出去 * 漫反射类似生活中的光照射到墙壁上、桌子上的反光不会百分百反射出...

2017-11-05 16:51:54 969 0

原创 【Aladdin Unity3D Shader编程】之一 基本入门

OpenGL、DirectX以及GLSL、HLSL、CG OpenGL和DirectX是图像应用编程接口,用于渲染二维或者三维图形。 GLSL着色语言是用来在OpenGL中着色编程的语言,有点在于跨平台性,可以再Windows、Linux、Mac甚至移动平台上工作。 HLSL是微软控制着色的编译,...

2017-11-05 12:24:39 1321 3

原创 [小工具]代码统计小工具编写

代码小工具是有一定工作经验并且有更高追求的程序的必备技能,今天加班到早晨五六点,到家都七点了,回到家倒头就睡,下午来公司感觉头还有点晕乎,工作的话怕只会产生更多的代码,就想起来写个工程代码统计工具。效果图上图是平时积累的小工具,积累我认识也是程序员必备的素养!主要代码using System; u...

2017-11-01 18:54:53 1568 0

原创 Lua-元表

Lua-元表元表作用元表扩展普通表举例:如果A+B两个表相加,如果不设置元表的话就会报错,这种情况就可以设置元表来实现,就类似C++的友元函数这种概念元表设置mymetable = {} mytable = setmetatable({}, mymetable)设置失败情况当元表有_metatab...

2017-10-10 08:42:32 1348 1

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