问题标签 [stage3d]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
actionscript-3 - 如何优化此方法?
我一直致力于创建一个可以TextureAtlas
在需要时生成动态对象的资产类。具体方法是Assets.generateTextureAtlas()
,我正在尝试尽可能优化它,因为我经常需要重新生成纹理图集,并希望获得比我平均 53 毫秒更好的时间。
53ms 目前花费了我大约 3 帧,这可以快速增加我需要在我的纹理图集中打包的更多项目以及我需要生成它们的频率。因此,我的代码中所有陷阱的答案会很棒。
该类RectanglePacker
仅用于将矩形尽可能紧密地打包在一起(类似于 Texture Packer),可以在此处找到。
供参考,方法如下:
actionscript-3 - AS3 Softbody 质感八哥
我在颈背上创建了一个柔软的身体圈。现在我正试图让它纹理化。但我遇到了麻烦,我找不到答案。这就是为什么我转向你们。
我正在尝试在这个目标 c 教程中做他正在做的事情:
http://www.uchidacoonga.com/2012/04/soft-body-physics-with-box2d-and-cocos2d-part-44/
关于如何使用 starling 和 stage3d 做到这一点的任何想法?
actionscript-3 - 设置 flex 应用程序背景可见性
我对 Flex 很陌生,但我正在使用 Away3d 将 Web 应用程序移植到其中。我有点进退两难:
用最简单的话来说:
我需要将应用程序背景设置为可见 = false,而不仅仅是 alpha = 0,因为它会阻止需要在其后面的项目的鼠标事件。
我实际上正在尝试做的事情:
如果我将 View3D 添加到 Stage,它的索引仅与显示列表和事件(鼠标等)相关,它总是会呈现在其他所有内容之后 - 所以我必须在 Application 标签中设置 backgroundAlpha="0" 才能看到它。然而,这给我留下了两个选择,这两种选择都不理想:
在 childIndex(0) 处添加 View3D,绑定到 View3D 的鼠标事件被不可见(但仍然存在)的应用程序后台拦截。但是,在最高索引处添加到舞台将阻止 flex 组件工作,因为它们在技术上位于视图下方,即使它们看起来更高。
我需要我的 View3D 来响应鼠标事件,并且我需要覆盖 Flex 组件。我宁愿不使用隐藏的精灵来拦截/重新调度事件或其他东西,有没有办法简单地设置应用程序背景可见性?
提前致谢
actionscript-3 - 这个 AGAL 输出正确吗?
我正在尝试转换此着色器:
和
结果(这个输出对你来说看起来不错吗?或者我遗漏了一些东西):
和
但是,如果我将 AGAL 顶点着色器更改为一些非常简单的工作,我将无法显示任何内容:
当我通过以下方式将 GLSL 转换为 AGAL 时,我添加了常量:
我准备了所有这样的缓冲区:
有什么建议么?
actionscript-3 - Stage3D 将 GLSL 移植到 AGAL
我正在尝试将此 GLSL 着色器移植到 Stage3D 和 AGAL,但我无法使其工作:
顶点着色器 (GLSL)
片段着色器 (GLSL)
结果是:
顶点着色器 (AGAL)
片段着色器 (AGAL)
这是我执行的指令的跟踪:
但我还是什么都看不到。
更新:显然问题是三角形被剪裁了。相乘数组上的值大于 1.0,这使得它们被剪掉。所以我需要找到一种方法来规范化矩阵或扩展剪裁
有什么建议吗?
3d - 将模型空间向量转换为剪辑空间
我正在实现一个简单的顶点着色器来展示位图。定义了 4 个顶点,每个顶点着色器使用各自的 UV,连同位图宽度/高度除以视口宽度/高度,来修改剪辑空间位置。非常典型的东西,这里有一些存根代码:
我想要做的是在世界空间中定义的向量的方向上偏移位图,该向量的大小是固定数量的像素。这里棘手的部分是如何将世界空间向量转换为剪辑空间。我曾尝试在没有翻译组件的情况下使用 objectToClipSpaceTransform,但结果不正确。那么,我该怎么做呢?
mobile - 移动 Adobe Flash AIR 上的摄像机和 Stage3D。AIR 上的增强现实
快速提问
如何使用 Stage3D 在 Adobe AIR 应用程序上快速显示网络摄像头?
详细问题
关于
我的目标是创建 AR(增强现实)移动应用程序的原型。我选择 Adobe Flash AIR 是为了在移动设备和 AIR 应用程序上提供良好的 3D 图形支持,以便轻松移植到许多移动平台(iOS、Android、Blackberry Playbook)。
目的
我想展示复杂的 3D 模型(所以我需要使用 Stage3D)。在前置摄像头的视频下方。像往常一样的 AR 应用程序。
这里是例子
(来源:augmentedplanet.com)
问题
Stage3D 根本不透明,所以我不能使用 StageVideo 快速显示 Camera 的内容,因为 StageVideo 在 Stage3D 下看不到。
所以
我发现的唯一决定是创建具有动态纹理更新的平面。
这是webcamvideo 与 Starling Framework (Stage3D) 集成的示例。但是对于许多普通的移动设备,我们会获得如此大的纹理更新(几乎是屏幕分辨率的大小),以至于任何应用程序都会降到低 fps 甚至崩溃。例如,我在 Galaxy Note 上做了什么。它具有 320x200 的纹理大小,具有相当好的性能,但在 AR 应用程序中看起来很难看。
那么在 AIR 上创建 AR 有什么出色的解决方案吗?有人有同样的挑战吗?
flash - Stage3D 仿射纹理与正确的透视划分
在使用透视矩阵时,Stage3D 究竟如何能够做出正确的纹理映射?
除了 UV 之外,没有其他信息从顶点传输到片段程序,所以我只能假设它是幕后的东西。
我正在使用 20x20 三角形网格扭曲纹理以规避仿射贴图效果,但是否可以使用内置的透视分割来获得相同的效果?
flash - RangeError:错误 #3609:流 0 没有足够的顶点
我正在使用 stage3D 开发一个 3D 旋转立方体。
我可以在 Firefox 中完美地看到结果,但在 Chrome 中我什么也看不到。当我设置:
我从浏览器收到此回调
顶点的数量虽然很好。
有什么建议吗?
actionscript-3 - 我可以阻止 Stage3D 写入 Z 缓冲区吗?
我想渲染隐藏的对象并达到与 Stage3D 中的链接中显示的效果类似的效果。
我已经知道如何在理论上做到这一点。我必须绘制对象两次:
- 一旦正常设置和
- 一次使用不同的深度排序模式,其中仅显示渲染几何图形后面的像素。此外,为了防止以后出现奇怪的效果,这些像素不能渲染到深度缓冲区中。
我可以在 Stage3D 中使用Context3DCompareMode.GREATER
. 是否也可以让 Stage3D 将像素渲染到后台缓冲区,而不是 z 缓冲区?
如果我不能阻止 Stage3D 渲染到深度缓冲区,效果将如下所示: