自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Unity3d-Particle System 5.x系统的学习(四)

Unity3d-Particle System 5.x系统的学习(四)今天,我们来聊聊unity5.x的粒子系统和unity4.x粒子系统的区别。我大致看了下,区别还是蛮多的,但是总体的粒子制作思路一样,只不过添加了很多子模块方便我们制作出更加美观的粒子。下面是总体的粒子系统组件:红色边框划出的就是unity5.x新增的子模块。ok,我们接下来分析每个模块的...

2017-06-20 22:34:00 297

转载 Unity3d通用工具类之NGUI图集分解

---恢复内容开始---Unity3d通用工具类之NGUI图集分解由于最近需要一些美术资源吗,但是无奈自己不会制作UI,所以就打算去网上的项目中直接找几张可以使用的贴图资源。但是发现这些资源已经被NGUI自带的打包图集工具打包好了,而且原小贴图也已经全部删掉了,只剩下一个预制物。那么这个预制物里面包含什么呢:1.一张大图集贴图2.大贴图的材质球...

2016-11-08 16:01:00 287

转载 UnityEditor研究学习之自定义Editor

UnityEditor研究学习之自定义Editor今天我们来研究下Unity3d中自定义Editor,这个会让物体的脚本在Inspector视窗中,产生不同的视觉效果。什么意思,举个例子,比如游戏中我有个角色Player,他有攻击力,护甲,装备等属性。所以我定义一个脚本:MyPlayer.cs:using UnityEngine;using Sy...

2016-10-27 18:28:00 460

转载 Unity3d通用工具类之数据配置加载类-ini配置文件加载

Unity3d通用工具类之数据配置加载类-ini配置文件加载上次我们讲过xml文件的加载配置管理,今天我们换个配置文件,也是比较常见的配置文件.ini格式的数据。按照国际管理先贴一张啥是.ini文件:这里我们分类下,总的来说.ini文件就是里面保存多有数据的头,他的下面包含与之相关的字段数据(采用key-value格式)。ok,知道格式之后,我们写个Ini...

2016-10-27 10:46:00 285

转载 Unity3d-Particle System系统的学习(三)

这节课我们来实战下上几节讲的几乎所有Particle System用到的参数。我们今天制作下图所示的粒子:类似于带有光晕的魔法球。用到的材质也就是上节课用到的材质贴图。http://pan.baidu.com/s/1nvlQST7  该粒子用到的贴图和材质首先,我们先分解下整体粒子,其中包含哪几个部分:1.光晕(不止一个)2.星光因为光晕是粒子...

2016-10-21 17:12:00 512

转载 unity3d-地图制作之光照贴图Lightmapping

今天无聊随便翻看了暗黑战神的场景资源,发现了一个以前没怎么注意的静态场景优化问题。什么是静态场景,也就是说这个场景是不会变化。比如MMO游戏中选择人物的场景。就拿默认的暗黑战神的选择人物场景来看,是不是这个场景中的任何东西都是不会发生改变的。也就是说这整个场景是静态的。那么就不需要光照实时渲染,所以我们提前先设置好整个场景的光照,然...

2016-09-26 15:03:00 424

转载 仿LOL项目开发第九天

仿LOL项目开发第九天                                                                  by 草帽OK,今天我们完全换了一种风格,抛弃了Unity3d的c#语法,我们来写写java的项目。说到java服务器,当然有些人可能鄙视java的服务器速度太慢,但是相对于其他语言,他就是比c++和c性能差点,其实也差不了...

2016-07-16 10:43:00 199

转载 仿LOL项目开发第八天

仿LOL项目开发第八天                                                                       by 草帽这节我们继续上节所讲的内容,上节我们初始化好了LoginWindow,当我们点击确认选择服务器按钮的时候,就发送服务器id给游戏服务器。这里就开始涉及到客户端需要跟服务器的网络通信,所以我们得先来写个客户...

2016-07-16 09:18:00 207

