实习中项目要编写一个ARtoolkit实现交互的Demo给客户,在ARtoolkit中没有vuforia中集成的virtualbutton来直接实现,所以手动编写,查找ARtoolkit的原官方网站后,查到了一篇介绍交互的文章
G. Gordan, M. Billinghurst, M. Bell, J. Woodfill, B. Kowalik, A. Erendi, J. Tilander. (2002)
The Use of Dense Stereo Range Data in Augmented Reality.In Proceedings of the IEEE and ACM International Symposium on Mixed and Augmented Reality (ISMAR 2002) 30 Sept. - 1 Oct., 2002,
Darmstadt, Germany, IEEE Press, Los Alamitos, CA, pp. 14-23.
文章下载地址为:http://www.hitl.washington.edu/artoolkit/Papers/2002-ISMAR-DenseStereoData.pdf
具体可下载查看,其中交互的方法给出了两种,一种是基于paddle的,一种是基于freehand或pointer的。首先检测到交互实现的平面,跟基础的MarkerDetect一样,检测到Marker(标记物)来获得坐标系,在这里我们将这个平面叫做plane,并在这个plane上设置target的位置(实际就等于把一个button(按钮)位置定下来)。交互的工具paddle是另一个用一个Marker来表示,识别到这个Marker就找到了paddle,然后定位标记物的中心,并通过坐标转换投射到plane的坐标上,比较paddle的坐标和target的坐标,当距离非常近时,则触发交互的事件。
基于freehand或pointer的原理和前面的一样,只是检测pointer