自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Champion_Lee的专栏

一入IT深似海。

  • 博客(91)
  • 资源 (3)
  • 收藏
  • 关注

转载 UGUI学习——Sprite Pack

自定义Sprite Pack (图片打包),相当于NGUI的Atlas。 感谢雨松大大、、 将此脚本放在Editor文件夹下。using System;using System.Linq;using UnityEngine;using UnityEditor;using UnityEditor.Sprites;using System.Collections.Gene

2015-04-01 11:43:01 2220

转载 c# 泛型T类型参数T的约束where

在定义泛型类时,可以对客户端代码能够在实例化类时用于类型参数的类型种类施加限制。如果客户端代码尝试使用某个约束所不允许的类型来实例化类,则会产生编译时错误。这些限制称为约束。约束是使用 where 上下文关键字指定的。下表列出了六种类型的约束:约束说明T:结构类型参数必须是值类型。可以指定除 Nullable 以外的任何值类型。有关更

2015-03-27 14:55:21 4420

原创 UGUI学习——小知识点

1、控制不同对象的深度,通过transform.SetSiblingIndex()和transform.GetSiblingIndex()设置。 2、Sprite上的Packing Tag 同一标识的图片UGUI会把相同图片格式的图片打包成同一图集。如果大于指定图集尺寸或者又具有不同图片格式的图片,那么会再生成同名的其他图集(后缀Group)。 3、Sprite上的Packing 

2015-03-24 16:24:53 1291

原创 UGUI学习——EventSystem

UGUI的EventSystem介绍创建uGUI控件后,Unity会同时创建一个叫EventSystem的GameObject,用于控制各类事件。可以看到Unity自带了两个Input Module,一个用于响应标准输入,一个用于响应触摸操作。Input Module封装了对Input模块的调用,根据用户操作触发各Event Trigger。理论上我们可以编写自己的Input Modu

2015-03-24 14:02:54 2920

原创 UGUI学习——Canvas

UGUI 的Canvas介绍 Update:两种编辑模式:Blueprint:在此模式下,物体不会旋转和缩放。Raw Edit:在此模式下,调整物体的Pivot和Anchor不会改变物体的位置和尺寸。 Constant Pixel Size:保持UI元素大小不变,无论屏幕尺寸如何变化。Scale Factor:保持大小的比例 

2015-03-24 13:59:13 1927

原创 【多线程】线程的同步

多线程共享一个进程的地址空间,虽然线程间通信容易进行,但是多线程同时访问共享对象时需要引入同步和互斥机制。线程同步:多个任务按照约定的顺序相互配合完成一件事,基于信号量的概念提出了一种同步机制,由信号量来决定线程是继续运行还是阻塞等待。线程互斥:线程间同步访问临界资源时的互相等待,引入互斥锁的目的是用来保证共享资源数据操作的完整性。互斥锁主要用来保护临界资源,每个临界资源都有一个互斥锁来保

2015-03-10 12:51:55 677

原创 Unity优化小总结

【参考】网上资源汇总一、优化部分总结1、更新不透明贴图的压缩格式为ETC4bit,因为Android市场的手机中的CPU有多种,每家的CPU支持不同的压缩格式,但他们都兼容ETC格式。2、透明贴图,选择RGBA16bit或者RGBA32bit。3、减少FPS,在ProjectSetting -->Quality中的VSync Count参数会影响FPS。选项EveryVBl

2015-03-09 15:28:16 2011

原创 【多线程】C#多线程

一、关于c#多线程的使用在实例化Thread的实例时,需要提供一个委托,在实例化这个委托时所用到的参数是线程将来启动时要运行的方法,在.net中提供了两种启动线程的方式,一种为带参启动,一种为不带参启动。1、不带参数的启动方式使用ThreadStart委托启动线程。using UnityEngine;using System.Collections;using System.T

2015-03-06 15:18:23 847

原创 进程和线程

该文章由网上资源整合~一、进程和线程的定义进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是cpu调度和分派的基本单位,它是比进程更小的能独立运行的基本单位,线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和撤销另一个线程。线程是进程中的一