转载 仿LOL项目开发第七天

仿LOL项目开发第七天                                                                     by 草帽不知不觉已经写到了第七篇这种类型的博客,但是回过头看看之前写的,发现都只能我自己能看懂。我相信在看的童鞋云里雾里的,因为我基本上没怎么详细讲一个脚本怎么用?但是你们可以自己看下代码,很快你就知道怎么用!以后也...

2016-07-15 09:42:00 205

转载 Unity3d-Particle System系统的学习(二)

这节我们继续上节没讲完的Particle参数。上节我们讲了Emission发射器参数,我们接着往下讲Shape:可以看到这个子模块的参数是跟形状有关:1.Shape:发射形状。粒子被约束在这个形状中发射。我们看看效果图就知道了。就拿这个Cone锥形来看:可以看见粒子发射总是被约束在这个锥形中。我们看看总共有几种形状:1.Sphere:球体。粒子被约束在...

2016-06-14 17:37:00 245

转载 Unity3d-Particle System系统的学习(一)

最近看了下Unity3d的粒子系统的相关视频,并且动手操作了下,感觉自己的美工技能又增进了下(开个小玩笑),发现粒子系统所需要记忆的东西还是有点多的。所以为了不让自己遗忘某些知识点,我准备发布成博客,以便以后能够查阅回忆。OK,废话不多说,马上进入Particle System,相对程序员来说的噩梦:我们先来看看Particle System在Inspector视窗中的属性:...

2016-05-21 18:05:00 316

转载 仿LOL项目开发第六天

仿LOL项目开发第六天                              by草帽OK,因为更新模块已经处理好了,接着开始登陆的编写。那么我们就需要状态机的管理。所谓状态机就是在哪个状态执行那个状态的代码逻辑:那么我们开始编写GameStateManager来管理:我们先在DefineCommon里面定义游戏状态类型: /// <summa...

2016-05-12 21:09:00 204

转载 仿LOL项目开发第五天

仿LOL项目开发第五天                                      by草帽今天呢,我们看下能开发什么内容,首先上节我们已经讲了UI框架的搭建,上节还遗留下很多问题,比如说消息的字符是代码里面自己赋值的。那么就比较死板,按照正常的逻辑,那些字符我们得从配置文件中获取,然后赋值给消息提示。所以呢,我们创建一个StringConfigMana...

2016-05-08 21:18:00 216

转载 仿LOL项目开发第四天

---恢复内容开始---仿LOL项目开发第四天                                      by草帽上节讲了几乎所有的更新版本的逻辑,那么这节课我们来补充界面框架的搭建的讲解。我们知道游戏中的每个界面都有自己的一个类型:比如登陆界面,创建角色界面。既然有这么多的界面,所以呢,我们创建一个单例的UI管理器:WindowManager.cs,...

2016-05-08 18:45:00 193

转载 仿LOL项目开发第三天

仿LOL项目开发第二天                                      by草帽昨个我们已经实现了下载功能,但是发现没有,下载的包是压缩的,没有解压开,那么Unity是识别不了的。所以今个我们来讲讲如何实现解压文件。还记得吗,我们在DownloadTask里面添加了一个完成下载后的一个解压委托,我们还没有实现,那么,我们就去解决他。回到Ver...

2016-05-05 18:38:00 148

转载 仿LOL项目开发第二天

仿LOL项目开发第二天                                      by草帽接着上节来讲,上节更新还没开始写代码逻辑,今天我们补充完整。我们找到VersionManager脚本里面的CheckVersion方法:首先我们想到检测版本,需要从服务器下载信息,那么肯定要提前检测下网络是否良好,并比较版本信息。所以,我们写个BeforeChec...

2016-05-04 19:54:00 230

转载 仿LOL项目开发第一天

---恢复内容开始---仿LOL项目开发第一天                                by---草帽                           项目源码研究群:539117825最近看了一个类似LOL的源码,颇有心得,所以今天呢,我们就来自己开发一个类似于LOL的游戏demo。可能项目持续的时间会比较久,主要是现在还在上学,所以基本上...

