自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 Unity3D中摄像机常用技巧Dolly&nbs…

最近学习Unity3D文档的过程中,看到了几种关于摄像机的技巧。其中Dolly Zoom和ObliqueFrustum属于摄像机的特效,而Occlusion Culling属于摄像机的优化。这里稍微总结一下。1)DollyZoom,即滑动变焦,是一种常用的摄影技巧。这种技巧可以突出场景中的目标对象,目标对象来摄像机移动的过程中基本保持不变,而目标对象周围的景物则产生一种剧烈变化的扭曲效果。具

2015-06-22 09:23:03 846

原创 Unity3D中的Grobal Illuminit…

GrobalIlluminition,全局照亮,这个系统模拟了场景当中所有物体的表面对光线的反射,从而对其他物体造成的影响。普通的光照系统只是简单的计算光源对于某个表面的的影响,例如表面的颜色,表面对光线的吸收强度等,而GI在此基础上还要考虑来其他物体表面反射过来的光线,从而达到细致而真实的效果。GI要计算物体之间的相互影响,这无疑要耗费大量的资源。所以最基础的GI方法是Bake。所谓烘烤,

2015-06-22 09:23:00 378

原创 unity3D中阴影渲染的shadow a…

shadow ance和peterpanning是光线下产生阴影的常见问题,问题的产生可以参考这里,非常详细。因为链接中的例子实在OpenGL上的,这里我记录一下自己在unity3D中两个问题的出现和对应的简单解决办法。      阴影的生成过程包括两个主要过程:1)从光源方向对场景进行渲染,通过一个深度系统,渲染出一个shadow map,用于记录那些离光源较近的表面。2)从正常的角度

2015-06-22 09:22:58 947

原创 coco2dx使用控制台输出LOG信息

AppDelegate::AppDelegate() {AllocConsole();freopen("CONOUT$", "w", stdout); freopen("CONOUT$", "w", stderr);}AppDelegate::~AppDelegate() {fclose(stdout);fclose(stderr);FreeConsole();}AllC

2015-06-22 09:22:56 319

原创 cocos2d-x 使用 cocostu…

cocostudio可以很方便的编辑UI界面、骨骼动画和场景,编辑好的项目资源可以打包,导入到cocos2d-x的项目中使用,而不再需要编译-修改-编译-修改这种笨方法,可以一步看到效果,非常方便。动画使用:   骨骼动画包装在Armature中,创建过程如下:1)首先加载动画资源到骨骼动画数据管理器中CCArmatureDataManager::sharedArmatureDataM

2015-06-22 09:22:53 390

原创 头文件相互包含问题

这几天在写一个普通的消除方块的游戏,已经接近尾声,大概花了24小时左右。快要结束的时候又让我遇到了以前遇到过的一个问题,而且还忘记了,于是回顾了一下。趁有空顺便写个终结,以防再遇到。相互包含的情况在越大型的项目中越容易出现,虽然不知道是不是可以通过逻辑优化的方式解决,但是实际上还是有方便的方法解决的。下面是出现相互包含的具体代码。A.h中#include"B.h"class CA{C

2015-06-22 09:22:51 240

原创 cocos2d-x内存管理初步窥探之retai…

今天在使用CCArray的时候发现,在一个类中使用CCArray作为一个成员时,CCArray总会在初始化之后总会很诡异地被释放掉了,于是找了一些相关的博文看了一下,也算是对cocos2d-x中的一些内存管理规则有了更深刻的理解。   aretain、release和autorelease都是继承自CCObject这个基类的,具体负责的就是一些关于内存管理的工作。每个CCObject在被初始化

2015-06-22 09:22:48 251

原创 cocos2d-x中CCCallFunc系列动作

今天复习了一下CCCallFunc的用法,觉得这个系列的动作非常方便灵活,是动作中必须学习的部分。这个系列的函数本质也是cocos2d-x内置的动作类,像其他任何动作类一样可以由CCNode执行runaction。   CCCallFunc系列函数包括CCCallFunc、CCCallFuncN、CCCallFuncND、CCCallFuncO。这4个函数的末尾分别代表了目标回调函数的参数类型

2015-06-22 09:22:46 419

原创 cocos2d-x的触摸输入

如今大屏智能手机和平板已经成为了人手必备的通信设备,游戏的交互方式也发生了巨大的变化。在pc上使用键盘和鼠标进行游戏交互,而在移动设备上基本上都是使用触摸屏作为交互。cocos2d-x作为一款手机游戏引擎,内部也提供了非常方便灵活的支持。   方法1:直接开启CCLayer的TouchEnable属性。CCLayer的一个重要作用就是接受用户的输入,自身已经封装好了触摸接口,只需要将Tou

2015-06-22 09:22:43 220

原创 cocos2d-x中动作类Action的2个常犯…

今天在用Action类的时候犯了一个以前犯过的小错误,于是想写出来,以防再犯。   Action用于操纵精灵在屏幕上的一切动作,包括移动,缩放,旋转,隐藏重现。。。。。。有瞬时动作和持续动作,也可以利用复合动作构造出更多更复杂的动作。虽然自身有一点的局限,但是足以应付大部分我们能想到的操作。当然我们也可以启动精灵的update定时器后重载update函数实现属于自己的动作。这也是Action类

2015-06-22 09:22:41 427

原创 cocos2d-x实现背景无限循环

横版卷轴游戏一般把角色放在屏幕特定位置,通过移动背景,造成人物往反方向移动的错觉。cocos2d-x中可以用同一张背景图生成2个精灵,让他们首尾相连,一起移动。每一帧检查前者位置,一旦超出屏幕范围(不可视),重新设置坐标紧跟后者。形象的比喻就是2个人在排队办业务,排在前面的人办好了又回到队伍后面。代码如下:class SprBg :public cocos2d::CCLayer{pu

2015-06-22 09:22:38 600

原创 GDI中利用双缓冲防止画面抖动

一般来说,在gdi中,对窗口的进行绘图和刷新图像会用到hdc设备上下文句柄,形式一般如下:HDC hdc = NULL;hdc = GetDC(HWND);得到hdc后就可以对窗口进行各种图形操作。但是在游戏编程中如果原本属于同一帧的图形被分别放在了显卡的2个刷新周期,就会导致窗口显示的内容在人眼看起来时不时闪烁。解决这个问题我们可以使用双缓冲技术。双缓冲技术的原理是声明一个内存DC

2015-06-22 09:22:36 607

基于HGE的打方块游戏

基于HGE引擎写的小游戏,对刚开始接触HGE和游戏引擎可能有一些帮助

2013-11-15

空空如也

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

TA关注的人

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