【论文阅读】Coarse-to-Fine Q-attention: Efficient Learning for Visual Robotic Manipulation Discretisation

Abstract

我们提出了一种从粗到细的离散化方法,该方法能够在连续机器人领域中使用离散强化学习方法来代替不稳定和数据低效的行动者批评方法。这种方法建立在最近发布的arm算法的基础上,该算法将连续的次佳姿态agent替换为离散的,具有从粗到细的q-attention。给定一个体素化的场景,从粗到细的q-attention会学习“放大”场景的哪个部分。当迭代应用这种“缩放”行为时,它会导致translation空间的近乎无损的离散化,并允许使用离散动作的深度q学习方法。我们证明,我们的新粗到细算法在几个困难的、奖励很少的基于rlbench视觉的机器人任务上实现了最先进的性能,并且可以在几分钟内训练出真实世界的policies,tabula rasa,只需3次演示。

1. Introduction

在本文中,我们感兴趣的是一种通用的现实世界操纵算法,该算法可以使用少量的演示以及少量奖励较少的探索数据,在模拟和现实世界中完成一系列不同的任务。为了开发这种方法,我想到了两种范式:模仿学习(IL)和强化学习(RL)。模仿学习方法,如行为克隆,由于协变量变化而存在复合误差,而强化学习则存在训练时间长的问题,通常需要数百万次环境交互。然而,最近Q-attention和ARM系统[14]已被证明可以绕过强化学习带来的许多缺陷,最明显的是训练负担大、探索难度大、奖励少、任务时间长。

不幸的是,与许多现代连续控制rl算法一样,arm的下一个最佳姿势agent遵循一种actorcritic范式,当从奖励稀少和基于图像的任务中学习时,这种范式可能特别不稳定[14]:这两个属性对于机器人操纵任务特别重要。在本文中,我们重新审视了如何最好地表示机器人操纵所需的连续控制动作,放弃了标准的行动者批评方法,转而采用更稳定的离散动作q学习方法。因此,挑战在于如何有效地离散6d姿势。考虑到其有界性,旋转和夹持器动作的离散化是微不足道的,但由于通常空间要大得多,平移仍然具有挑战性。我们通过从粗到细的q-attention来解决这个问题,从平移空间的粗体素化开始,使用3d q-attentions来识别下一个最感兴趣的点,并逐渐提高每个点的分辨率。

通过这种新的从粗到细的Q-attention,我们提出了我们的由粗到细注意力驱动的机器人操纵(C2FARM)系统。我们将该系统在仿真中与增强学习和模仿学习文献中的其他机器人学习算法进行了基准测试,并表明C2F-ARM比其他方法更具样本效率和稳定性。我们还证明,C2F-ARM能够从3个演示中学习5组不同的、奖励很少的现实世界任务。

总之,本文提出了以下三个贡献:(1)一种通过从粗到细的q-attention对平移空间进行离散化的新方法,使我们能够抛弃经常不稳定的演员-评论家框架,转而采用更简单的深度q-学习方法。(2) 我们的操作系统c2f-arm使用从粗到细的q-attention以及控制agent来实现模拟和现实世界中稀疏奖励任务的样本高效学习。(3) 首次将体素表示用于6d机器人操纵的基于视觉的强化学习。补充材料中的代码和视频可在以下网址找到:sites.google.com/view/c2f-q-attention.

 2. Related Work

Learning for manipulation

操纵学习的最新趋势已经看到了连续控制强化学习算法,如ppo[34]、ddpg[22]、td3[4]和sac[8],这些算法在各种任务上进行了训练,包括布料操纵[23]、乐高堆叠[7]、推[28]和手部操纵[29]。这些方法依赖于演员-评论家公式,该公式通常样本效率低且训练不稳定。降低不稳定性的一种方法是使用替代的policy参数化,而不是高斯参数化,例如,下一个最佳姿势动作的bignham分布[12]。或者,离散化可以显著减少动作空间,并使用更简单的方法,如q学习。我们的工作并不是第一次使用离散动作进行视觉操纵;james等人[15]对关节空间进行了离散化,其中在每一步中,agent可以选择将6个关节中的一个移动1度。离散化关节空间的另一种方法是离散化平面工作空间,其中来自自上而下相机的像素充当高级动作,如抓取[26]、推动[43]和拾取放置[42]。然而,目前尚不清楚这些任务如何超越自上而下的拾取和放置任务,例如本文中介绍的一些任务,例如堆放葡萄酒和从架子上拿东西。 