2015-03-06 11:13:27 504

原创 UML类图

【参考】本文所有素材、代码、文字来自大话设计模式Unified Modeling Language (UML)又称统一建模语言或标准建模语言 “动画”矩形框表示一个类,类图分三层,第一层显示类的名称,如果为斜体表示抽象类。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法或行为,注意前面的符号,‘+’表示Public,‘-’表示Pri

2015-02-26 10:59:39 631

原创 Shader其他整理

1、Culling阴影面剔除Culling阴影面剔除是一种优化技术。所有的多边形都有正反两面,而你永远只能看见其中一面,不信的话拿张纸板或者一面镜子看看你能不能同时看到两面。通常多边形面向屏幕里面的背面,我们看不见,所以会将该面剔除。Cull Off 关闭阴影面剔除Cull Back 剔除背面Cull Front 剔除正面 2、Depth Testing深度测试Dept

2015-01-29 13:29:48 648

原创 Surface Shader(可编程渲染管线 表面着色器)

1、Unity 3d官方文档上对WorldNormalVector的解释float3 worldNormal; INTERNAL_DATA -will contain world normal vector if surface shader writes to o.Normal. Toget the normal vector based on per-pixel normal map, u

2015-01-28 14:21:54 4172

原创 Vertex and Fragment Shader(可编程渲染管线)

