Quantcast
Viewing all articles
Browse latest Browse all 154

使用支持 TouchDesigner* 的英特尔® 实感™ 摄像头: 第 1 部分

下载演示文件 ZIP 35KB

TouchDesigner* 由 Derivative*创建,是一个全球广泛使用的平台/程序,用于现场表演期间的交互和实时动画,以及渲染三维动画序列、建筑制图、安装和最近的 VR 工作。 TouchDesigner* 中的英特尔® 实感™ 摄像头支持使其成为一款用途更广、功能更强大的工具。 还有一个实用功能就是使用 .fbx文件将对象和动画从其他 3D 文件包导入到 TouchDesigner* 中,以及接收渲染的动画和图像。

在这篇包含两个部分的文章中,我将解释英特尔® 实感™ 摄像头如何集成到 TouchDesigner* 中并在 TouchDesigner 中使用。 第 1 部分的演示使用英特尔® 实感™ 摄像头 TOP 节点。 第 2 部分的演示使用 CHOP 节点。 在第 2 部分中,我将解释如何结合英特尔® 实感™ 摄像头创建 VR 和球幕序列。 我将展示 TouchDesigner* 的 Oculus Rift 节点如何与英特尔® 实感™ 摄像头一起使用。 第 1 部分和第 2 部分包含动画和可下载的 TouchDesigner* 文件、.toe文件,可用于参考。 若要获取 TouchDesigner* (.toe) 文件,请点击文章顶部的按钮。 此外,我们还提供免费非商业版本的 TouchDesigner*,这一版本提供完善的功能(除了最高分辨率限定为 1280 x 1280 之外)。

注:目前有两种类型的英特尔® 实感™ 摄像头:短距离的 F200和较长距离的 R200。小尺寸的 R200 适用于需要隐藏摄像头的现场表演和装置。 与较大的 F200 型号不同,R200 没有手指/手跟踪功能,不支持“标记跟踪”。 TouchDesigner* 支持 F200 和 R200 英特尔® 实感™ 摄像头。

引自 TouchDesigner* 网页:"TouchDesigner* 是一款革命性的软件平台,支持艺术家和设计师在一个开放、自由的环境中联系其媒体。 TouchDesigner* 为以无限可定制的方式混合这些元素提供了一个高性能平台,适合于使用视频、音频、3D、控制器输入、互联网和数据库数据、DMX 照明、环境传感器或者您能够想象的一切的交互式多媒体项目。

在使用支持 TouchDesigner 的英特尔® 实感™ 摄像头* 方面,Derivative 公司的高级开发人员 Malcolm Bechard 这样评价:

“通过使用 TouchDesigner* 基于节点的程序架构,英特尔® 实感™ 摄像头数据可立即导入、可视化并连接到其他节点,无需花费任何时间进行编码。 创意可通过即时反馈循环快速创建原型和开发。作为 TouchDesigner* 中的本地节点意味着无需为每次开发迭代关闭/重新编译应用。英特尔® 实感™ 摄像头增强了 TouchDesigner* 功能,为用户提供了大量预置模块,如手势、手势跟踪、人脸跟踪和图像(深度)数据,用户可以利用这些数据构建交互。 用户无需通过分析低级手势数据来推断手势等方面;它已为用户完成了这些工作。”

在 TouchDesigner* 中使用英特尔® 实感™ 摄像头

TouchDesigner* 是一个基于节点的平台/程序,使用 Python* 作为其主要的脚本语言。 有 5 种执行不同操作和功能的节点类型: TOP 节点(纹理)、SOP 节点(几何)、CHOP 节点(动画/音频数据)、DAT 节点(表格和文本)和 COMP 节点(3D 几何节点和构建二维控制面板的节点),以及 MAT 节点(材料)。 咨询英特尔® 编程人员的 TouchDesigner* 编程人员设计了两个特殊节点:英特尔® 实感™ 摄像头 TOP 节点和英特尔® 实感™ 摄像头 CHOP 节点,以便将英特尔® 实感™ 摄像头整合到程序中。

