【问题标题】:Lighting and shadows with Cocos2D and Box2DCocos2D 和 Box2D 的光照和阴影
【发布时间】:2011-11-07 11:32:19
【问题描述】:

我目前正在使用 Cocos2d 和 Box2d 为 iPad 和 iPhone 开发游戏。 实现像本视频中那样的照明效果会非常酷:

http://www.youtube.com/watch?v=Elnpm-gNI04

在这个链接上:

http://www.catalinzima.com/2010/07/my-technique-for-the-shader-based-dynamic-2d-shadows/

我可以尝试从链接中的描述中复制 Cocos2d 和 Box2d 的效果,但我不确定我是否能够走得很远。它看起来相当高级和沉重。

如何以“简单”的方式实现这一目标?有谁知道这样的 Cocos2d 版本,或者有没有人有一些指针可以指出我正确的方向?

【问题讨论】:

  • 我认为这篇文章详细解释了阴影是如何工作的。我建议您深入研究图形/着色器编程并学习一些基本结构和程序以更好地理解。我不确定 Cocos2D 的渲染功能,但我想您应该能够移植示例(特别是因为源代码可用)。祝你好运! :)
  • 注意:Cocos2D v1.x 使用 OpenGL ES 1.1 管道,这意味着没有着色器。 Cocos2D v2.x 将使用允许您编写着色器的 OpenGL ES 2.0。但是,Cocos2D 2.0 目前仅作为非常早期的 alpha 版本提供。

标签: cocos2d-iphone box2d box2d-iphone


【解决方案1】:

http://code.google.com/p/box2dlights/ 我已经成功地制作了使用 box2d 几何和光线投射的动态光库。我的库在 gles1.0 和 gles2.0 下工作,并使用 libgdx 作为框架。这足以为移动设备的 2d 游戏提供动态实时灯光。我可以帮助将它移植到 Cocos2D。基础非常简单。当我第一次为自己的游戏破解它时,它不到 100 行。

示例: 点光源从它周围的中心 n 条光线射出,并记录最近的碰撞点。这些碰撞点用于使用渐变着色并使用加法混合绘制的网格。

【讨论】:

  • 这看起来太棒了!我很想在我的游戏中实现这一点!请帮我把它移植到 Cocos2D! :D
【解决方案2】:

尝试查看此链接。

http://www.cocos2d-iphone.org/forum/topic/27856

他遵循 Catalin Zima 使用的技术,使用 cocos2d + 花栗鼠成功添加了简单的动态光。 请注意,如果您下载他的项目并尝试编译 iOS 构建,则删除“运行脚本”构建阶段,因为您可能会遇到脚本未找到错误。更多关于移除此类阶段的信息可以查看here

【讨论】:

    猜你喜欢
    • 2019-09-29
    • 1970-01-01
    • 2022-01-05
    • 2017-08-29
    • 2015-10-20
    • 2015-06-29
    • 1970-01-01
    • 2011-09-20
    相关资源
    最近更新 更多