【问题标题】:Simulating a candle flame in Objective C在 Objective C 中模拟蜡烛火焰
【发布时间】:2010-10-25 22:29:26
【问题描述】:

作为当前项目的一部分,我被要求在屏幕上显示蜡烛。用户应该能够倾斜设备以倾斜火焰,并执行动作(例如轻敲)以吹灭火焰。我对如何实现这一目标感到非常茫然。我的一些想法:

  • 从股票视频网站购买蜡烛电影。但这不会让我倾斜或吹灭火焰
  • 获取一些帧并对其进行动画处理以呈现闪烁火焰的外观
  • 使用某种形式的粒子发射器

我想我的偏好可能是使用粒子发射器,因为我看不到视频正常工作,并且为帧动画获取必要的资源可能是个问题。我知道 Cocos2D 有一个粒子发射器,但这是一个更大的 UIKit 项目的一部分,它不能被撕开并重新开始构建在 Cocos2D 之上。

有人对我如何实现这一点有任何想法吗?

【问题讨论】:

    标签: iphone objective-c animation particles


    【解决方案1】:

    你可以看看 Nehe 的粒子生成教程:

    http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=19

    调整它来制作看起来像蜡烛的东西并不难。

    (您可以为此在另一个视图中嵌入一个 GL 视图。)

    【讨论】:

      【解决方案2】:

      对于之前的项目,我们有一个网站必须“烧掉”才能在下面显示新网站。这是通过记录一张燃烧的纸的图像,然后让擅长图形处理的人清理和循环视频来完成的 - 这是在 Flash 中完成的。

      您可以将这种技术应用到您的蜡烛视频中。找出您需要拍摄的镜头来模拟您想要创建的所有状态,包括倾斜和吹灭火焰,并记录它们。然后将其传递给可以创建动画循环的人。

      显然这样的事情会花费一些钱,但它会产生最好的结果。

      使用图形引擎很难实现逼真的火焰,而且看起来很假 - 除非你有大量预算。

      【讨论】:

      • 感谢您的意见,我同意这可能看起来最好。不幸的是,正如你所说,金钱是最大的障碍。
      【解决方案3】:

      这不是一个真正的 Objective-C 问题。您需要的是编写 OpenGL 着色器的介绍。

      【讨论】:

        【解决方案4】:

        您仍然可以在 GL 中使用粒子生成器并在其他界面之上的一个层中运行它,这样您就不必拆散整个应用程序。我看到有些人抱怨混合使用这些方法的性能,但对于一个简单的情况,它应该可以正常工作。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-02-28
          • 1970-01-01
          相关资源
          最近更新 更多