注:这篇文章面向熟悉 TouchDesigner* 及其接口的用户。 如果您不熟悉 TouchDesigner*,打算按照本文章逐步操作,那么我推荐您先看看此处的一些文档和视频:

学习 TouchDesigner*

注:使用英特尔® 实感™ 摄像头时,注意其范围以获得最佳效果是很重要的。 在这个英特尔® 网页上,您可以看到每个摄像头的范围和使用摄像头的最佳操作实践。

英特尔® 实感™ 摄像头 TOP 节点

TouchDesigner* 中的 TOP 节点执行的许多操作与传统合成项目相同。 英特尔® 实感™ 摄像头 TOP 节点利用英特尔® 实感™ 摄像头传输的 2D 和 3D 数据提要,增强了这些功能。 英特尔® 实感™ 摄像头 TOP 节点有许多设置来获得不同形式的数据。

  • Color. The video from the Intel® RealSense™ camera color sensor.
  • Depth. A calculation of the depth of each pixel. 0 means the pixel is 0 meters from the camera, and 1 means the pixel is the maximum distance or more from the camera.
  • 色彩。 来自英特尔® 实感™ 摄像头色彩传感器的视频。
  • 深度。计算每个像素的深度。 0 表示像素距离摄像头 0 米,1 表示像素与摄像头之间为最大距离或更远。
  • 原始深度。数值直接取自英特尔® 实感™ SDK。 再强调一次,0 表示距离摄像头 1 米远,1 表示与摄像头之间为最大距离或更远。
  • 可视化深度。 来自英特尔® 实感™ SDK 的灰度图像,可帮助您显示深度。 它不能用于实际确定像素与摄像头的精确距离。
  • 深度转彩色 UV 贴图。 32 位浮点 RG 纹理的 UV 值(注意,没有蓝色),需要用来重新映射深度图像,以符合彩色图像。 您可以使用“重新映射 TOP 节点”来调整图像,以确保一致。
  • 彩色转深度 UV 贴图。 32 位浮点 RG 纹理的 UV 值(注意,没有蓝色),需要用来重新映射彩色图像,以符合深度图像。 您可以使用“重新映射 TOP 节点”来协调这两者。
  • 红外线:来自英特尔® 实感™ 摄像头红外传感器的原始视频。
  • 点云。 3D 空间中的点云(x、y 和 z 坐标)或英特尔® 实感™ 摄像头的扫描器所创建的点云。
  • 点云彩色 UV。 可用于从彩色图像流中获取每个点的颜色。

注:您可以下载 RealSensePointCloudForArticle.toe 这个 toe 文件,作为从英特尔® 实感™ 摄像头的数据创建 3D 动画几何图形的简单开始模板。 这个文件可以在许多方面进行修改和更改。 英特尔® 实感™ 摄像头的三个 TOP 节点(点云、颜色和点云彩色 UV)可创建一个由点(颗粒)组成的 3D 几何图形和映射到几何图形上的彩色图像。 这会带来许多令人激动的可能。

Image may be NSFW.
Clik here to view.

点云几何图形这是一个使用英特尔® 实感™ 摄像头制作的动画几何图形。 这一技术非常适合在现场表演中使用。 还可以添加人物说话的声音。 TouchDesigner* 还可以使用音频中的数据创建实时动画。

英特尔实感摄像头 CHOP 节点

注:还有一个控制 3D 跟踪/位置数据的英特尔® 实感™ 摄像头 CHOP 节点,我们将在本文的第 2 部分讨论。

演示 1: 使用英特尔® 实感™ 摄像头 TOP 节点

点击文章顶部的按钮,获取第一个 TOP 演示: settingUpRealNode2b_FINAL.toe