我们的论文提出了一个完整的6D操作系统,可以扩展到一系列任务,而不仅仅是自上而下的任务。“从粗到细”这一术语最近被用于抓取检测[40],但含义不同,其中粗部分是抓取置信度网格,细部分是指粗预测的细化阶段。另一方面,我们的工作使用从粗到细的方法来指代我们的Q-attention“放大”到场景的特定部分以获得更准确的3D信息的想法。与我们的粗到细机制相关的是Gualtieri等人[5,6]的工作,该工作采用点云(高度图形式)并逐渐放大到局部区域以生成抓取和定位;然而,这项工作仅限于“拾取和放置”任务,而我们的方法是一种通用的6D操纵算法,其中手臂可以完全自主地在场景中的任何地方移动,而不需要预先编程的“抓取”和“放置”动作。这导致了一个无需修改即可应用于一系列任务的系统,正如我们的RLBench和现实世界实验所证明的那样。

Voxel representation for manipulation.

通过体素对3d环境进行建模的历史可以追溯到20世纪80年代[25,32]。由于体素网格可以在每个体素中存储任意值,因此之前的工作将其用于导航和操纵的各种表示(几何、语义、学习特征)。大多数探索体素表示的作品都将其用于导航[3,10,11];然而,操纵领域也有一些值得注意的例外。wada等人[38]使用体素网格来存储杂乱场景中对象的占用率和语义,以选择下一个目标对象和抓取点。morefusion[39]是一种使用体素进行多对象推理以改进6d姿态估计的系统;该系统给出了准确的物体姿态,可以在杂乱的场景中进行精确的拾取和放置。最近,将体素表示与基于学习的模型一起使用已经变得很常见。song等人[35]和breyer等人[2]将体素网格表示输入神经网络,以生成6dof抓握动作;这些工作与我们的不同之处在于,它们考虑在监督学习领域进行抓取,因为我们的系统属于具有完整6d动作空间的强化学习领域,抓取只是其中的一个组成部分。此外,强化学习带来了监督学习中不存在的许多挑战,例如探索、稀疏奖励和长期规划。我们唯一知道的将体素与rl结合使用的工作是在杂乱中找到一个红色立方体[27];然而,该任务假设可以访问对象检测器和平面工作空间,体素网格不直接由rl agent处理,而是被裁剪并展平为一个68维的小矢量。我们的粗到细体素化允许我们直接处理整个场景的3d体素网格,并且不需要访问平面工作空间或对象检测器

3. Background

3.1. Reinforcement Learning

强化学习范式假设agent与由状态、动作和奖励函数组成的环境相互作用,其中分别是时间步长t的状态和动作。agent的目标是发现一个policyπ,使折扣奖励之和的期望最大化:,其中未来的奖励相对于折扣因子加权。每个policy π都有一个相应的值函数,它表示遵循policy 在状态s中采取行动a后的预期回报。

Q-attention模块[14](在3.2节中讨论)是基于深度Q-learning[24]构建的;一种用深度卷积网络近似值函数的方法,其参数ψ通过从重播缓冲器 replay buffer D中采样小批量来优化,并使用随机梯度下降来最小化损失:,其中是目标网络;在线网络Qψ的周期性副本,不是直接优化的。

3.2. Attention-driven Robot Manipulation (ARM)

ARM[14]介绍了几个核心概念,这些概念有助于学习基于视觉的机器人操作任务。这些包括Q-attention、关键点检测、演示增强和高级次佳姿势动作空间。其中最值得注意的是Q-attention,它在这项工作中用于离散化大的翻译空间。我们在下面简要概述Q-attention。

给定一个观察值o(由rgb图像b、有组织的点云p和本体感觉数据z组成),q-attention模块qθ输出下一个感兴趣区域的二维像素位置。这是通过提取具有最高值的像素的坐标来实现的:,其中arg max 2d是二维的argmax。这些像素位置用于裁剪rgb图像和有组织的点云输入,从而大大减小了pipeline下一阶段的输入大小;下一阶段是actor-critic next-best pose agent。通过使用随机梯度下降来优化q-attention的参数,以最小化损失: 

其中是目标Q函数,‖Q‖是Q正则化——Q函数每像素输出的L2损耗。

