gpt4 book ai didi

javascript - 有人在 3D 模型上成功使用 Hammer.js Pinch Events 吗?

转载 作者:行者123 更新时间:2023-12-03 02:08:44 25 4
gpt4 key购买 nike

我在增强现实项目中使用 Hammer,并使用 Hammer.js 成功移动、旋转和放置 3D 模型 (JSON)。

我正在尝试使用捏合事件来放大和缩小对象,但我在模型的行为方面遇到了很大的挑战。

在控制台中,根据手势,对象的比例似乎是正确的,但在应用程序中,需要几个手势才能让模型 Action ,然后它很快就会颠倒过来。

我无法缩小模型,而且模型似乎对我的捏合手势没有反应。

    scaleSpeed: { default: 1 }
onPinchIn: function (event) {
this.scene.emit('objectScaling')
const scaleDelta = this.initialHammerScale + (event.scale * this.data.scaleSpeed)

this.modelScaleRig3D.scale.set(
(this.modelScaleRigAtScaleStart.x - scaleDelta),
(this.modelScaleRigAtScaleStart.y - scaleDelta),
(this.modelScaleRigAtScaleStart.z - scaleDelta)
)
}

onPinchOut: function (event) {
const scaleDelta = this.initialHammerScale + (event.scale * this.data.scaleSpeed)
this.modelScaleRig3D.scale.set(
(this.modelScaleRigAtScaleStart.x + scaleDelta),
(this.modelScaleRigAtScaleStart.y + scaleDelta),
(this.modelScaleRigAtScaleStart.z + scaleDelta)
)
}

onPinchStart: function (event) {
this.modelScaleAtScaleStart = this.modelRig.getAttribute('scale')
this.initialHammerScale = event.scale
},

有人在使用 3d 模型的锤捏事件方面取得了成功并提供了一些建议吗?

最佳答案

来自 Getting Started documentation

By default it adds a set of tap, doubletap, press, horizontal pan and swipe, and the multi-touch pinch and rotate recognizers. The pinch and rotate recognizers are disabled by default because they would make the element blocking, but you can enable them by calling:

hammertime.get('pinch').set({ enable: true });

hammertime.get('rotate').set({ enable: true });

关于javascript - 有人在 3D 模型上成功使用 Hammer.js Pinch Events 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49674986/

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