演示 1,第 1 部分:您将学习如何设置英特尔® 实感™ 摄像头 TOP 节点并将其连接到其他 TOP 节点。

  1. 打开添加运算符/OP创建对话框。
  2. 在 TOP 部分下,点击“实感”。
  3. 在英特尔® 实感™ 摄像头 TOP 节点的 “设置” 参数页面,针对图像,从下拉菜单中选择“颜色” 。 在英特尔® 实感™ 摄像头 TOP 节点中,摄像头指向内容的图像将显示,就像摄像机中一样。
  4. 将英特尔® 实感™ 摄像头的分辨率设为 1920 x 1080。
     

    Image may be NSFW.
    Clik here to view.

    英特尔® 实感™ 摄像头 TOP 节点设置起来非常简单。

  5. 创建一个水平 TOP 节点并将其连接到英特尔® 实感™ 摄像头 TOP 节点。
  6. 在水平 TOP 节点的预参数页面,选择“反转”并将滑块滑动到 1。
  7. 将水平 TOP 节点连接到 HSV 转 RGB TOP 节点,然后将其连接到空 TOP 节点。

Image may be NSFW.
Clik here to view.

英特尔® 实感™ 摄像头 TOP 节点可连接到其他 TOP 节点,以创造不同的外观和效果。

接下来,我们会将这个创建的图像纳入 Phong MAT(材料),以便我们绘制图像的纹理几何图形。

使用英特尔® 实感™ 摄像头数据为几何图形创建纹理

演示 1,第 2 部分: 本练习将为您展示如何使用英特尔® 实感™ 摄像头 TOP 节点创建纹理,以及如何将这些纹理添加到随后可分配到项目几何图形的 MAT 节点。

  1. 将几何图形(地区)COMP 节点添加到您的场景中。
  2. 添加 Phong MAT 节点。
  3. 将空 TOP 节点拖动到 Phong MAT 节点的颜色贴图参数中。
     

    Image may be NSFW.
    Clik here to view.

    使用面向其颜色贴图参数的英特尔® 实感™ 摄像头数据的 Phong MAT。

  4. 在地区 COMP 的渲染参数页上,针对材料参数,添加 phong1类型,使其将 phong1节点作为其材料。
     

    Image may be NSFW.
    Clik here to view.

    使用面向其颜色贴图参数的英特尔® 实感™ 摄像头数据的 Phong MAT 添加到地区 COMP 节点的渲染/材料参数。

创建 Box SOP 并通过刚刚创建的 Phong Shader 绘制纹理

演示 1,第 3 部分:您将学习如何使用英特尔® 实感™ 摄像头数据,将您创建的 Phong MAT 着色器分配到方框几何图形 SOP。

  1. 进入 geo1节点的子级 (/project1/geo1)。
  2. 创建一个方框 SOP 节点,一个纹理 SOP 节点和一个材料 SOP 节点。
  3. 删除环形 SOP 节点并将 box1节点连接到 texture1节点和 material1节点。
  4. material1节点的材料参数中,输入: ../phong1,这会将它引用到您在父级中创建的 phong1 MAT 节点。
  5. 若要在方框的每个面上放置纹理,在 texture1节点的参数中,即纹理/纹理类型中,放置并设置纹理/偏移投入 .5 .5 .5
     

    Image may be NSFW.
    Clik here to view.

    在geo1 COMP 节点的子级,方框 SOP 节点、纹理 SOP 节点和材料 SOP 节点是相连的。 材料 SOP 正在从phong1 MAT 节点获取其纹理。 ( …/phong1).

为方框几何图形创建动画和实例

