动态光影

Dynamic lighting and shadows,动态光影 - 这在 3D 游戏中根本不算个事儿。可是,当想要在像素游戏中实现的时候,就没那么简单了,我们之前报道过 Sprite Lamp,那已经是三年前的报道了,不过显然当时就引起了不少人的兴趣,这种利用法线贴图的方式看起来效果真的很不错,这几年间也有不少像素游戏采用了这种方式来实现动态光影效果,当然不都是使用 Sprite Lamp 啦。由于原理简单,出现了大量类似的软件。不过 Sprite Lamp 对 Unity 和 Game Maker 都支持得不错,所以应该还是用得最多的。

最近,我在例行闲逛的时候,发现了这么一款游戏:Pathway

所以,这篇到底是 Preview 还是 Development 的分类呢?

Pathway 的动态光影效果

废话是没有用的,我其实是看了下面这幅标题图片而被吸引着进入 Pathway 的网站的:

Pathway

开始我以为这效果是做出来的,后来才发现原来是算出来的……3D、2D 都不稀奇,混合起来观感就大不同了。

这款游戏的开发团队叫做 Robotality,来自德国的哈姆林镇,由 Bachmann 兄弟和 Nia Schmidheiny(名字看起来好像是位女战士)于 2013 年创建,不过合作开发游戏的小伙伴则遍布全世界,包括加拿大、英国以及巴西的成员。

Pathway 是一款回合制的策略游戏,Robotality 之前的作品 Halfway 也是一款回合制策略游戏,Pathway 可以说是比前作提升了一大截。

这款游戏从 2014 年就开始开发了,现在是处于 pre-alpha 阶段。开发团队为这款游戏投入了大量了精力,不过呢,最值得一提的是他们自己研究出了一种号称体素 / 像素混合的技术,然后就实现了我们前面看到的那种颇为惊人的动态光影效果。手机号码卖号平台开发团队认为复古的像素加以现代的科技会让游戏的体验变得更加丰富,更别提游戏本身就是发生在 1930 年代,整体风格也特别适合采用这种技术来表现。

再看一下昼夜交替的效果:

这看起来确实是有些技术突破的样子,等到发行的时候——是的,快要发行了,2017 年,登陆 Mac / Windows / Linux,显然还会是 Steam,那个时候我们再探探究竟。

至于实现技术具有怎样的细节,我们还不得而知,希望游戏发行后,开发团队能够放出一些技术细节来吧。

延伸阅读

是的,其实今天内容就这么点儿,但是我给大家分享一些相关的内容,对 2D 光影有兴趣的同学不妨点开来瞧瞧:

首先,Unity 现在直接实现起来也不费事啦,有很多教程,可以自己搜搜。

这里列出了很多与 Sprite Lamp 相似的 2D 光影技术,很多是开源的,不妨随意选用。

著名的 SpriteSheet 生成工具 TexturePacker 的公司出品,品质保障啊,看起来很好用的样子。

SpriteIlluminator,看起来相当专业,功能也很多

Kickstarter 上的项目,也是同样的法线生成功能。

采用 Sprite DLight 技术制作的游戏:Bravery and Greed

这是一篇关于如何实现 2D 光影效果的 Blog,介绍了其它的实现方法,有不少有用的链接,顺藤摸瓜,看起来真是津津有味!

复杂的多色彩光照场景

这一篇不仅实现了另外一种光影效果,还给出了部分实现代码(WebGL Shader),强烈建议读一读!

教程中实现的光影效果,注意建筑物的阴影

