自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cbbbc

博客博客

  • 博客(1022)
  • 收藏
  • 关注

原创 mysql查看、修改端口、指定端口登录

一、查看端口:1.在命令行中输入:mysqld --console,输出的信息可以看到端口号2.登录本地或远程mysql,输入show global variables like 'port',这种方法其实是很多余的,因为你能登录成功mysql,不是使用默认3306端口,就是指定端口才能登录,所以你是知道端口号的,除非一时忘记了想查看。这里也联系到了修改端口号之后要指定端口才嫩登录。3

2015-06-07 10:37:25 18464

原创 lua环境的配置以及c++调用lua的简单例子

虽然上年暑假的时候,我看完了《lua程序设计》,那时候主要是把主要概念背熟,还有把几个面试要问的问题弄明白了,但实际上却很少写代码,写的lua代码可能都不超过1000行,哎,怪不得,才半年多,几乎所有东西都忘光了!    好吧,那现在就重新学一遍吧!这次就重在实践!而且那时候都是在VS2010上写代码的,由于趁着请假的时间,我学会了基本使用GCC和make,这次就可以脱离VS写代码了

2015-04-15 00:12:28 5757

原创 Cocos2d-x3.2与OpenGL渲染总结(一)Cocos2d-x3.2的渲染流程

这是一篇比较详细介绍Cocos2d-x3.2渲染过程的文章。

2014-09-21 22:36:43 16806 13

原创 Cocos2d-x3.2总结(四)使用物理引擎进行碰撞检测

如果你在游戏中

2014-08-13 19:10:35 11257 4

原创 cocos2d-x3.2源码分析(一)类FileUtils--实现把资源放在Resources文件目录下达到多平台的引用

当你创建TMXTiledMap* tilemap=TMXTiledMap::create("test1.tmx")或Sprite *sprite=Sprite("HelloWorld.png"),有没有产生这样的疑问--为什么把资源test1.tmx和HelloWorld.png放在项目目录下的Resources文件中即可直接引用而不用标明具体路径,并且可以在多个平台下引用?或许很多人就会这样说:

2014-07-27 20:42:39 10264 2

转载 MFC 程序如何使用 printf 输出调试信息

设想一下,我们在 win32 控制台下写了个在命令行运行的程序库,图方便直接用 printf 输出 log 来进行调试,但后来集成库时使用了 MFC 之类的窗体程序,于是原先用 printf 输出的 log 信息都看不到了,但是我们又需要查看这些 log 信息,甚至最好能输出到文件来方便进行分析,如何处理?首先,我们考虑将 log 信息输出到控制台上,按照以下步骤操作。1,添加头文

2017-10-04 23:09:34 2867

转载 HSL

HSL色彩模式是工业界的一种颜色标准,是通过对色相(H)、饱和度(S)、明度(L)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,HSL即是代表色相,饱和度,明度三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。颜色HSLH: Hue 色相S:Saturation 饱和度L Light

2017-09-06 15:33:51 1531

转载 混合模式