2016-05-03 21:06:00 319

转载 Unity3d地图制作之模型高光

由于颇受暗黑破坏神美工的影响,最近都在研究怎么制作场景地图之类的。那么今日讲的模型高光虽然和地图无关,但是也涉及到一些美工的知识,尤其是shader。按照国际惯例,先贴一张图饱饱眼福。大家可以看到图上的怪物boss是高亮显示的,带有红色外边框,也就表示玩家用鼠标选择了这个怪物。这个高光选择在很多游戏中经常遇到,就比如LOL里面的,英雄、防御塔...

2015-12-23 16:05:00 484

转载 Unity3d通用工具类之数据配置加载类

今天,我们来讲讲游戏中的数据配置加载。什么是游戏数据加载呢?一般来说游戏中会有场景地图。按照国际惯例,先贴一张游戏场景的地图:在这张地图上,我们可以看到有很多正六边形,正六边形上有树木、岩石等。哎!那么问题也就来了。大家会思考这张地图怎么啦。关游戏数据配置有什么关系?我们做好场景直接loding进来不就行了?这也就是问题所在,如...

2015-11-08 16:14:00 237

转载 unity3d-地图制作之暗光

最近看了暗黑破坏神3的视频,看到游戏里面的场景画面,颇有感触。画面可谓做的极好的,虽然我审美观不是那么滴好,但是这游戏就让我看的赏心悦目,就让我好想来撸那么一把。看完暗黑视频后,我就开始研究里面的一些简单的场景制作。按照国际惯例,先贴一张图:看到地窖门口那幽兰色的暗光了没有?今天,我们就来制作这样的效果。首先准备材料:1...

2015-11-05 21:08:00 256

转载 Unity3d通用工具类之定时触发器

时隔多日,好不容易挤出点时间来写写博文。不容易,请送我几朵红花,点个赞也行。今天呢,我们主要来扩展下通用工具类==>定时触发器。顾名思义,所谓的定时触发器,就是告诉程序在过多长时间后,我要执行某个特定的任务。比如举个小栗子:电饭煲,相信大家都用过,当我们出去工作或者上学的时候,我们只要设置下煮饭时间,就可以安心的离开。电饭煲会自动的开始计...

2015-11-05 20:12:00 364

转载 Unity-EasyTouch插件之ReservedArea的运用(主要是避免JoyStick与Touch的矛盾)

昨天有人问我,easytouch插件中有个小bug,其实也不算是bug,插件的设计者早就考虑到这样的情况。他说同时用easyjoystick和easytouch会发生,移动摇杆的时候,touch(触摸)也会触发,也就是说两者同时产生事件。那么,该如何处理呢。设计者早就知道会发生如此情况,所以他运用ReservedArea(保留区)。什么意思,也就是joyst...

2015-09-29 11:08:00 234

转载 unity3d-地图制作之云彩飘动

首先,我先声明,关于美工制作我是一点都不了解,甚至基本上没接触过,所以今天开始我就兼并这美工加程序来学习。当然,我只是对unity中的美术比较感兴趣而已,仅此而已。所以,如果我在文章中讲的不对的地方,还请大牛帮忙指正。今天呢,我随手研究了一下场景中关于云彩飘动的制作,其实很简单,就是在一个长方形的mesh中呢,添加云彩的shader,然后在让材质球的贴图呢,...

2015-09-26 18:27:00 695

转载 某游戏研究之字符过滤类-WorldFilter

所谓字符过滤器,常常用在聊天的内容,比如一连串的骂人难听的话,我们要屏蔽掉,避免造成不好的东西!当然我作为中华天朝一个有文明有素质的人,肯定偶尔会做这样的事情啦,特别是打LOL的时候,算了不讲了,都是泪啊。我们来看看这款游戏字符过滤是怎么实现的,结合我上节讲到的单例类,因为字符过滤类当然是个单例类。public class WordFilter : Si...

