我已经下载了最新的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
谢谢!
答案 0 :(得分:0)
我认为这是一个与鼠标相关的问题,因为只有在鼠标悬停在View上时才会出现错误。我已经在view3d
中禁用了鼠标选择,但消息已经消失,但这会使场景脱离交互性:
view3d.mouseEnabled = false;
view3d.mouseChildren = false;
view3d.mousePicker = null;
Saqoosha先生实施了FLARToolkit的4.1.4 Gold版本