快捷搜索:  汽车  科技

ios 游戏开发工具(iOS游戏开发实现2D精灵光影明暗反射效果)

ios 游戏开发工具(iOS游戏开发实现2D精灵光影明暗反射效果)使用SpriteBuilder新建一个项目 将默认MainScene.ccb中的内容统统删掉 此时场景应该是一片漆黑.还是相当不错的 下面我们就来简单说说用SpriteBuilder如何完成类似效果.至于怎么用 大家可以看其简明教程:https://www.codeandweb.com/blog/2015/03/17/cocos2d-dynamic-lighting-tutorial 而在这里可以看到更多的教程:https://www.codeandweb.com/blog 以下就是其教程中 app完成后实际的效果:

ios 游戏开发工具(iOS游戏开发实现2D精灵光影明暗反射效果)(1)

其实不用3D建模 用2D的图像就可以模拟3D场景中光照反射的效果.

这里我们不得不提到一个normalMap(法线图)的概念 请各位童鞋自己度娘吧 简单来说它可以使得2D表面生成一定细节程度的光照方向和反射效果.

我们首先要制作精灵的法线贴图 至于怎么做 懂3D制图的童鞋应该都知道 有专门的软件.不过对于本猫猪这种图痴来说 也有简单容易上手的工具 名字为SpriteIlluminator 可以到其官网下载:

https://www.codeandweb.com/spriteilluminator

软件非常不错 可惜要收费 ;( 不过有7天的试用期限 以下是软件运行界面:

ios 游戏开发工具(iOS游戏开发实现2D精灵光影明暗反射效果)(2)

至于怎么用 大家可以看其简明教程:

https://www.codeandweb.com/blog/2015/03/17/cocos2d-dynamic-lighting-tutorial

而在这里可以看到更多的教程:

https://www.codeandweb.com/blog

以下就是其教程中 app完成后实际的效果:

ios 游戏开发工具(iOS游戏开发实现2D精灵光影明暗反射效果)(3)

ios 游戏开发工具(iOS游戏开发实现2D精灵光影明暗反射效果)(4)

还是相当不错的 下面我们就来简单说说用SpriteBuilder如何完成类似效果.

使用SpriteBuilder新建一个项目 将默认MainScene.ccb中的内容统统删掉 此时场景应该是一片漆黑.

将官网中的2张图片以及我自己做的2张图片全部拖拽到其文件视图中去:

ios 游戏开发工具(iOS游戏开发实现2D精灵光影明暗反射效果)(5)

其中加_n后缀的图片表示原图的法线贴图.

将2张不带_n后缀的图片分别拖到黑黑的场景中去 调整到合适位置.

分别将2个精灵的Normal map设置为_n后缀的对应图片:

ios 游戏开发工具(iOS游戏开发实现2D精灵光影明暗反射效果)(6)

分别打开2个精灵的Lighting特效.这时已经可以看到光影效果 可惜这时SpriteBuilder给你的”假象” 如果此时编译运行该app 只能看到黑漆漆一片 因为这时还没有添加任何光源呢.

从控件库拖拽一个Light Node节点到场景中 相当于给场景添加了一个光源.你会发现随着光源的移动 2个精灵光影有着明显的变化:

ios 游戏开发工具(iOS游戏开发实现2D精灵光影明暗反射效果)(7)

为了模拟更加逼真 再从控件库拖动一个粒子效果节点.将其调整为火焰状.把该粒子节点和上面的Light节点一起放到一个CCNode中去 设置该节点的代码连接为_fireNode.

然后在Xcode打开MainScene.m文件 启用触摸 然后建立对应的触摸回调方法:

-(void)touchMoved:(CCTouch *)touch withEvent:(CCTouchEvent *)event{ CGPoint location = [[CCDirector sharedDirector] convertTouchToGL:touch]; _fireNode.position = location; }

编译运行该App 你可以看到实际效果如下:

ios 游戏开发工具(iOS游戏开发实现2D精灵光影明暗反射效果)(8)

要被烤熟了的赶脚 不过效果也是美美哒!!!

猜您喜欢: