Eug*_*ets 6 webcam mobile augmented-reality stage3d starling-framework
如何使用Stage3D在Adobe AIR应用程序上快速显示网络摄像头?
我的目标是创建AR(增强现实)移动应用程序的原型.我已选择Adobe Flash AIR在移动和AIR应用程序上获得良好的3D图形支持,可轻松移植到许多移动平台(iOS,Android,Blackberry Playbook).
我想展示复杂的3D模型(所以我需要使用Stage3D).在Front Camera的视频下方.像往常一样AR应用.
http://www.augmentedplanet.com/wp-content/uploads/2009/11/AR-Dungeons-Challenge.JPG
Stage3D根本不透明所以我不能使用StageVideo快速显示Camera的内容,因为StageVideo在Stage3D下没有看到.
只有我发现的决定 - 创建具有动态纹理更新的平面.
以下是webcamvideo与Starling Framework(Stage3D)集成的示例.但是对于许多普通的移动设备,我们得到如此大的纹理更新(几乎与屏幕分辨率一样大),任何应用程序都会降低到低fps甚至崩溃.我在Galaxy Note上做了什么.凭借320x200的纹理尺寸,它具有相当不错的性能,但在AR应用程序看起来很难看.
那么在AIR上创建AR的任何出色解决方案都是如此?有人有同样的挑战吗?
不幸的是,这个用例在 AIR 中没有得到很好的支持。您最好的选择实际上是手动上传。在 Adobe 论坛上为透明 Stage3D 的功能请求添加投票可能会有所帮助。
现在来解释为什么这个功能的优先级较低:如果您正在做 AR,您可能已经在视频上进行 CPU 工作了。这意味着您已经读回相机数据以便在 CPU 上进行处理或作为 Stage3D 纹理进行处理。这是最昂贵的部分,而不是将纹理上传回 Stage3D。
为了让它发挥作用,需要有很多复杂的代码路径才能完美地协同工作。在所有支持的设备上:
不幸的是,这非常困难。在许多移动芯片组上,视频/摄像头、CPU 和 3D 是非常独立的单元,因此很难在不停止或复制的情况下在它们之间共享数据。如果您针对特定硬件,则可以做得很好。我知道这并不能解决您的问题,但我希望它能解释为什么这个用例在 AIR 中还不能很好地工作。我认为你有这些选择:
我希望这个能有一点帮助。在开发 Stage3D 时,这种确切的用例时不时就会出现。我仍然认为它真的很酷!也许这篇文章解释了为什么它还没有成为列表的顶部。
归档时间: |
|
查看次数: |
2056 次 |
最近记录: |