2015-09-08 20:53:00 197

转载 Unity3d通用工具类之解压缩文件

今天,我们来写写c#是如何通过代码解压缩文件的。在游戏的项目中呢,常常我们需要运用到解压缩的技术。比如,当游戏需要更新的时候,我们会从服务器中下载更新的压缩文件包。这时候我们就需要解压文件,然后覆盖添加到游戏文件夹去,实现游戏的更新。通常我们就需要通过代码来实现这一功能。那么这里呢,我用的是第三发的压缩库,这个是用到一个dll,也就是ICSharp...

2015-09-06 13:40:00 237

转载 Unity3d通用工具类之生成文件的MD5

今天我们来写写工具类,这个类有什么用呢?也就是无论你做什么项目,这个工具类你都可以拿来用,之所以通用,是可以适用所有项目。这节我主要讲如何生成文件的MD5码。那么这个MD5是个什么鬼东西,读者可以自行百度,其实简略的讲就是验证文件是否被篡改。什么意思,比如当你去网站下载游戏的客户端软件,当有些黑客喜欢搞出点不好的事情,在你的客户端加些恶意代码之类的...

2015-09-05 10:35:00 346

转载 Unity3d-Socket之龙一编年史network.dll分析(2)-> CNetLogger

今天呢,我们来学习下network.dll里面的CNetLogger类。顾名思义,这个类主要是debug用的,也许有些人会问了,干嘛要自己封装个debug,直接用unity自带的debug不就好了吗。其实系统自带的有很多个缺点:1.不能统一的开关控制debug功能,假设当你想关闭的bebug,不想再打印的时候,发现unity没有这个接口,如果自己封装个开关,那么就...

2015-09-03 17:12:00 139

转载 Unity3d-Socket之龙一编年史network.dll分析(1)

今天闲着无聊,看到群里的老大共享了反编译的工具,就下载下来玩下。说道反编译我个人不太推崇反编译,感觉不道德,毕竟是人家的代码,但是又回想一下,我们拿代码看是抱着学习的态度又有何不可,所谓既是民族的也是世界的。=_=好废话不多说,接着我们看看这款unity制作的游戏的dll,看看他们代码是怎么实现的。首先呢,我只是分析了一下他的socket代码,可谓是经典中的...

2015-08-15 18:15:00 129

转载 Unity3d设计模式之单例模式

单例模式我相信是所有设计模式之中运用最广泛的设计模式之一。今天我们就来看看在unity中如何使用单例模式,在unity中,我们分两种单例,一种是继承monobehavior的单例,一种是普通单例。1.MonoBehavior单例其实在unity中,如果脚本是继承monobehavior,那么使用起单例来更加简单。只需要在Awake()里面,添加一句ins...

2015-08-15 17:16:00 190

转载 c#中的??运算符

注意啦,c#中的??运算符是和?:运算符是不同的,这两者是有区别的。??运算符称为null合并运算符,用于定义null值的类型和引用类型的默认值。只当运算符的左操作数不为 null,此运算符将返回左操作数;否则返回右操作数。什么意思?我们来看个例子:string x = null;string z = "不为空";string y = x ?? ...

2015-08-06 07:22:00 148

转载 UnityEditor研究学习之EditorWindow

在unity使用过程中,其实我们都是在各个不同功能的Window下工作。比如在Scene窗口中操作物体,在Inspector中操作物体属性,在Game视窗中观察游戏状态。所以窗口是Unity的灵魂,这是唯一接口我们能够通过它来制作游戏。那么,我们想自定义一个自己的窗口,那该如何呢?今天我们就来学习下EditorWindow,由于这个类在UnityEdior下,...

2015-08-03 09:38:00 1111

转载 C#之Enum中的Flag