一、引言Vertex and Fragment Shader:最强大的Shader类型,下文中简称V&F Shader,属于可编程渲染管线. 使用的是CG/HLSL语法。分为2个部分vertex顶点部分和Fragment像素部分。二、语法1、例子如下Shader "Custom/Exam1" { Properties { _MainTex ("Texture", 2D)

2015-01-28 14:19:21 3176

原创 Fixed Function Shader(固定渲染管线)

一、引言Fixed Function Shader 属于固定渲染管线 Shader, 基本用于高级Shader在老显卡无法显示时的Fallback(之后有详细介绍)。使用的是ShaderLab语言,语法与微软的FX files 或者NVIDIA的 CgFX类似。二、语法shader例子参见附件1、Pass 表示渲染管线一个Pass表示一个渲染管线,当存在多个Pass时,即在前一

2015-01-28 14:15:33 2604

转载 Shader综述

一些基本概念Shader和Material如果是进行3D游戏开发的话,想必您对着两个词不会陌生。Shader(着色器)实际上就是一小段程序,它负责将输入的Mesh(网格)以指定的方式和输入的贴图或者颜色等组合作用,然后输出。绘图单元可以依据这个输出来将图像绘制到屏幕上。输入的贴图或者颜色等,加上对应的Shader,以及对Shader的特定的参数设置,将这些内容(Shader及输入参数)打包

2015-01-26 16:03:37 606

转载 设计模式总结

【全文设计模式参考】:http://www.cnblogs.com/zhili/p/DesignPatternSummery.html一、引言经过这段时间对设计模式的学习,自己的感触还是很多的,因为我现在在写代码的时候,经常会想想这里能不能用什么设计模式来进行重构。所以,学完设计模式之后,感觉它会慢慢地影响到你写代码的思维方式。这里对设计模式做一个总结,一来可以对所有设计模式进行一个梳理,

2015-01-23 09:18:03 811

转载 组合模式

一、引言在软件开发过程中,我们经常会遇到处理简单对象和复合对象的情况,例如对操作系统中目录的处理就是这样的一个例子,因为目录可以包括单独的文件,也可以包括文件夹,文件夹又是由文件组成的,由于简单对象和复合对象在功能上区别,导致在操作过程中必须区分简单对象和复合对象,这样就会导致客户调用带来不必要的麻烦,然而作为客户,它们希望能够始终一致地对待简单对象和复合对象。然而组合模式就是解决这样的问题。

2015-01-22 14:08:02 429

转载 备忘录模式

一、引言在上一篇博文分享了访问者模式,访问者模式的实现是把作用于某种数据结构上的操作封装到访问者中,使得操作和数据结构隔离。而今天要介绍的备忘者模式与命令模式有点相似,不同的是,命令模式保存的是发起人的具体命令(命令对应的是行为),而备忘录模式保存的是发起人的状态(而状态对应的数据结构,如属性)。下面具体来看看备忘录模式。二、备忘录模式的定义和类图从字面意思就可以明白,备忘录模式就是对

2015-01-22 11:30:39 618

转载 访问者模式

一、引言访问者模式是封装一些施加于某种数据结构之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保存不变。访问者模式适用于数据结构相对稳定的系统,它把数据结构和作用于数据结构之上的操作之间的耦合度降低,使得操作集合可以相对自由地改变。二、访问者模式的定义和类图数据结构的每一个节点都可以接受一个访问者的调用,此节点向访问者对象传入节点对象,而访问者对象则反过来执行节点对象

2015-01-22 10:14:44 513

转载 责任链模式

一、引言在现实生活中,有很多请求并不是一个人说了就算的,例如面试时的工资,低于1万的薪水可能技术经理就可以决定了,但是1万~1万5的薪水可能技术经理就没这个权利批准,可能就需要请求技术总监的批准,所以在面试的完后,经常会有面试官说,你这个薪水我这边觉得你这技术可以拿这个薪水的,但是还需要技术总监的批准等的话。这个例子也就诠释了本文要介绍的内容。生活中的这个例子真是应用了责任链模式。二、责任

2015-01-22 08:51:55 638

转载 状态者模式

一、引言在上一篇文章介绍到可以使用状态者模式和观察者模式来解决中介者模式存在的问题,在本文中将首先通过一个银行账户的例子来解释状态者模式,通过这个例子使大家可以对状态者模式有一个清楚的认识,接着,再使用状态者模式来解决上一篇文章中提出的问题。每个对象都有其对应的状态,而每个状态又对应一些相应的行为,如果某个对象有多个状态时,那么就会对应很多的行为。那么对这些状态的判断和根据状态完成的行为,

2015-01-21 15:07:38 464

转载 中介者模式

一、引言从生活中的例子可以看出,不论是QQ游戏还是QQ群,它们都是充当一个中间平台,QQ用户可以登录这个中间平台与其他QQ用户进行交流,如果没有这些中间平台,我们如果想与朋友进行聊天的话,可能就需要当面才可以了。电话、短信也同样是一个中间平台,有了这个中间平台,每个用户都不要直接依赖与其他用户,只需要依赖这个中间平台就可以了,一切操作都由中间平台去分发。了解完中介模式在生活中的模型后,下面给出

2015-01-21 09:54:06 732

转载 观察者模式

一、引言 在现实生活中,处处可见观察者模式,例如,微信中的订阅号,订阅博客和QQ微博中关注好友,这些都属于观察者模式的应用。在这一章将分享我对观察者模式的理解,废话不多说了,直接进入今天的主题。二、观察者模式的定义和类图从生活中的例子可以看出,只要对订阅号进行关注的客户端,如果订阅号有什么更新,就会直接推送给订阅了的用户。从中,我们就可以得出观察者模式的定义。观察者模式定义了一种一

2015-01-20 16:42:50 534

转载 网格合并,减少DrawCall

文章出处:http://jxwgame.blog.51cto.com参考代码:using UnityEngine;using System.Collections;public class Combine : MonoBehaviour{ void Start() { //MeshFilter 网格过滤器,使用这个作为一个程序的网格接口 MeshFilter[] mes

2015-01-20 09:09:37 1707

转载 迭代器模式

一、迭代器模式的介绍迭代器是针对集合对象而生的,对于集合对象而言,必然涉及到集合元素的添加删除操作,同时也肯定支持遍历集合元素的操作,我们此时可以把遍历操作也放在集合对象中,但这样的话,集合对象就承担太多的责任了,面向对象设计原则中有一条是单一职责原则,所以我们要尽可能地分离这些职责,用不同的类去承担不同的职责。迭代器模式就是用迭代器类来承担遍历集合元素的职责。二、迭代器模式的定义和类图

2015-01-19 16:42:03 802

转载 命令模式

一、命令模式的定义和类图命令模式属于对象的行为型模式。命令模式是把一个操作或者行为抽象为一个对象中,通过对命令的抽象化来使得发出命令的责任和执行命令的责任分隔开。命令模式的实现可以提供命令的撤销和恢复功能。二、命令模式的结构既然,命令模式是实现把发出命令的责任和执行命令的责任分割开,然而中间必须有某个对象来帮助发出命令者来传达命令,使得执行命令的接收者可以收到命令并执行命令。例如,开学

2015-01-13 16:57:32 670

转载 模板方法模式

一、引言提到模板,大家肯定不免想到生活中的“简历模板”、“论文模板”、“Word中模版文件”等,在现实生活中,模板的概念就是——有一个规定的格式,然后每个人都可以根据自己的需求或情况去更新它,例如简历模板,下载下来的简历模板的格式都是相同的,然而我们下载下来简历模板之后我们可以根据自己的情况填充不同的内容要完成属于自己的简历。在设计模式中,模板方法模式中模板和生活中模板概念非常类似,下面让我们

2015-01-13 16:00:55 454

转载 代理模式

一、引言在软件开发过程中,有些对象有时候会由于网络或其他的障碍,以至于不能够或者不能直接访问到这些对象,如果直接访问对象给系统带来不必要的复杂性,这时候可以在客户端和目标对象之间增加一层中间层,让代理对象代替目标对象,然后客户端只需要访问代理对象,由代理对象去帮我们去请求目标对象并返回结果给客户端,这样的一个解决思路就是今天要介绍的代理模式。二、代理模式的详细介绍代理模式按照使用目的可

2015-01-13 15:30:14 924

转载 享元模式

一、引言在软件开发过程,如果我们需要重复使用某个对象的时候,如果我们重复地使用new创建这个对象的话,这样我们在内存就需要多次地去申请内存空间了,这样可能会出现内存使用越来越多的情况,这样的问题是非常严重,然而享元模式可以解决这个问题,下面具体看看享元模式是如何去解决这个问题的。 二、享元模式的定义和类图在前面说了,享元模式可以解决上面的问题了,在介绍享元模式之前,让我们先要分析下

2015-01-13 14:54:04 788

转载 外观模式

一、引言在软件开发过程中,客户端程序经常会与复杂系统的内部子系统进行耦合,从而导致客户端程序随着子系统的变化而变化,然而为了将复杂系统的内部子系统与客户端之间的依赖解耦,从而就有了外观模式,也称作”门面“模式。下面就具体介绍下外观模式。二、外观模式的定义和类图外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。使用外观模式时,我们创建了

2015-01-13 13:52:29 800

转载 桥接模式

一、引言这里以电视遥控器的一个例子来引出桥接模式解决的问题,首先,我们每个牌子的电视机都有一个遥控器,此时我们能想到的一个设计是——把遥控器做为一个抽象类,抽象类中提供遥控器的所有实现,其他具体电视品牌的遥控器都继承这个抽象类,具体设计类图如下:这样的实现使得每部不同型号的电视都有自己遥控器实现,这样的设计对于电视机的改变可以很好地应对,只需要添加一个派生类就搞定了,但随着时间

2015-01-13 12:32:18 653

转载 适配器模式

一、引言在实际的开发过程中,由于应用环境的变化(例如使用语言的变化),我们需要的实现在新的环境中没有现存对象可以满足,但是其他环境却存在这样现存的对象。那么如果将“将现存的对象”在新的环境中进行调用呢?解决这个问题的办法就是我们本文要介绍的适配器模式——使得新环境中不需要去重复实现已经存在了的实现而很好地把现有对象(指原来环境中的现有对象)加入到新环境来使用。二、适配器模式的定义下面让

2015-01-13 10:33:18 426

转载 原型模式

一、引言在软件系统中,当创建一个类的实例的过程很昂贵或很复杂,并且我们需要创建多个这样类的实例时,如果我们用new操作符去创建这样的类实例,这未免会增加创建类的复杂度和耗费更多的内存空间,因为这样在内存中分配了多个一样的类实例对象,然后如果采用工厂模式来创建这样的系统的话,随着产品类的不断增加,导致子类的数量不断增多,反而增加了系统复杂程度,所以在这里使用工厂模式来封装类创建过程并不合适,然而

2015-01-13 09:47:01 475

转载 建造者模式

【参考】http://www.cnblogs.com/zhili/p/BuilderPattern.html一、引言在软件系统中,有时需要创建一个复杂对象,并且这个复杂对象由其各部分子对象通过一定的步骤组合而成。例如一个采购系统中,如果需要采购员去采购一批电脑时,在这个实际需求中,电脑就是一个复杂的对象,它是由CPU、主板、硬盘、显卡、机箱等组装而成的,如果此时让采购员一台一台电脑去组装的

2015-01-12 15:25:05 858

转载 工厂方法模式

在简单工厂模式中讲到简单工厂模式的缺点,有一点是——简单工厂模式系统难以扩展,一旦添加新产品就不得不修改简单工厂方法,这样就会造成简单工厂的实现逻辑过于复杂,然而本专题介绍的工厂方法模式可以解决简单工厂模式中存在的这个问题,下面就具体看看工厂模式是如何解决该问题的。 一、工厂方法模式具体实现工厂方法模式之所以可以解决简单工厂的模式,是因为它的实现把具体产品的创建推迟到子工厂类中,此时工

2015-01-12 14:16:14 582

转载 抽象工厂模式

一、抽象工厂的具体实现下面就以生活中“绝味” 连锁店的例子来实现一个抽象工厂模式。例如,绝味鸭脖想在江西南昌和上海开分店,但是由于当地人的口味不一样,在南昌的所有绝味的东西会做的辣一点,而上海不喜欢吃辣的,所以上海的所有绝味的东西都不会做的像南昌的那样辣,然而这点不同导致南昌绝味工厂和上海的绝味工厂生成所有绝味的产品都不同,也就是某个具体工厂需要负责一系列产品(指的是绝味所有食物)的创建工作,

2015-01-12 13:33:44 607

转载 RenderingPath 渲染路径

【参考】:http://game.ceeger.com/Manual/RenderingPaths.htmlRenderingPath渲染路径Deferred Lighting 延时光照Deferred Lighting isthe rendering path with the most lighting and shadow fidelity. It is best usedif

2015-01-09 14:39:55 1280

原创 面片自适应屏幕

面片自适应屏幕 参加程序:using UnityEngine;using System.Collections;public class SelfAdaption : MonoBehaviour { private Camera _mainCamra; void Start () { PlaneSelfAdaption(); } void PlaneSelfA

2014-12-21 14:08:21 619

转载 动画系统 关于动画系统的根运动RootMotion

【原文参考】http://blog.csdn.net/neil3d/article/details/41724705 动画将控制RootBone对象的坐标、旋转、比例等,不合适的称为根运动吧 此脚本,就是将RootBone对象的坐标、旋转、比例等映射到父对象上,产生根运动的效果,不会出现感觉滑帧的情况出现 参考脚本:using UnityEngine;using Sy

2014-12-12 16:43:39 1084

转载 粒子系统

【参考】http://game.ceeger.com/Manual/ParticleSystemModules40.html粒子系统模块Particle System Modules This page is dedicated to individual modules and their properties. For introduction to modul

2014-12-11 16:05:47 1224

NGUI官网示例

关于Unity3D插件NGUI的官网示例,详细讲述了NGUI的使用

2014-01-02

关于NGUI部分组件

关于Unity3D插件NGUI的宝贵资料。

2014-01-02

MFC教职工管理系统代码

vc++编程,access数据库、mfc平台

2012-08-23

空空如也

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

TA关注的人

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