TUIO学习笔记1-TUIO 1.1 Protocol Specification协议规范/标准

写在前面:(吐槽)基本上是翻译了TUIO协议标准,为什么没有大神来翻译这个。看的很辛苦。翻译的肯定很多不准确的。好奇能不能不看这个标准,直接使用呢。为什么我总是要学习这些很难的不会的东西呢。

—————————————————————————————————————————————————————————————————————————————

http://www.tuio.org/?specification 这是源网站。

一、先大概了解下TUIO是个什么鬼?

进了官网就是这个图

TUIO ( TUIO(Table-Top User Interfaces Objects))是一个开源的框架,是针对可触摸的多点触摸的屏幕的协议和应用程序接口。为可触多点表面定义了标准协议。TUIO 协议允许在交互表面的抽象描述的传输,包括触摸事件和可触摸物体的状态。这个协议从追踪应用程序(基于计算机视觉的)获取控制数据,然后将数据发送给每一个客户应用程序,能够解释这个协议。
TUIO 是一个为可触多点表面定义了标准协议与应用编程接口的开放架构。
TUIO协议允许交互式表面上的抽象描述的传输,例如传输触摸和接触物体的状态。
这个协议对跟踪应用者的控制数据编码并将它传送到任何可以解码的客户端应用程序。
存在大量的支持TUIO 的追踪应用程序和TUIO针对多种编程环境的客户库以及支持协议的应用程序。TUIO追踪器、协议和客户端实现的组合使得基于可触摸多点触摸界面的Table快速发展。
TUIO主要设计为针对交互表面的抽象,但同时也适用于许多其他相关的应用领域。技术上,TUIO是基于Open Sound Control(OSC)是一个针对交互环境的新兴标准,TUIO不仅仅局限于声音设备的控制,还可以被简单的应用到任何支持OSC的平台上。

二、菜鸟翻译的TUIO 1.1 Protocol Specification (part 1)

(ps.剩下的部分还是之后用到了看了再看吧。大神说学习套路一般是先用上了,看到了效果,再去研究原理。)

TUIO 1.1 Protocol Specification协议规范
Introduction
引言
自从TUIO协议规范在公开领域发布后,除了它最初的应用reacTIVision:A computer-Vision Framework for Table-Based Tangilble Interaction,它被应用到许多其他与可触多点交互的相关的项目上,例如NUI group community和许多其他可触摸的学术或商业环境的交互平台。
这份文件描述了原始TUIO规范的一个增量的和向后兼容的更新,为untagged 可触摸物体的几何描述定义了一个第三个额外的blob profile。
这次的更新还引入一个额外的资源消息,允许对TUIO资源的识别,作为在客户端方不同的TUIO资源的多路技术的结果。此次更新,完整地保留了原始TUIO1.0规范的消息格式。之后的TUIO2.0规范中会给出一个升级路径,会有更多的改变。

General Observations
总论
这个协议的定义是尝试提供一个介于可触摸桌面式控制器接口和底层应用程序层的一般的通用的通信接口。它被设计为满足桌面式交互多点触摸平面的需要,用户能够在桌面式设备表面使用指尖来操作一系列的物品,绘制手势。这些物品被传感器系统追踪,能够被识别,并能确定其在桌面式表面的位置和方向,例如手指触摸,不需要具有一个独一无二的ID,也不需要提供与物体文件相对的旋转信息。第三个blob profile描述了untagged 可触摸物体的大致扩展,或者具有有方向的包围盒的触摸区域,由一个近似椭圆的包含它的角度和区域的来代表。
Open Soun Control
TUIO协议的编写时基于OSC格式的,OSC针对任意控制器数据的传输提供了有效的二进制编码方法。因此,TUIO消息基本上可以通过所有支持真实OSC实现的通道进行传输。TUIO协议的默认的传输方法是,将在UDP数据包中的二进制OSC包数据封装,传送给默认的TUIO端口号3333。这个默认传输方法通常称为TUIO/UDO,并且大多数的实现都是基于这个方法,这是因为它的简单性和在本地或广域网传递的速度。因为OSC不是直接绑定到一个专门的传输方法,其他的传输通道,如TCP也可以被应用到传输基于OSC编写的TUIO数据上。现在已经有许多可选的传输方法,例如TUIO/TCP,以及TUIO/FLC(flash本地连接通过共享内存)与AdobeFLASH应用程序交互。


Implementation Details
实现细节
TUIO协议定义了主要两类的消息:SET消息和ALIVE消息
SET消息是用来传递物体状态信息的,例如位置、方向、和其他状态。
ALIVE消息是指代物体在屏幕表面的当前设置,使用一系列Session ID
为了避免可能的错误从而导致丢包,没有明确的ADD或REMOVE消息包含在TUIO协议中。接收者通过检测连续ALIVE消息中的不同来推断出物体的生命周期。
除了SET消息和ALIVE消息,FSEQ消息被定义来对每一步更新打上唯一的标志,使用一个唯一的帧序列ID。
一个额外的SOURCE消息识别了TUIO资源,为了满足客户端的资源多路复用。
总结:
1、物体的属性是在每一次状态更新后使用SET消息传递的。
2、客户端从SET和ALIVE消息推断物体的添加和删除
3、当物体被移动,更新的ALIVE消息被发送
4、FSEQ消息将一个唯一的帧ID与和一对SET和ALIVE消息相关联起来。
5、额外的SOURCE消息识别出源文件和地址

猜你喜欢

转载自blog.csdn.net/u011310341/article/details/52529913