4

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

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

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

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

4

4 回答 4

1

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

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

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

使用图形引擎制作逼真的火焰真的很难,而且看起来很假——除非你的预算很大。

于 2010-10-25T22:39:41.687 回答
1

您可以查看有关粒子生成的 Nehe 教程:

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

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

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

于 2010-10-25T22:55:34.973 回答
0

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

于 2010-10-25T22:36:11.287 回答
0

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

于 2010-10-25T22:47:57.943 回答