0

我已经下载了最新的 FLARToolKit 版本和 Away3D 4.1.4 Gold,似乎 FLARToolKit 附带的自定义 Camera3D 支持类不再兼容。我不断收到此错误。

Error: An abstract method was called! Either an instance of an abstract class was created, or an abstract method was not overridden by the subclass.
at away3d.cameras.lenses::LensBase/unproject()
at away3d.cameras::Camera3D/unproject()
at away3d.containers::View3D/unproject()
at away3d.core.pick::RaycastPicker/getViewCollision()
at away3d.core.managers::Mouse3DManager/updateCollider()
at away3d.containers::View3D/render()

我基本上只是用 FLARToolKit 重新创建了提供的示例类,它在设置 Away3D 视图时具有以下行:

_view.camera = _markerSystem.getAway3DCamera();

似乎需要重写 unproject() 方法。虽然这样做并返回一个通用向量可以解决问题,但它可能会使该方法无用!我对 3D 变换和矩阵知之甚少,无法正确覆盖它。

有人遇到过这个问题吗?如果是这样,您是如何解决的?

Away3D:http ://away3d.com

FLARToolKit:http ://www.libspark.org/wiki/saqoosha/FLARToolKit/en

谢谢!

4

1 回答 1

0

我认为这是与鼠标选择相关的问题,因为该错误仅在鼠标悬停在视图上时发生。我在 中禁用了鼠标选择,view3d消息消失了,但这让场景失去了交互性:

view3d.mouseEnabled = false;
view3d.mouseChildren = false;
view3d.mousePicker = null;

Saqoosha 先生实现了 FLARToolkit 的 4.1.4 Gold 版本

于 2013-12-10T19:01:12.350 回答