收藏
回答

xr-frame怎样设置模型一部分的点击事件?

		loaded({
			detail
		}) {
			const el = detail.value.target;
			const gltf = el.getComponent("gltf");
			const ANode = gltf.getInternalNodeByName("杀菌锅主体")
			ANode.event.add("touch-shape", () => {
				console.log(123)
			})
		}
<xr-gltf bind:gltf-loaded="loaded" bind:drag-shape="handleTouchModel"  rotation="0 {{z}} 0" scale="1 1 1" id="cube" node-id="cube" shape-gizmo mesh-shape autoFit model="Plane" position="0 0 0" />

我想实现点击杀菌锅主体的点击事件,能获取到Element但设置点击事件没有用

回答关注问题邀请回答
收藏

1 个回答

  • 棒棒冰
    棒棒冰
    12-04

    第一步、gltf加载完成事件中获取指定的mesh;

    例如:const mesh = gltf.getPrimitivesByNodeName("Plane.001")[0];

    第二步、mesh添加shape组件;

    例如:mesh.el.addComponent(xrFrameSystem.CubeShape,{autoFit:true});

    第三部、mesh侦听touch事件。

    例如:mesh.el.event.add("touch-shape",(evt)=>{});

    12-04
    有用
    回复
登录 后发表内容