演示 1,第 4 部分: 您将学习如何使用变换 SOP 节点和简单表达式旋转几何图形 SOP。 然后您将学习如何为方框几何图形创建实例。 最后我们将获得一个这样的界面:界面上布满了旋转方框,方框中包含来自英特尔® 实感™ 摄像头 TOP 节点的纹理。

  1. 若要为 X 轴上旋转的方框创建动画,在纹理 SOP 节点后插入一个变换 SAP 节点。
  2. transform1 SOP 节点的旋转参数的 x 组件(第一个字段)中插入一个表达式。 这个表达式不依赖于帧,当时间轴上的帧用完时,表达式将继续运行,不开始重复。 我乘以 10,以增加速度: absTime.seconds*10
     

    Image may be NSFW.
    Clik here to view.

    在这里您可以看到立方体是如何旋转的。

  3. 为了制造方框,回到父级 (/project1),在 geo1 COMP 节点的“实例” 页参数中 ,将实例更改为“开启”。
  4. 将网格 SOP 节点和 SOP 添加至 DAT 节点。
  5. 将网格参数设置为 10行和 10列,大小设为 2020
  6. 在 SOP 转 DAT 节点参数中,对于 SOP,放置 grid1并确保“提取” 用于设置
  7. geo1 COMP的实例页参数中,对于 CHOP/DAT 实例,输入: sopto1
  8. 分别用 P(0)、P(1) 和 P(2)填充 TX、TY 和 TZ 参数,指定实例位置将使用 sopto1节点中的哪些列。
     

    Image may be NSFW.
    Clik here to view.

    点击文章顶部的按钮下载 TOP_Demo1_forArticle.toe,查看我们在第一个英特尔® 实感™ 摄像头 TOP 演示中所做的工作。

  9. 如果您希望在未过滤的英特尔® 实感™ 摄像头中查看图像,断开或绕过水平 TOP 节点和 HSV 转 RGB TOP 节点。
     

    Image may be NSFW.
    Clik here to view.

现场渲染或执行动画

演示 1,第 5 部分:您将学习如何建立一个要现场执行或作为电影文件呈现的场景。

  1. 若要渲染项目,添加一个摄像头 COMP 节点、光 COMP 节点和一个渲染 TOP 节点。 默认情况下,摄像头将渲染场景中的所有几何图形组件。
  2. 回到 Z 轴,将摄像头平移约 20 个单位。 将光留在默认设置上。
  3. 将渲染分辨率设为 1920x1080。 默认情况下,渲染背景是透明的(alpha 为 0)。
  4. 为了使背景在正方形后面成为不透明的黑色,添加一个常量 TOP 节点并将颜色更改为 0,0,0,以便将其更改为黑色,并将 Alpha 留为 1。 您也可以选择另一种颜色。
  5. 添加一个 Over TOP 节点并将渲染 TOP 节点连接到第一个连接,将常量 TOP 节点连接到第二个连接。 这样便可以设置渲染的背景像素(0, 0, 0, 1),这一背景现在已不再透明。

将 TOP 的 alpha 更改为 1 的另一个方法是使用重新排序 TOP,并将其输出 Alpha 参数设为 Input 11

Image may be NSFW.
Clik here to view.

显示渲染后的场景,其背景为不透明的黑色。

Image may be NSFW.
Clik here to view.

在这里您可以看到,整个屏幕已经布满了纹理旋转立方体。

如果您想要呈现出动画,而不是在表演中实时播放动画,您必须在 TouchDesigner 程序顶部栏的文件下选择导出电影对话方框。 在 TOP 视频的参数中,为这一特定示例输入 null2。 否则,输入您要渲染的任何 TOP 节点。

Image may be NSFW.
Clik here to view.

此处是“导出电影”面板,null2 已被拖入。 如果我有一个配套的音频 CHOP,我会在放置 null2 的位置下面直接将其拖入或放入CHOP 音频插槽。

演示 1,第 6 部分: 使 TouchDesigner* 成为特殊平台的一个因素是您可以利用它制作实时性能动画。 与英特尔® 实感™摄像头配合使用时,这一功能特别有用。

  1. 添加一个窗口 COMP 节点,在操作员参数中,输入 null2 TOP 节点。
  2. 将分辨率设为 1920 x 1080。
  3. 位置参数中选择您想要的显示器。 借助窗口 COMP 节点,您可以对投射到您所选显示器的整个动画进行实时执行。 使用窗口 COMP 节点,您可以指定您希望播放表演的显示器或投影机。
     

    Image may be NSFW.
    Clik here to view.

    您可以根据自己的需要创建任意数量的窗口 COMP 节点,以便将输出引导到其他显示器。

    Image may be NSFW.
    Clik here to view.

演示 2: 使用英特尔® 实感™ 摄像头 TOP 节点深度数据

英特尔® 实感™ 摄像头 TOP 节点拥有许多对于创建纹理和动画有用的其他设置。

在演示 2 中,我们使用深度数据,在基于摄像头深度数据的图像上应用模糊。 点击文章顶部的按钮,获取下面这个文件: RealSenseDepthBlur.toe

