SpriteBuilder实现2D精灵光影明暗反射效果(二)

简介:

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

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

这里写图片描述

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

将2张不带_n后缀的图片分别拖到黑黑的场景中去,调整到合适位置.
分别将2个精灵的Normal map设置为_n后缀的对应图片:

这里写图片描述

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

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

这里写图片描述

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

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

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

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

这里写图片描述

本篇完.

相关文章
Threejs使用精灵Sprite作为标签,鼠标悬浮精灵上时鼠变小手
Threejs使用精灵Sprite作为标签,鼠标悬浮精灵上时鼠变小手
1536 0
Threejs使用精灵Sprite作为标签,鼠标悬浮精灵上时鼠变小手
|
1月前
threeJs用精灵模型Sprite实现下雨效果
这篇文章介绍了使用Three.js中的Sprite(精灵)模型来实现下雨特效的方法和技术细节。
59 2
threeJs用精灵模型Sprite实现下雨效果
|
3月前
|
图形学
小功能⭐️解决Unity无法对一个物体上的所有材质球进行更改
小功能⭐️解决Unity无法对一个物体上的所有材质球进行更改
|
3月前
|
图形学
小功能⭐️Unity中利用材质自发光实现物体闪烁效果
小功能⭐️Unity中利用材质自发光实现物体闪烁效果
|
5月前
|
图形学
【unity小技巧】实现FPS武器的瞄准放大效果(UGUI实现反向遮罩,全屏遮挡,局部镂空效果)
【unity小技巧】实现FPS武器的瞄准放大效果(UGUI实现反向遮罩,全屏遮挡,局部镂空效果)
79 1
|
iOS开发 MacOS Windows
Unity2D像素游戏开发——Aseprite简单人物绘画+动画制作导出精灵表示例
Unity2D像素游戏开发——Aseprite简单人物绘画+动画制作导出精灵表示例
657 0
Unity2D像素游戏开发——Aseprite简单人物绘画+动画制作导出精灵表示例
简简单单修改游戏对象的材质颜色,一起来看看(Unity3D)
前段时间比较忙,好久没更新博客了,感觉技术都下降了,还是要坚持输出呀。 孔子曰:"学而不思则罔,思而不学则殆",不能光学习,还要学会思考,要能用起来。 将自己学到的东西记录下来,这样会让学习更加有效。
|
编解码 前端开发 定位技术
零基础教你Unity制作像素鸟游戏
保姆级教程,刚入门的小白也能看懂的文章。一文教你零基础制作Unity板像素鸟游戏
665 0
零基础教你Unity制作像素鸟游戏
|
编解码 vr&ar 图形学
Unity镜子效果的实现(无需镜子Shader)
Unity镜子效果制作教程 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心...
2463 0
|
Python
pygame精灵类实现房子爆炸效果
版权声明:本文可能为博主原创文章,若标明出处可随便转载。 https://blog.
1439 0