手势交互
更新时间:2021-05-27
手势交互
手势交互可根据项目需求开启或关闭,每个手势交互之间都是相对独立的存在,目前百度AR支持的手势交互有:单击、双击、长按、捏合、单指平移、双指旋转、滑动等。
滑动手势可以通过lua层回调事件实现手势操作后想要出现的效果,其它手势目前还无法获取手势操作后的回调事件,后续会开放所有手势的回调。
编辑器中只要在项目配置-手势交互配置下根据需要勾选禁用手势即可,默认为开启。手势交互配置主要对整个场景进行各类手势配置,该属性下包括【禁用全部手势】,【禁用双指缩放】,【禁用单击】,【禁用禁用单指滑动平移】,【禁用双指滑动旋转】,【禁用双击屏幕复位】。
滑动
- 滑动调用接口: scene.on_touch _event = function(event_type, event_x, event_y)
- event_type: EventType.Scroll | EventType.ScrollDown | EventType.ScrollUp
scene.on_touch_event = function(etype, ex, ey)
if (etype == ESCROLL_UP) then
scene.write1.particle.emit_status = "0"
scene.write2.particle.emit_status = "0"
isscroll = 0
ARLOG("ESCROLL_UP")
return
end
if (etype == ESCROLL) then
local pos = scene:unproject(ex, ey, 200)
calcuate_diff(pos.x, pos.y, pos.z)
scene.write2.particle.emitter_position = pos.x .. "," .. pos.y .. "," .. pos.z
scene.write2.particle.emit_status = "1"
return
end
end
复位状态
双击屏幕或点击快速复位按钮,模型复现在当前最佳手机姿态屏幕位置。
- 位置及姿态初始化:通过设定复位按钮的方式(该方法仅适用于用户手势交互后,无法转动到初始位置)。
复位按钮图
复位按钮拖入到场景树中,即可在脚本配置中对这个按钮配置复位脚本逻辑。
-- Lua 配置 :
scene.reset.on_click = function()
app:relocate_current_scene()
end