混合模式是图像处理技术中的一个技术名词,不仅用于广泛使用的Photoshop中,也应用于AfterEffect、llustrator 、 Dreamweaver、 Fireworks等软件。主要功效是可以用不同的方法将对象颜色与底层对象的颜色混合。当您将一种混合模式应用于某一对象时,在此对象的图层或组下方的任何对象上都可看到混合模式的效果。详细解释及原理以Adobe [

2017-09-06 11:52:41 1961

转载 RGB

RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。应用目前的显示器大都是采用了RGB颜色标准,在显示器上,是通过电子枪打在屏

2017-09-06 11:39:16 1370

转载 两个色彩叠加,RGB怎么计算

如果是两个图像相加,有几种方法,第一种是直接相加,然后对结果进行检查,将所有超过255的值设定为255。第二种是相加后除以2,这样就可能保证不会超出。两种方法做出来的效果是不一样的,第一种的暗部细节要保存得好一点,但是亮部的损失有点大原文地址:http://bbs.csdn.net/topics/390241016

2017-09-06 11:32:39 19541 4

转载 RGB三种颜色相加

色光三原色   (红)+(绿)=(黄)  (蓝)+(绿)=(青)   (红)+(蓝)=(品红)   (绿)+(蓝)+(红)=(白)   颜料三原色   (红)+(黄)=(橙)   (蓝)+(红)=(紫)   (蓝)+(黄)=(绿)参考资料: http://baike.baidu.com/view/41629

2017-09-06 11:31:14 12529

转载 关于欧拉角与万向锁的理解

要理解万向锁,如果从定义上去解释,那理解起来会非常困难,我们不如从万向锁会导致什么问题入手。万向锁其实是就是导致物体的旋转不按我们的意愿进行转动,如一个人体,从站立到平躺,只需一个轴的动动可以完成,但由于万向锁,这个轴被锁定了,所以需要另外两个轴的运动才可以辅助完成转动,目的一样能达到,但这个过程的运动变得和我们想象的运动不相符,所以万向锁并不是不能表示空间中的某个角位移,而是因为万向锁,

2017-08-26 18:36:22 911

转载 万向节锁--简单解释

以前一直以为自己已经清楚了这是怎么回事,也没去细想,然而最近又遇到角度的问题,发现还是迷糊,于是又静下心来看了网上的相关文档,并以直白简单的方式分享一下。还是以unity为例吧首先,万向节锁只发生于以模型自身坐标系旋转的情况下,代码就是    transform.localEulerAngles = xxx 这种,而 transform.eulerAngles = xxx这种是不会有问题的

2017-08-26 18:35:24 799

转载 游戏动画中欧拉角与万向锁的理解

我在2009年5月份左右拜读了《3D数学基础:图形与游戏开发》,当时对欧拉角中万向锁的概念一直是百思不得其解,也从未遇到过这种情况。书上有这样一句话:“如果您从来没有遇到过万向锁情况,你可能会对此感到困惑,而且不幸的是,很难在本书中讲清楚这个问题,你需要亲身经历才能明白。”今天我用3个多小时的时间再次回想了一下这个问题,总算想明白了,现在把思考的结果分享给大家.     下面我想说明四个问

2017-08-26 18:34:49 493

转载 unity 旋转欧拉角 万向锁 解释

万向锁 一直困惑我很久。。。。原因出在这里,我以为欧拉角旋转是以模型坐标(齐次坐标系)为旋转轴。问题就来了,无论旋转那个轴,其它两个轴也会相应的变化,下面看图:根据上面的说明两个旋转面(圆圈)怎么会共面,让我迷糊。假设共面,那这两个旋转面的法线应该是旋转轴,要想两个面共面,那旋转轴肯定平行的。但问题是以模型坐标(齐次坐标系)为旋转轴,无论旋转那个轴,其它两个轴也会相应的变化,而

2017-08-26 18:34:01 747

转载 Unity3D之Vector3.Dot和Vector3.Cross的使用

在Unity3D中,Vector3.Dot表示求两个向量的点积;Vector3.Cross表示求两个向量的叉积。  点积计算的结果为数值,而叉积计算的结果为向量。两者要注意区别开来。  在几何数学中:  1.点积  点积的计算方式为: a·b=|a|·|b|cos 其中|a|和|b|表示向量的模,表示两个向量的夹角。另外在点积中,和 夹角是不分顺序的。  所以通

2017-06-01 21:16:52 1542

转载 Unity3D脚本18:可视化辅助设置类 Gizmos

Gizmos   类     Gizmos用于场景中给出一个可视化的调试或辅助设置。 所有的Gizmos绘制都必须在脚本的OnDrawGizmos或OnDrawGizmosSelected函数中完成。 OnDrawGizmos在每一帧都被调用。所有在OnDrawGizmos内部渲染的Gizmos都是可见的。 OnDrawGizmosSelected尽在脚本所附加的物体被选中时调用。

2017-05-28 16:27:28 1395

转载 Unity3D:Gizmos画圆(原创)

Gizmos是场景视图里的一个可视化调试工具。在做项目过程中,我们经常会用到它,例如:绘制一条射线等。Unity3D 4.2版本截至,目前只提供了绘制射线,线段,网格球体,实体球体,网格立方体,实体立方体,图标,GUI纹理,以及摄像机线框。如果需要绘制一个圆环还需要自己写代码。using UnityEngine;using System;public class He

2017-05-28 16:25:58 6159

转载 unity OnDrawGizmosSelected只在scene起作用

void OnDrawGizmosSelected() { Gizmos.color = new Color(0.0f, 1.0f, 1.0f, 1.0f); Gizmos.DrawWireCube(gameObject.GetComponent().bounds.center, gameObject.GetComponent().bounds.

2017-05-28 16:23:04 931

转载 unity3d四元数和旋转矩阵

一 四元数Quaternion中存放了x,y,z,w四个数据成员,可以用下标来进行访问,对应的下标分别是0,1,2,3。主要介绍几个函数 根据两个向量计算出旋转量,计算出来的旋转量为从fromDirection旋转到toDirection的旋转量static Quaternion FromToRotation(Vector3 fromDi

2017-05-28 15:18:00 913

转载 C# 访问修饰符internal的访问范围误区释疑

一、前言                                              MSDN关于访问修饰符的访问级别解释:访问修饰符是一些关键字,用于指定声明的成员或类型的可访问性。本节介绍四个访问修饰符:publicprotectedinternalprivate使用这些访问修饰符可指定下列五个可访问性级别:

2017-05-28 12:50:05 526

转载 Unity3D中的Quaternion(四元数)

今天,我来总结一下Unity中的四元数得使用。我也是初学,就写的比较飘逸,难免有错误!    四元数的概念    四元数,这是一个图形学的概念,一般没怎么见过,图形学中比较常见的角位移的表示方法有“矩阵”、“欧拉角”、“四元数”这三种。可以说各有各的优点和不足,不同的场合用不同的方法。其中四元数的优点有:平滑插值、快速连接、角位移求逆、可以与矩阵形式快速转换、仅用四个数表示。不过,

2017-05-27 20:48:06 662

转载 Quaternion.Slerp 球形插值

static function Slerp (from : Quaternion, to : Quaternion, t : float) : QuaternionDescription描述Spherically interpolates from towards to by t.球形插值,通过t值from向to之间插值。// Interpolates rotation

2017-05-27 20:44:50 2200

转载 添加随机的游戏元素

文档路径:Unity Manual / Unity Overview / Creating Gameplay / Adding Random Gameplay Elements添加随机的游戏元素在许多游戏里,随机地选择物品或者数值是很重要的。本节展示了你该如何通过 Unity 内置的随机函数来实现一些常见的游戏机制。从一个数组中随机地选出一个物品随机地选择一个数组元素,可以归结

2017-05-26 20:27:00 510

转载 Translate的使用与物体运动

首先我们来看看场景的搭建:建一个立方体,加一个点光源。我们要实现的就是让场景中的立方体延X轴嗖嗖的移动。那么我们在Project新建一个js脚本Creat->Javascript。function Update (){   transform.Translate(Vector3(1,0,0));}然后将js文件拖到Hierarchy面板的立方体上实现绑定。运行一下

2017-05-24 22:36:47 803

转载 Unity3D开发(七):NGUI之UICamera控制触摸,鼠标事件

1. UICamera 功能介绍主要包括UI事件的监听,分发,覆盖范围为此Camera渲染的所有GameObject。事件源包括:鼠标,触摸,键盘,手柄。事件包括:悬停,按下/抬起,选中/取消选中,点击,双击,拖拽,释放,文本输入,Tips显示,滚轮滑动,键盘输入。 2. UICamera 实现流程(1)属性 Event Type:包括UI,World,用于

2017-05-06 12:04:31 929

转载 Unity在NGUI中默认动态字体Arial字体显示不完整解决方案

Unity工程中的动态字体使用很方便,在一开始的工程中,为了减小游戏包的大小,我们使用的是Unity内置的默认Arial字体,但是在游戏上线测试后,很多玩家反馈个别机型字体显示不完全,主要集中在 小米1代,OPPO,金立,中兴等个别机型中。刚开始以为是NGUI的问题,经过几天的问题排查,发现原来是Arial字体惹的祸。Arial字体是西文字体,并不包含中文字库,在Unity中如果使用默认的

2017-05-05 20:23:29 1842

转载 NGUI所见即所得之UIPanel

之前在NGUI所见即所得之UIWidget , UIGeometry & UIDrawCall 文中就这样用过这样的一个例子:           UIGeometry好比为煮菜准备食材,UIDrawCall好比是煮菜的工具(锅,炉子等),UIPanel就是大厨了决定着什么时候该煮菜,UIWidget(UILabel,UISprite和UITexture)是这道菜怎么样的最终呈现。   

2017-05-05 19:12:40 522

转载 NGUI所见即所得之深入剖析UIPanel,UIWidget,UIDrawCall底层

之前项目中用的NGUI的版本是3.0.7 f3,开始的时候感觉没有什么问题,直达最近项目UI的完成度比较高时,就突然出现掉帧很严重的现象,即使只有一个UI打开(其他都是active = false的情况下),打开profier,发现UIPanel LateUpdate 竟然占了CPU使用率的50%左右,这太恐怖了,虽然之前看到过有吐槽NGUI的机制的,但是我觉得为了保证通用牺牲一些性能还是在所难免

2017-05-05 17:36:19 873

转载 UIWidget是所有UI组件的抽象基类,作为基类当然定义了必须的成员变量和函数,接触过MFC或其他UI组件开发,想必都知道有一堆参数设置,尤其是Visual Studio的可视化界面,

UIWidget是所有UI组件的抽象基类,作为基类当然定义了必须的成员变量和函数,接触过MFC或其他UI组件开发,想必都知道有一堆参数设置,尤其是Visual Studio的可视化界面,简直太丰富了,UIWidget要当UI组件的爹就必须得具备这些,下面就一一介绍: Pivot       Pivot,这个枚举,其实定义了GameObject中心坐标在整个组件的位置,这个跟UIStre

2017-05-05 17:03:45 908

转载 NGUI 渲染流程深入研究 (UIDrawCall UIGeometry UIPanel UIWidget)

上图是一个简要的NGUI的图形工作流程,UIGeometry被UIWidget实例化之后,通过UIWidget的子类,也就是UISprit,UILabel等,在OnFill()函数里算出所需的Geometry缓存(顶点数,UV,Color,法线,切线)。PS:之所以要生成这些数据,是为了之后生成mesh来渲染而UIPanel,通过遍历自己子类下所有的UIWidget组件(已经按深度排序),先创

2017-05-05 16:30:42 629

转载 Unity3D ShaderLab 修改渲染队列进行深度排序

Unity3D ShaderLab 修改渲染队列进行深度排序为了更深刻的理解透明度,我们还需要学习一下深度排序,简单来说就是物体被渲染的先后顺序。Unity允许我们通过代码来控制某个特定物体渲染到屏幕的顺序。这个做法类似于photoshop中图层的概念。开始之前,准备工作还是新建Shader Material,准备测试场景。为了对比 是需要使用2个材质球的。打开我们的shader,

2017-05-05 11:36:42 1430

转载 NGUI源码分析(七) Panel,Widget,DrawCall 三者之间的关系

前几篇介绍了分别介绍了Panel,Widget,DrawCall等,但是它们之间的关系具体是怎样的没有仔细讲,下面通过一个测试来说明它们之间的关系。测试非常简单:1.新建一个UIRoot ,添加几个Panel和几个Sprite,结构如下:其中sprite1-4分别属于4个不同的图集点击UIRoot的Panel属性下的"Show Draw Calls"会发现此时pan

2017-05-03 17:53:22 1408

转载 NGUI源码分析(六) UIProgressBar和UISlider

UISlider继承于UIProgressBar 它们是非常重要和实用的类,UIProgressBar它实现了进度条的功能,UISlider在UIProgressBar的基础上实现了拖拽 UIProgressBar 介绍:一.重要属性:  //方向:左到右,右到左,下到上,上到下 public enum FillDirection {      LeftToRight,

2017-05-03 17:50:27 857

转载 NGUI源码分析(五) UIPanel

UIPanel可以看成一个集合,一个Panel可以包含多个Widget.负责排序和更新widget,同时控制widget在什么时候绘制图形。下面具体看看是如何实现的.一.重要属性:static public List list = new List();  //保存所有的panel public RenderQueue renderQueue = RenderQueue.A

2017-05-02 20:33:46 1395

转载 NGUI源码分析(四) 关于Anchor

老版NGUI的Example 1里面提供演示NGUI中使用UIAnchor组件实现GUI对齐功能,新版本的NGUI的Example例子貌似不再使用UIAnchor了,而是演示Widget内置的Anchor的新功能,我学Uinty3d的时候,NGUI已经是比较新的版本了,所以这里分析一下新Anchor的功能.Anchor其实并不复杂,Anchor的意思就是锚点或抛锚,只要设置了UIWidget的An

2017-05-02 19:41:11 1167

转载 NGUI源码分析(三) UISprite

Sprite继承了UIWidget,一个Sprite就是图集里面的一个基本元素,是一个非常重要和经常使用的类重要属性:UIAtlas mAtlas;//当前Sprite用到的图集UISpriteData mSprite; //Sprite数据 记录Sprite在图集中的位置,和大小,边距等信息 Material material //材质 如果图集不为空 使用图集的材质 一

2017-05-02 17:35:49 1055

转载 NGUI源码分析(二) UIWidget

UIWidget是所有UI组件的基类,持有UI组件的大小,锚点,顶点,颜色,Alpha等所有跟渲染相关的属性。关键属性:    protected Pivot mPivot //锚点    protected Color mColor; //颜色    protected int mWidth;//组件宽度     protected int mDepth = 0;//显示

2017-05-02 16:53:32 1761

转载 分析游戏项目中NGUI的组织结构

前些天做完了自己的练手项目,发现做的好乱,特别是UI部分,结构很混乱,一个Panel下面放了N多个widget,也没用把组件保存为Prefab。这两天看了一下款商业项目的UI部分的代码,发现比我的合理多了,特此总结一下这款游戏的UI结构。 1.保存方式: 所有的面板,弹出窗口等都保存为prefab,并且按模块来划.比如:      竞技场下模块下有3个窗口,就划分为3个prefab

2017-04-28 17:38:21 569

转载 NGUI源码分析(一) 核心类UIDrawCall

前阵子一直想研究一下NGUI的源码,打开一看代码很多代码很庞大不知道从何入手,然后我看代码的方法搞错了,总想一下子就把类之间的关系理清楚,看到局部的代码没看懂又老是不自觉的沉陷其中,结果是这里看懂一点,那里又没看懂,搞的我一知半解又一头雾水,结果我放弃了。后来无意中有个网友告诉我,研究代码一开始不能思路铺的太开,一开始应该从最核心的部分看起,然后一层一层的向外围展开,一次只看一个类或一个方法,别想

2017-04-28 16:39:45 2940

空空如也

空空如也

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

TA关注的人

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