直接抓取符合现实经验
别名: 伸手就拿 · 同构抓取 · 自然抓取
概念解释
杯子在面前,手指合拢,杯子跟着走——没有射线、没有「选中再拾取」的两段式。直接抓取(direct grab)把虚拟物体的取得做成和现实里伸手拿东西同一套动作:手到达物体所在的位置,手形闭合,物体归手所有。它符合的是已经练了几十年的那条经验,而不是一套新学的空间语法。
符合经验不等于手感真的一样。经验管的是「我该怎么做」先被猜对;后续有没有阻力、够不够得着,是另外两件事。
机制
人用身体来记空间位置。手伸向一个看得见的物体时,视觉给出目标,本体感觉给出手臂此刻在哪,两者在到达时合拢。这套回路每天被用在拿杯、开门、翻书上,不需要先把物体翻译成「一个要被射线击中的靶」。直接抓取把虚拟物体放进同一条回路:物体有一个手可以抵达的坐标,闭合手形被映射成取得。
学习成本因此不在「理解隐喻」,而在校准。虚拟手和真手之间若有几厘米的偏移,经验会先按真手去合拢,再被视觉纠正。偏移小的时候,纠正发生在一次动作内部,人几乎不觉得在学;偏移大的时候,经验变成干扰,人开始改用盯着虚拟手去够——那已经不是在用日常抓取,而是在用一种新的视觉伺服。
怎么研究
让同一批人分别用直接抓取和远距间接取得(射线拾取、菜单传送)去搬一组物体,比较第一次成功的尝试数,而不是只比稳定之后的速度。
自变量:抓取方式、虚拟手与真手的位置偏移、物体是否像日常可抓物(杯、方块、无语义的几何体)。 因变量:首次成功前的失败次数、手伸向物体真实位置还是伸向射线落点、口头解释「你怎么知道该怎么拿」。
观察第一分钟比观察第十分钟更有信息量。经验匹配表现在零训练下的策略选择:人会不会直接把手伸过去。训练之后两种方式都可以很快,那测的是熟练,不是符合经验。
边界
从未拿过类似物体的抽象控件(悬浮的纯文字标签、没有体积的设置项)没有可迁移的抓取经验,直接抓取不会自动变好懂。手的追踪延迟大到让虚拟手明显落后时,经验中的「手到了就拿住」对不上视觉,人会放弃这条回路。儿童的抓取策略与成人不同,手更常张开去拍,而不是对指去捏,映射若只认捏合,经验反而被拒之门外。把「符合经验」当成「所以一定更快」会错:远距物体用射线往往更快,直接抓取的优势在近处、在第一次、在不需要说明书的那些秒。
怎么落地
- 近处、有体积、人本来就会拿的物体,默认用伸手闭合来取得,不要先强迫选中再按键。
- 虚拟手与真手的位置对齐做到在一次伸手内部可被纠正,不要让人先学「抓的是那只看得见的假手」。
- 闭合手形的映射跟日常抓法走:对指捏小物、五指包大物。只认一种捏合,会把拍、捧、勾这些已有技能排除掉。
- 验证:找没玩过这套交互的人,把物体放在伸手可及处,不给任何提示。若第一下就是伸手去拿而不是找按钮或挥射线,经验匹配成立;若第一下是在空中乱指,物体的取得方式没有接上日常那条路。