首先创建一个英特尔® 实感™ 摄像头 TOP 并将其图像参数设为深度。 如果距离摄像头近,深度图像的像素为 0(黑色),如果距离摄像头远,像素则为 1(白色)。 像素值的范围由仪表中指定的最大深度参数控制。 默认情况下,像素值为 5,表示像素 5 或距离摄像头更远将为白色。 如果像素值为 0.5,则表示距离摄像头 2.5 米。 根据摄像头与您的距离,缩小这一数值或许有好处。 在本例中,我们将其更改为 1.5 米。

接下来,我们想要处理一下深度,使用阈值 TOP,移除我们关注范围之外的对象。

  1. 创建一个阈值 TOP 并将其连接到 realsense1节点。 我们想要剔除超过与摄像头特定距离的像素,将比较参数设为更大,将阈值参数设为 0.8。 这使得大于 0.8 的像素(如果我们将英特尔® 实感™ 摄像头 TOP 中的最大深度设为 1.5,则为 1.2 米或更远)变为 0,所有其他像素变为 1。
     

    Image may be NSFW.
    Clik here to view.

  2. 创建乘法 TOP 并将 realsense1节点连接到 第一个输入,将 thresh1节点连接到第二个输入。 用我们需要的像素乘以 1 将让它们保持原样,乘以 0 会让它们归零。 对于您想要控制模糊度的部分图像,multiply1节点现在只有大于 0 的像素。
  3. 在 TOP 中创建一个电影文件,为其文件参数选择一个新图像。 在本例中,我们从 TouchDesigner* Samples/Map目录中选择 Metter2.jpg。
  4. 创建一个 Luma Blur TOP 并将moviefilein1连接到 lumablur1的第一个输入,将 multiply1连接到 lumablur1的第二个输入。
  5. lumablur1的参数中,将白度值设为 0.4,黑色过滤器宽度设为 20,白色过滤器宽度设为 1。 这使第一个输入为 0的像素拥有 20的模糊过滤器宽度,数值为 0.4或更大的像素拥有 1的模糊宽度。
     

    Image may be NSFW.
    Clik here to view.

    整个布局。

最后您将获得一个用户所在位置的像素不模糊、其他像素模糊的图像。

Image may be NSFW.
Clik here to view.

通过显示 Luma Blur TOP,背景将显示图像的模糊方式。

演示 3: 通过重新映射 TOP 节点使用英特尔® 实感™ 摄像头 TOP 节点深度数据

点击文章顶部的按钮,获取下面这个文件: RealSenseRemap.toe

注:英特尔® 实感™ 摄像头 TOP 节点的深度和彩色摄像头位于全球的不同地方,因此它们生成的默认图像不会对齐。 例如,如果您的手被放置在彩色图像的中间,它将不会位于深度图像的中间,而会稍微偏左或偏右一些。 通过改变周围的像素,VU 重新贴图修复了这一问题,以便它们彼此对齐。 注意对齐和未对齐 TOP 之间的区别。

Image may be NSFW.
Clik here to view.

通过使用深度转彩色 UV 数据,重新映射 TOP 将英特尔® 实感™ 摄像头 TOP 的深度数据与英特尔® 实感™ 摄像头 TOP 的彩色数据进行了对齐,将它们放置在同一个空间。

演示 4: 在英特尔® 实感™ 摄像头 TOP 节点中使用点云

点击文章顶部的按钮,获取下面这个文件: PointCloudLimitEx.toe

在这个练习中,您将学习如何使用英特尔® 实感™ 摄像头 TOP 节点点云设置和限制 SOP 节点,创建动画几何图形。 注意,这种方法与本文开始时展示的点云示例文件不同。 之前的示例使用能够生成更多点的 GLSL 着色器,但操作起来更加复杂,并且不在本文的范围之内。

  1. 创建实感™ TOP 节点并将参数图像设为点云
  2. 创建一个 TOP 转 CHOP 节点并将其连接到选定 CHOP 节点。
  3. 将选定 CHOP 节点连接到数学 CHOP 节点。
  4. topto1 CHOP 节点参数 TOP 中,输入: realsense1
  5. 在选定 CHOP 节点参数“通道名称”中,输入 r g b,在字母之间留一个空格。
  6. 在 “乘法” 参数的 math1 CHOP 节点中,输入: 4.2
  7. 范围参数页上,To Range, 输入: 1 和 7。
  8. 创建一个限制 SOP 节点。

