问题标签 [papervision3d]
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.
flash - Papervision3D 的 Arcball 实现
Papervision3D 是否有轨迹球实现?
有许多用于 Flash/ActionScript 的轨迹球实现,但没有专门用于 Papervision3D。
下面是一个用于 flash 的轨迹球实现示例:
http://www.unitzeroone.com/blog/2009/09/08/source-better-flash-10-3d-interaction-arcball/
我已经开始基于 DirectX ArcBall 类编写自己的实现。
但是,它不能正常工作,我不知道为什么。
从立方体的初始位置,我可以按预期单击并拖动轨迹球。
但是,如果我开始在四元数中累积轴/角度,当立方体旋转足够多时,方向会反转。不应该有旋转方向的反转或任何其他奇怪的行为。
我搜索了互联网,没有发现任何与 Papervision3D 和 arcballs 直接相关的内容。(也许有另一个 3D Flash 引擎的轨迹球实现?)
在这件事上的任何帮助将不胜感激。
** 编辑 ** 为 Papervision3D 的有效轨迹球实现添加了 500 点赏金(场景中必须至少有 1 个对象(即)立方体)。
actionscript-3 - 使用基于从右到左的文本时出现 PaperVision 错误
我的代码正在生成以下错误(它应该使用 PaperVision 制作从右到左的 3D 文本动画):
[故障] 异常,信息=TypeError:错误 #1009:无法访问空对象引用的属性或方法。
但是,仅当我输入right-to-left
定向文本时才会出现此错误。当我使用英文文本时,我没有收到任何错误。
这是我的代码:
如果它是相关的:我正在使用 FlashDevelop。
关于可能导致此问题的原因或如何解决此问题的任何想法?
flash - 如何在 Flash PaperVision3D 中调整 Collada 模型的整体 alpha 值?
我想在视频流顶部显示 Collada 模型并动态调整其 alpha 值。现在我让它在 PaperVision 中部分工作,但我似乎根本无法设置模型的 alpha。我从谷歌尝试了一些东西。对于非 Collada 模型,以下工作正常:
我尝试过的所有 Collada 模型都有 UVW 贴图纹理。最后,我希望模型 alpha 可以根据一些外部事件不断调整。我在谷歌上进行了广泛的搜索,但运气不佳。
任何帮助,将不胜感激!
更新/解决
所以如下所示,我需要做的就是找到合适的孩子并直接操作它。我的代码现在看起来类似于:
现在,稍后我所做的就是使用 Tweener 来调整 currentModelContainer 的 alpha 属性。
apache-flex - 3D、AS3、Flex - 将旋转度数转换为可见高度
我需要知道更改它的rotationX 值后显示对象的可见高度是多少。
我有一个应用程序允许用户在 3D 空间中布置地板。我希望地板的大小在 3D 旋转后自动拉伸,以便它始终覆盖某个区域。
有人知道解决这个问题的公式吗?
编辑:我想我真正想做的是将度数转换为像素。
在 2D 平面上,比如 100 x 100 像素,rotationX 上的 -10 度变化意味着平面在顶部有一个不再可见的间隙。我想知道这个间隙有多少像素,以便我可以拉伸平面。
在 Flex 中,显示对象高度属性的值在应用旋转之前和之后都保持不变,这实际上可能是一个错误。
编辑 2:必须有一个通用的数学公式来解决这个问题,而不是 Flash/Flex 特定的东西。在 3D 空间中查看对象时,如果对象向后旋转(对象顶部翻跟头远离观察者),新的可见高度将基于旋转度数是多少?这可能以像素、米、肘或其他为单位。
actionscript-3 - 将 2D 对象映射到 3D 空间,保持 2D 大小
我有一个要添加到场景中的 papervision3d 球体原语。球体的半径为 285。但是,由于我的相机属性(缩放、焦点和 z),球体渲染为 206 像素,而不是我想要的 570 像素(2 * 半径)。
不久前,我发现了一篇关于这个问题的博客文章,并解释说您可以使用以下命令将场景中任何对象的 z 设置为出现在 3D 空间中的大小与在 2D 空间中出现的大小相同:
当我使用几个块时,上面的方法有效,其中半径被替换为宽度/2。由于某种原因,这不适用于球体。
关于如何让直径为 570px 的球体显示在屏幕上的任何想法和指示?
谢谢。
actionscript-3 - 将平面映射到图元
我已经遍历了顶点并将一个平面映射到每个顶点。我在正确定位飞机时遇到问题。我可以让它与一个球体一起工作,但是当我对基元进行任何更改时 - 位置是正确的,但它们不会以正确的方式面对/倾斜。
编辑:注意 - 球体的交替是在球体创建之前完成的。我更新了 Sphere 类以创建一个细长的球体。
我用来放置飞机的代码如下:
skinning - 从 COLLADA 将蒙皮网格导入 PaperVision3d 3.0 时遇到问题
我可以只导出一个网格,但是绑定到 Biped 的蒙皮修改器的网格不起作用。皮肤不是作为 TriangleMesh3D 或蒙皮类导入的,而是缺少几何图形的 DisplayObject3D 类。没有给出警告。
知道如何导入带有蒙皮导入的 COLLADA 文件吗?
caching - Papervision 渲染到电影或电影片段
我正在寻找用于渲染到纹理的 BitmapViewport3D,并且我想知道是否有一种方法可以渲染到电影或电影胶片以供以后查看。PaperVision中内置了类似的东西吗?
flash - DAE/COLLADA 模型上 UV 映射的 Papervision 问题
在 PaperVision3D 中,我正在加载一个已映射 UV 的 COLLADA 模型。一切似乎都正常,除了我得到了一些糟糕的纹理失真。谁能告诉我我所看到的以及可能的解决方案是什么?我附上了失真的图像,我将右侧明显的失真染成了红色。
http://bandcamp.fieldsofnoise.org/dump/dae-pv3d-texture-problem.png
提前致谢,
animation - 如何在 Papervision 中将动画 DAE 对象设置为特定帧
我有一个 DAE 类型的对象并想做类似的事情
任何想法如何在 PaperVision3D 中做到这一点