关键帧发现和演示增强是arm引入的另外两项重要技术[14]。关键帧发现策略不是简单地将演示直接插入回放缓冲区,而是沿着演示轨迹选择有趣的关键帧,这对训练q-attention模块至关重要。演示增强存储从沿轨迹的中间点到关键帧状态的过渡,而不是存储从初始状态到关键帧的过渡。这大大增加了重播缓冲区中的初始演示转换量。这不是针对q-attention的,而是应用于本研究中的所有方法(包括基线)。请注意,关键帧发现对于训练我们从粗到细的q-attentions agent至关重要,因为关键帧起着明确的监督作用,有助于指导q-attentity在训练的初始阶段选择相关区域进行“放大”。

4. Method 

我们的系统c2f-arm(算法1)可以分为2个核心阶段。第一阶段(第4.1节)包括从粗到细的3d q-attention agent,它首先以粗的方式对整个场景进行体素化,然后递归地使分辨率更精细,直到我们能够提取出连续的6d次佳姿势。第2阶段(第4.2节)是一个低级控制agent,它接受预测的下一个最佳姿势,并执行一系列动作以达到给定的目标姿势。在训练之前,我们使用关键帧发现和演示增强来填充回放缓冲区[14]。

 该系统假设我们在一个部分可观察的马尔可夫决策过程(POMDP)中操作,其中观察值o由RGB图像b、有组织的点云p和本体感觉数据z组成。动作由6D(次佳)姿势和抓握动作组成,奖励函数是稀疏的,任务完成时为100,所有其他transitions为0。

4.1. Coarse-to-fine Q-attention

本文的关键贡献是通过q -注意力对平移状态空间进行离散化,从而允许使用离散动作强化学习算法来恢复连续动作。我们的方法将平移预测表述为一系列粗到细的深度q网络,该网络接受体素点云特征,并输出每体素的q值。最高值的体素代表次优体素,其位置在下一步中用作更高分辨率体素化的中心。请注意,“高分辨率”可以用以下三种方式之一来解释:(1)保持体积不变,但增加体素数;(2)保持体素数不变,但减少体积;或(3)两者的结合。我们选择(2),因为这给了我们更高的分辨率,同时保持低内存占用。直观地说,这种从粗到精的q-attention可以被认为是“放大”到场景的特定部分,以获得更准确的3d信息,而正式地说,每个q-attention agent以不同的分辨率运行,以查看相同的底层pomdp。对连续平移进行了多次粗变精预测,得到了近乎无损的预测结果。旋转和夹持动作预测由于其有界性质而更简单;这些是在q -注意的最终深度作为一个额外的分支预测的。从粗到细的q -注意总结在图2中。

图2。从粗到精的q -attention的总结。M台相机的观测数据(RGB和点云)被给予q -注意力的每个深度。Q-attention的每个深度给出了空间中最有趣点的位置(以当前分辨率),然后将其用作下一个深度Q-attention的体素质心。直观地说,这可以被认为是“放大”到场景的特定部分,以获得更准确的3D信息。突出显示的红色体素对应于最高值。

形式上,我们定义了一个体素化函数,它接受观测值o、体素分辨率和体素网格中心,并返回深度n处的体素网格,其中n是q -注意力的深度/迭代,其中每个体素包含3D坐标、M个特征(例如RGB值、特征等)和占用标志。 

给定深度为n的Q-attention函数Qθn,我们提取最高值的体素的指标:

其中是位于(i, j, k)处提取的体素索引,argmax 3D是跨越三个维度(深度,高度和宽度)的argmax。

通过用提取的索引抵消当前体素化的中心,我们可以轻松地提取该体素的位置。为了便于阅读,我们假设arg max 3d也执行到世界坐标的转换,直接给出。由于提取的坐标以更高的分辨率表示体素的次优坐标,我们将这些坐标设置为下一个深度的体素网格中心c: 。然而,如果这是q-attention的最后一个深度,那么表示平移的连续表示(即次优姿态agent的平移分量)。

由于旋转空间和夹持空间比平移空间小得多,我们可以采用更简单的q值预测。每个轴的旋转以5度的增量离散,而夹持器离散为打开或关闭。这些成分是从最终q -注意深度的MLP分支(参数φ)中恢复的:

其中,α, β, γ表示单个旋转轴,ω表示夹持动作,表示最终q -注意深度的瓶颈特征。根据经验,我们发现旋转轴的离散在1到10的范围内是稳健的。最后的动作变成

4.2. Control Agent 

