gpt4 book ai didi

增强现实中的 3D 模型操作

转载 作者:行者123 更新时间:2023-12-04 23:52:14 27 4
gpt4 key购买 nike

我正在使用 FLARManager 和 papervision3d 来实现一个小型的增强现实 hack。

我的要求是在单击按钮时使模型偏转。

这是我到目前为止所做的:

public class AugmentedReality extends Sprite
{
private var flarManager:FLARManager;
private var scene:Scene3D;
private var camera:FLARCamera3D;
private var viewport:Viewport3D;
private var renderEngine:LazyRenderEngine;
private var pointLight:PointLight3D;
private var activeMarker:FLARMarker;
private var model:DAE;
private var modelContainer:DisplayObject3D;

public function AugmentedReality()
{
start();
}

private function start():void
{
flarManager = new FLARManager("../resources/flar/flarConfig.xml");
addChild(Sprite(flarManager.flarSource));
flarManager.addEventListener(FLARMarkerEvent.MARKER_ADDED, onMarkerAdded);
flarManager.addEventListener(FLARMarkerEvent.MARKER_UPDATED, onMarkerUpdated);
flarManager.addEventListener(FLARMarkerEvent.MARKER_REMOVED, onMarkerRemoved);
flarManager.addEventListener(Event.INIT, onFlarManagerInited);
}

private function onFlarManagerInited(evt:Event):void
{
flarManager.removeEventListener(Event.INIT, onFlarManagerInited);
scene = new Scene3D();
camera = new FLARCamera3D(flarManager.cameraParams);
viewport = new Viewport3D(stage.stageWidth, stage.stageHeight);
addChild(viewport);
renderEngine = new LazyRenderEngine(scene, camera, viewport);
model = new DAE(true, "model", true);
model.load("../resources/assets/geom.dae");
model.scale = 30;
modelContainer = new DisplayObject3D();
modelContainer.addChild(model);
modelContainer.visible = false;
scene.addChild(modelContainer);
addEventListener(Event.ENTER_FRAME, loop);
}

循环事件处理程序如下:

    private function loop(evt:Event):void
{
if (activeMarker) {
modelContainer.transform = FLARPVGeomUtils.convertFLARMatrixToPVMatrix(activeMarker.transformMatrix);
}
renderEngine.render();
}

我有一个按钮处理程序如下:

    public function onButtonClicked(event:Event):void
{
model.yaw(1);
}

它似乎根本没有对模型做任何事情...... :(

请帮助!!!!!!!!!!!!!!!

最佳答案

尝试在“loop”或任何内部循环的一侧调用“yaw”。然后您将能够确保“偏航”按预期工作。如果它正常工作,则可能是“onButtonClicked”的签名错误或未正确连接。

关于增强现实中的 3D 模型操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4913390/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com