我们知道在默认情况下,第一个枚举数的值为0,后面每个枚举数的值一次加1.enum Days {Sat, Sun, Mon, Tue, Wed, Thu, Fri};  我们也可以用初始值来重写默认值。enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};  这样元素的序列就从1开始而不是0。  每种枚举...

2015-07-09 18:48:00 347

转载 Unity-EasyTouch插件之Two Finger

今天,我们来学习下多手指触摸屏幕的事件,分别有挤压(缩放),挤压(旋转)挤压(缩放):在easytouch中,双手指挤压缩放的英文为Pinch好了今天我们的测试是双手指挤压对物体进行缩放。我们测试的是Cube。在easytouch中,分别有挤入(PinchIn)和挤出(PinchOut)这这两个对立的触屏手势。using Unit...

2015-07-04 17:46:00 156

转载 Unity-EasyTouch插件之One Finger

这节课,我们主要讲下单个手指的测试。比如单击啊,双击啊,拖动,单手滑动等。单击:public class TouchTest : MonoBehaviour { // Subscribe to events void OnEnable(){ //启动On_SimpleTap监听,也就是手指单击屏幕,就会触发On_MySimpleTap的方法执行 Ea...

2015-07-03 20:40:00 164

转载 Unity3d插件研究之Easytouch

但我们开发移动端的游戏时,发现使用Input.GetMouseButtonDown的方法不可用,怎么办?虽然unity3d也有自带触屏的方法,但是使用起来代价太高,什么单击,双击这些功能都要自己封装。下面我们来讲下EasyTouch这个插件,它将所有触屏的手势,都已经写好了。而且Easytouch也支持NGUI,使用起来十分的方便。接下来,我们详细...

2015-07-02 22:13:00 320

转载 Netty游戏服务器之六服务端登录消息处理

客户端unity3d已经把消息发送到netty服务器上了,那么ServerHandler类的public void channelRead(ChannelHandlerContext ctx, Object msg) 就会触发,所有我们在这里吧消息发送至各自处理的类,这里呢我根据不同的消息类型,定义了不同的消息分派类。如login消息就制定LoingDispatch类,专门处理...

2015-06-30 15:28:00 169

转载 Netty游戏服务器之五Unity3d登陆消息

今天我们来讲客户端Unity和服务器收发消息的具体过程。首先,我们要在unity上搭建登陆界面的UI,这里呢,我用的是NGUI插件。相信做过unity3d前端的都对这个非常的熟悉,最近官方的UGUI也非常的火,但是毕竟是刚出来的,有些功能还不够完善。我期待UGUI干翻NGUI的那天。算了,不意淫了。这里我不详细的讲怎么搭建UI,我只是走个过场,讲下重点的。...

2015-06-30 14:22:00 178

转载 Netty游戏服务器之四protobuf编解码和黏包处理

我们还没讲客户端怎么向服务器发送消息,服务器怎么接受消息。在讲这个之前我们先要了解一点就是tcp底层存在粘包和拆包的机制,所以我们在进行消息传递的时候要考虑这个问题。看了netty权威这里处理的办法:我决定netty采用自带的半包解码器LengthDecoder()的类处理粘包的问题,客户端我是用这里的第三种思路。消息的前四个字节是整个消息的长度,客户端接...

2015-06-30 13:38:00 314

转载 Netty游戏服务器之三搭建Unity客户端

既然已经写完了相关的服务器处理类,那么我们就来搭建客户端测试一下。打开我们的unity3d,然后新建一个c#脚本,取名为MainClient。public class MainClient : MonoBehaviour{ private const string HOST = "127.0.0.1"; private const int PORT = 8...

2015-06-30 12:06:00 315

转载 Netty游戏服务器二

上节我们写个server主类,那么发现什么事情都干不了,是的,我们还没有做任何的业务处理。接着我们开始写处理客户端连接,发送接收数据的类ServerHandler。public class ServerHandler extends ChannelHandlerAdapter{ @Override public void channelActive(Cha...

2015-06-29 23:34:00 108

空空如也

空空如也

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

TA关注的人

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