控制agent与arm基本保持不变[14]。给定前一阶段的下一个最佳姿势输出,我们将其交给目标条件控制函数,该函数在给定状态st和目标gt的情况下,输出使末端执行器朝向目标移动的运动速度。该功能可以采取多种形式,但有两个值得注意的解决方案,要么是结合反馈控制的运动规划,要么是用模仿/强化学习训练的可学习policy。鉴于基准测试中的环境动态是有限的,我们选择了运动规划解决方案。

给定目标姿态,我们使用OMPL[36]中的SBL[33]规划器进行路径规划,并使用“Reflexxes运动库”进行在线轨迹生成。如果目标姿势超出范围,我们将终止该事件并提供-1的奖励。对于模拟实验,RLBench中的“EndEffectorPoseViaPlanning”动作模式方便地封装了路径规划和轨迹生成[16],而对于真实世界的实验,我们使用ROS来处理规划和轨迹的生成

一旦agent到达轨迹的末端,新的观测值被赋予,并作为粗到细q-attention的经验存储在重放缓冲区中:,其中是重放缓冲区,coords是的提取坐标列表。

4.3. Network Architecture

每个Q-attention层都遵循轻量级的U-Net风格架构[31],但使用3D卷积而不是2D卷积。我们的U-Net编码器具有3个Inception风格的块[37],有64个输入-输出通道,每个块后有一个3×3的最大池,而我们的U-Net解码器具有3个Inception Upsample Inception块。请注意,最后的Q-attention层也用于旋转和夹具预测;这是通过在解码器中的每个Inception块之后连接maxpooled和软argmax值,并通过2个完全连接的层(每个层有256个节点)发送它们来实现的。最后,这些特征通过一个最终的完全连接层,该层给出了旋转和夹具的离散化。初始体素质心被设置为场景的中心。体素化代码改编自Ivy[21]。

5. Results

结果可以分为三个核心部分:

(1)使用RLBench[16]对我们的算法与仅使用前置摄像头的其他流行机器人学习算法进行基准测试的仿真结果。

(2) RLBench中的其他模拟结果,我们在其中评估了我们的方法在其他任务上的表现,并对粗到细方法的鲁棒性进行了消融研究。

(3) 真实世界的结果表明,在真实世界中从头开始训练时,模拟中的样本效率也是存在的。

5.1. Simulation

 对于我们的模拟实验,我们使用RLBench[16]。之所以选择RLBench,是因为它强调基于视觉的操纵基准测试,并且它可以通过演示访问各种各样的任务。每个任务都有一个完全稀疏的奖励100,仅在任务完成时给予,否则为0。在以下实验中,除非另有说明,否则我们的方法使用从粗到细的深度2,每个深度的体素网格大小为163。所有方法都获得相同的观测值(RGB和点云),并具有相同的动作空间(次佳姿势)。

5.1.1 Comparison to other Robot Learning Methods

为了与其他机器人学习方法进行比较,我们选择了与james等人[14]中相同的8个任务;这些都是仅使用前置摄像头即可实现的任务。图3显示了这种比较的结果。我们从模仿学习和强化学习文献中选择了一系列共同的基线;这些包括:arm[14]、行为克隆(bc)、sac+ae[41]、dac[18](gail[9]的改进、off-policy版本)、sqil[30]和drq[19]。这些基线中的每一个都输出一个7d动作;6d表示姿势,1d表示夹持器状态。然后使用控制agent(如第4.2节所述)将手臂调整到输出的姿势。这意味着所有基线都可以替代从粗到细的q-attention。基线使用与james等人[14]中提出的架构相同的架构。

所有方法(C2F-ARM、ARM、BC、SAC+AE、DAC、SQIL和DrQ)都具有关键帧发现和演示增强功能[14],并接收相同的演示序列,这些序列在训练前加载到回放缓冲区中。请注意,C2F-ARM不需要像其他方法那样多的演示(如第5.2节所示),因此只给出了10个演示,而基线收到了100个演示(只给基线10个演示使性能明显下降)。

图3中的结果表明,我们的方法在很大程度上优于ARM[14];这可以通过获得整体更高的性能或以更少的环境步骤获得相同的性能来实现。传统演员批评方法的表现尤其糟糕,这突显了它们在具有挑战性的基于视觉的、很少得到奖励的任务中的不稳定性。我们想强调的是,如果有足够的训练时间,其中一些基线方法最终可能会开始成功,但我们没有发现任何证据。为了使强化学习基线能够成功地在这些任务上进行训练,它很可能需要访问仅限模拟的特权能力(例如重置为演示、不对称的参与者批评、辅助任务或奖励塑造);这将使这种方法在现实世界的训练中变得不切实际。特别是现实世界的奖励塑造非常繁琐;例如,在开始奖励设计之前,为现实世界中的“揭开锅盖”任务制定奖励首先需要我们建立一个盖子跟踪系统。此外,众所周知,随着任务复杂性的增加,奖励的塑造很难做到正确[29]。