像素游戏的动态光影效果相关推荐

  1. 像素游戏的动态图设计01

    角色名字是奶茶,游戏名是:少女的求生之路-血色洋馆- 目前还处在素材筹备阶段=-= 总之先发点内容试试吧.

  2. 图扑智慧地下采矿,“像素游戏”智能呈现

    在这个像素世界里,我们需要一个智能地下采矿可视化综合管理平台,来帮助我们管理和监控地下采矿全流程. 图扑软件依托自主研发的 HT for Web 产品,结合三维定制化渲染.动态模拟.物理碰撞.5G.物 ...

  3. 智慧地下采矿,“像素游戏”智能呈现

    在这个像素世界里,我们需要一个智能地下采矿可视化综合管理平台,来帮助我们管理和监控地下采矿全流程. 图扑软件依托自主研发的 HT for Web 产品,结合三维定制化渲染.动态模拟.物理碰撞.5G.物 ...

  4. android unity hook,[原创]Unity3d安卓游戏DLL动态调式与HOOK基础

    [原创]Unity3d安卓游戏DLL动态调式与HOOK基础 2016-4-4 02:40 8207 [原创]Unity3d安卓游戏DLL动态调式与HOOK基础 2016-4-4 02:40 8207 ...

  5. JavaScript实现跳跃游戏的动态编程自上而下的方法算法(附完整源码)

    JavaScript实现跳跃游戏的动态编程自上而下的方法算法(附完整源码) dpTopDownJumpGame.js完整源代码 dpTopDownJumpGame.test.js完整源代码 dpTop ...

  6. JavaScript实现跳跃游戏的动态编程自下而上的方法的算法(附完整源码)

    JavaScript实现跳跃游戏的动态编程自下而上的方法的算法(附完整源码) dpBottomUpJumpGame.js完整源代码 dpBottomUpJumpGame.test.js完整源代码 dp ...

  7. 新手教程:用像素游戏制作大师MV开发游戏(一)

    第一步 本指南,是面向第一次接触本系列的用户为对象制作的. 首先,从最初级的用自己制作的角色打到敌人这一部分开始介绍吧. 第一步"设置角色并让其动起来" 用像素游戏制作大师MV制作 ...

  8. 关于低分辨率像素游戏下显示非防锯齿中文 / 汉字的研究

    面临的问题 像素游戏是独立游戏的一种常用表现方式,在制作中文游戏时我们要面临显示点阵汉字的问题.当前各大游戏引擎中都会有显示中文的功能,但显示出来的中文字体效果一般都差强人意任意,在低分辨率的像素游戏 ...

  9. 浅谈2011年上半年Java游戏领域动态

    浅谈2011年上半年Java游戏领域动态 时间过得真快,转瞬已是 2011 年 6 月,仿佛都能听到 2012 正率领天启四骑士向我们快速冲锋的马蹄声了.所以趁着世界还没毁灭,我就先来谈谈 2011 ...

最新文章

  1. little w and Soda(思维题)
  2. 周志华、张潼亲自辅导AI课程,DeeCamp 2019正式启动
  3. nutz微信应用开发项目 nuby
  4. js中 replace(/\//g, '') 什么作用. 正则表达式
  5. GraphicsMagick 1.3.25 Linux安装部署
  6. 【KVM系列01】KVM简介及安装
  7. cetos 中vsftpd从安装到配置完全教程
  8. c#获取Windows Mobile短信
  9. VC++控件加载BMP图片(静态和动态方式)
  10. 比long 大的数用__int64 输出符%I64d
  11. mysql 删除创建表分区,MySQL分区表创建,分区创建、删除示例
  12. 你会装系统吗?(安装macOS系统-使用OpenCore引导吃上黑苹果)
  13. 研究生数学建模竞赛准备
  14. 如何高效完成产品生命周期管理
  15. CAN协议深度解析-简单易懂协议详解
  16. Android recovery分区表
  17. 开放平台API安全设计方案
  18. 如何规避采购风险?五种有效的采购风险防范措施
  19. MySQL面试常问大全
  20. C/c++中内存拷贝函数memcpy详解

热门文章

  1. 浙大提出会打德扑的「自我博弈」AI,还会玩射击游戏
  2. 完课率最高 | 带学吴恩达《机器学习》课程和作业,带打Kaggle全球顶级大赛!...
  3. 我的研究生这三年(含腾讯AI Lab实习、CVPR发表经验)
  4. 电脑打字手指正确姿势_正确的投篮姿势教学,许多人都忽略的细节,学会变投篮神射手...
  5. vhdl变量赋初值_5.5 C++自动变量
  6. 静态路由与动态路由的优先级_静态路由基础知识
  7. mysql %和正则_mysql 正则模式和like模糊查询
  8. springboot集成mybatis源码分析(一)
  9. containsObject 总是不含有,你会用吗
  10. 树莓派摄像头基本操作