引自 www.derivative.ca在线维基页面上的信息,“限制 SOP 从通过CHOP提供给它的示例创建几何图形。 它在示例中的每个点上创建几何图形。 使用通道页面上的输出类型参数可创建不同类型的几何图形。"

  1. limit1 CHOP 通道参数页面上,在 X 通道中输入 r,Y 通道中输入 g,Z 通道中输入 b。
     

    注:将 r g 和 b 切换到不同的 X Y 或 Z 通道可更改正在生成的几何图形。 所以您可能希望以后试试这个: 在输出参数页,针对输出类型,从下拉列表中选择每个点上的球。 创建一个 SOP 转 DAT 节点。 在参数页面上,针对 SOP,放入 limit1或将您的 limit1 CHOP 拖入参数中。 保留“提取”参数中的默认点设置。 创建一个渲染 TOP 节点,一个摄像头 COMP 节点和一个光 COMP 节点。 创建一个重新排序 TOP 并将输出 Alpha 设为 Input 11并将其连接到渲染 TOP。

    Image may be NSFW.
    Clik here to view.

    由于英特尔® 实感™ 摄像头中的图像发生变化,几何图形也会发生变化。 这是最终布局。

    Image may be NSFW.
    Clik here to view.

    Over TOP CHOP 节点中的最终图像。 通过更改限制 TOP 参数中的通道的顺序,您可以更改基于点云的几何图形。

在本文的第 2 部分,我们将讨论英特尔® 实感™ 摄像头 CHOP 以及如何为表演、球幕表演和 VR 创建渲染内容和实时内容。 我们还将展示如何使用 Oculus Rift CHOP 节点。 我们将讨论手势跟踪、面部跟踪和标记跟踪。

关于作者

Audri Phillips 是洛杉矶的一位视觉论者/3D 动画师,在 Sony*、Rhythm and Hues*、Digital Domain*、Disney* 和 Dreamworks* 动画电影等工作室从事超过 25 年的视效/娱乐业工作,拥有丰富的经验。 她起初是一位画家,后来被基于时间的艺术所吸引。 她一直热衷于使用新工具,在将计算机动画/艺术用于实验电影作品(包括沉浸式表演)方面是行业先驱。 现在,她已将自身才能用于 VR 创作。 最近,三星* 已将其作品融入到了新的 Gear Indie Milk VR 渠道之中。

她最新的沉浸式作品/动画包括: 洛杉矶剧院中心 2015“内爆舞蹈节 (Implosion a Dance Festival)”的多媒体动画、Vortex Immersion 圆顶的 3 场球幕音乐会,其中一场由著名作曲家/音乐家史提夫•洛奇 (Steve Roach) 指挥。 她的第四场球幕音乐会“无情的宇宙”将于 2015 年 11 月 7 日上演。 她还为 2014 年动漫大会上展出的电视连续剧“君士坦丁(Constantine)*”创作了面向圆顶演出的动画内容。 她的几部球幕作品“迁移 (Migrations)”和“无情的美丽 (Relentless Beauty)”已被推荐参加 "Currents"(圣达菲国际新媒体艺术节)和德国的耶拿球幕节。 她在洛杉矶的 Young Projects 美术馆展示自己的作品。

她为英特尔撰写在线内容和博客。 Audri 是伍德伯里大学的兼职教授、洛杉矶抽象电影集团的创始成员和领导者、Hybrid Reality Studio(专注于创作 VR 内容)的创始者、IOTA 中心的董事会成员以及洛杉矶艺术实验室的展示成员。 2011 年,Audri 成为了 Vortex Immersion Media 和 c3: CreateLAB 的驻留艺术家。


Viewing all articles
Browse latest Browse all 154

Trending Articles