图3。8个RLBench任务的学习曲线。除了我们的方法(C2F-ARM)外,我们还包括与之前工作中相同的基线:ARM[14]、BC、SAC+AE[41]、DAC[18](GAIL[9]的改进的非政策版本)、SQIL[30]和DrQ[19]。为了进一步展示C2F-ARM的采样效率,我们的方法只接收10个演示,而所有其他基线接收100个演示,这给基线方法带来了很大的优势。演示在训练前存储在回放缓冲区中;这给基线方法带来了很大的优势。实线表示对5个种子的平均评估,阴影区域表示这些试验的标准偏差。评估从步骤100开始。

就挂钟 wall-clock 时间而言,由于使用3D卷积而不是使用2D卷积的基线,推理时间增加了2倍;然而,与手臂导航到下一个最佳姿势所需的时间相比,推理时间可以忽略不计。我们还注意到,作为纯粹的定性观察,C2F-ARM几乎不需要超参数调整,而基线需要大量的超参数调整。 

5.1.2 Multi-camera and Ablations

第二组仿真实验评估了具有多个摄像头的C2FARM。ARM的弱点之一[14]是它无法轻松处理多摄像头环境;因此,选择了只能用前置摄像头完成的任务。然而,对于现实世界的机器人来说,期望单个摄像头总是包含完成任务所需的信息是不合理的;事实上,机器人系统需要将来自多个摄像头的信息融合到一个表示中。因此,图4显示了RLBench的另外4个任务,我们认为仅使用前置摄像头很难完成这些任务。对于每项任务,我们使用3个摄像头(手腕、左肩和右肩)运行我们的方法,并将其与仅使用前置摄像头进行比较。由于所有相机都融合到一个体素网格中,因此在使用其他相机时不需要修改系统的任何部分。图4中的结果清楚地表明,这些任务不能只用一个摄像头来完成,当给出适当的摄像头信息时,C2F-ARM可以很好地执行。

图4。学习4个额外RLBench任务的曲线,这些任务仅使用前置摄像头很难或不可能实现。使用的3个摄像头是手腕、左肩和右肩。实线表示对5个种子的平均评估,阴影区域表示这些试验的标准偏差。

对于最后一组模拟实验,我们评估了当改变体素的粗细深度和体积时,C2F-ARM的鲁棒性。图5显示,我们的方法对粗到细的深度和体素网格大小范围具有鲁棒性,但请注意,随着体素网格尺寸和粗到细深度的共同减小,性能开始恶化。请注意,可以理解的是,最粗糙的设置(8,8)表现最差,因为一个非常粗糙的8^3体素网格只有两层,这使得场景理解阶段变得困难,特别是在最精细的阶段,每个体素将包含许多点。我们假设体素化图像特征(而不是原始RGB值)在这些较粗糙的设置下表现更好;我们将此留给未来的工作。图5还表明,增加体素网格大小会带来更好的性能,但请注意,这将导致更大的内存占用。请注意,如果内存是一个限制因素,那么只需增加从粗到细的深度,只需小幅增加内存占用即可获得性能提升;即,额外深度(例如(8,8)→(8,8,8))的内存占用量明显小于移动到更大体素网格大小(例如(8,8)→(16,16))的占用量。

图5。在“take_lid_off_saucepan”和“put_rubbish_in_bin”任务中调查Q注意力深度和体素体积。括号中的数字表示从粗到细的深度以及体素网格大小;例如(8,8)表示从粗到细的深度为2,每个深度的体素网格大小为83。

5.2. Real World

为了进一步展示我们方法的样本效率,我们从头开始训练了5个真实世界的任务,如图6所示。在每集开始时,任务中的对象在机器人工作空间内随机移动。我们训练每个任务,直到agent连续4次成功。训练每项任务的大致时间是:从架子上拉布(约26分钟),拉玩具车(约18分钟),取下炖锅盖(约6分钟),折叠毛巾(约24分钟),开灯(约42分钟)。我们使用franka emika panda和一台rgb-d realsense相机。所有任务都会通过htc vive vr系统进行3次演示。这些定性结果最好通过项目网站上5项任务中每项任务的完整、未剪辑的培训视频来查看。

图6。使用c2f-arm在以下任务中成功进行试验的两个例子:打开灯、从架子上拉出布料、拉动玩具车、取下炖锅盖和折叠毛巾。agent仅接受了3次演示。每个任务的每一列都显示了rgb-d观测值att=0、t=T/2和t=T。

6. Discussion and Conclusion

我们提出了粗到细注意力驱动的机器人操纵(c2f-arm),这是一种利用粗到细q-注意力并允许平移空间离散化的算法。通过这种离散化,我们能够摆脱不稳定的行动者批评方法,转而使用更稳定的深度q学习方法。结果是一个样本高效的机器人学习算法,其性能优于其他算法,可以快速学习现实世界的任务。

c2f-arm可以被认为是arm的改进、离散版本[14]。与原始arm系统有3个关键区别:

(1)q-attention的角色和架构发生了变化;在arm中,2d q-attention的作用是作为一种硬注意力,为演员评论家提供下一个最佳姿势agent,而在c2f-arm中,3d q-attentions的作用是以从粗到细的方式递归应用,以离散化大的平移空间。

(2) 系统中的阶段数量有所减少;arm是一个三级系统,由q-attention、次佳姿势agent和控制agent组成,而c2f-arm消除了对演员评论家次佳姿势agent的需求,因此仅由粗略的q-attentions和控制agent构成。

(3) c2f-arm无缝支持多个摄像头或单个移动摄像头;arm不适合多台相机,因为当相机观察没有任何有趣的像素时,其行为不明确,也不适合移动相机,因为裁剪尺寸可能太小或太大,无法在相机靠近或远离有趣物体时正确裁剪。c2f-arm不会受到这种影响,因为所有相机都被体素化为规范的世界帧。

有许多方面需要改进。目前,只有原始rgb和点云数据存储在体素中,但我们假设,将来自小型2d卷积网络的像素特征体素化,可以获得更具表现力的体素值,特别是在处理小分辨率或少量从粗到细的q-attention层时。另一个弱点是,我们仅限于将初始体素分辨率(在q-attention深度0处)保持在合理的小范围内。当考虑在固定桌子上进行操作时,这不是一个问题,但当考虑移动操作时,就会成为一个问题。在移动操作中,深度0处的分辨率可能必须变得非常大,以适应整个房间或房子的体素化;我们希望在未来的工作中研究解决方案。与arm[14]非常相似,控制agent使用路径规划和在线轨迹生成,但无疑需要改进,以实现具有动态环境(如移动目标物体、移动障碍物等)或复杂接触动态(如钉入孔)的任务。我们还热衷于通过在粗到细网络的输出上学习完全连续的残差函数来进一步细化输出姿态,从而获得额外的性能;然而,我们假设需要更细粒度控制的任务将需要用于评估。我们最兴奋的工作是探索该系统在多任务[17]和少镜头[1,13]学习场景中的使用。

Quest 3D 是一种实时三维设计与交互软件,可以用来创建虚拟现实项目、模拟器、视觉效果和游戏。使用 Quest 3D,用户可以通过一个使用简单、直观的图形界面的流程来创建各种类型的交互性文件。 Quest 3D 生成的文件可以有不同的格式,最常见的是.exe(可执行文件),它是一个可以在计算机上直接运行的可执行程序。与其他文件格式相比,.exe 文件可以在没有安装 Quest 3D 软件的计算机上运行,并且不需要其他额外的软件或插件的支持。 为了生成一个.exe 文件,用户需要完成几个步骤。首先,在 Quest 3D 中设计和创建虚拟场景,包括模型、纹理、动画、光照、特效等。然后,用户可以添加交互性的元素,例如按键、按钮、触发器等,使得用户可以与场景进行互动。接下来,用户需要设置导出选项,包括导出的目标路径、文件名、图像质量等等。最后,用户可以点击导出按钮,软件将开始生成.exe 文件。 生成的.exe 文件可以在 Windows 操作系统上直接运行,无需安装其他软件或插件。用户只需双击该文件,即可在计算机上打开交互式三维场景。 总之,Quest 3D 生成的文件主要是.exe 格式,用户可以使用这些文件在计算机上运行和展示交互式三维场景,而无需安装额外的软件或插件。通过 Quest 3D,用户可以轻松创建惊人的虚拟现实项目和游戏,并与观众或玩家进行互动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值