首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在react-three/fiber中拖动x和z中受y约束的对象,并使用可以通过orbitcontrol移动的正交相机?

在react-three/fiber中拖动x和z中受y约束的对象,并使用可以通过orbitcontrol移动的正交相机,可以通过以下步骤实现:

  1. 首先,确保你已经安装了react-three/fiber库,并在项目中引入相关组件和依赖。
  2. 创建一个React组件,用于渲染Three.js场景。在组件中,导入所需的Three.js组件,如Scene、PerspectiveCamera、OrbitControls、Box等。
  3. 在组件的state中定义一个对象,用于表示要拖动的物体的位置和约束。例如,可以使用一个包含x、y、z坐标的对象。
  4. 在组件的render方法中,使用Three.js的组件和对象来创建场景、相机、控制器和物体。将相机设置为正交相机,并将控制器绑定到相机上。
  5. 在组件中添加事件处理函数,用于处理拖动操作。可以使用Three.js的Raycaster来检测鼠标点击位置是否与物体相交,并更新物体的位置。
  6. 在事件处理函数中,根据拖动的位置和约束,更新物体的x和z坐标,并保持y坐标不变。
  7. 最后,将组件添加到React应用中,并渲染出场景。

以下是一个示例代码,演示如何在react-three/fiber中实现拖动x和z中受y约束的对象,并使用可以通过orbitcontrol移动的正交相机:

代码语言:txt
复制
import React, { useRef, useState } from 'react';
import { Canvas, useFrame } from 'react-three-fiber';
import { OrbitControls, PerspectiveCamera, Box } from 'drei';

const DragObject = () => {
  const boxRef = useRef();
  const [dragging, setDragging] = useState(false);
  const [dragOffset, setDragOffset] = useState({ x: 0, y: 0 });

  const handlePointerDown = (event) => {
    event.stopPropagation();
    setDragging(true);
    setDragOffset({
      x: event.clientX - boxRef.current.position.x,
      y: event.clientY - boxRef.current.position.y,
    });
  };

  const handlePointerMove = (event) => {
    if (!dragging) return;
    boxRef.current.position.x = event.clientX - dragOffset.x;
    boxRef.current.position.z = event.clientY - dragOffset.y;
  };

  const handlePointerUp = () => {
    setDragging(false);
  };

  useFrame(() => {
    if (boxRef.current) {
      boxRef.current.rotation.x += 0.01;
      boxRef.current.rotation.y += 0.01;
    }
  });

  return (
    <Box
      ref={boxRef}
      position={[0, 0, 0]}
      onPointerDown={handlePointerDown}
      onPointerMove={handlePointerMove}
      onPointerUp={handlePointerUp}
    />
  );
};

const App = () => {
  return (
    <Canvas>
      <PerspectiveCamera makeDefault position={[0, 0, 5]} zoom={10} />
      <OrbitControls />
      <ambientLight intensity={0.5} />
      <spotLight position={[10, 10, 10]} angle={0.15} penumbra={1} />
      <DragObject />
    </Canvas>
  );
};

export default App;

这个示例中,我们创建了一个DragObject组件,它是一个可拖动的立方体。通过设置onPointerDown、onPointerMove和onPointerUp事件处理函数,我们可以实现拖动操作。在useFrame钩子中,我们还添加了一个旋转动画,使立方体可以自动旋转。

请注意,这只是一个简单的示例,你可以根据自己的需求进行扩展和修改。如果你想了解更多关于react-three/fiber和Three.js的信息,可以参考腾讯云的相关文档和示例代码:

  • react-three/fiber:https://github.com/pmndrs/react-three-fiber
  • Three.js官方文档:https://threejs.org/docs/index.html
  • 腾讯云云计算产品:https://cloud.tencent.com/product
  • 腾讯云云原生产品:https://cloud.tencent.com/product/tke
  • 腾讯云音视频处理产品:https://cloud.tencent.com/product/mps
  • 腾讯云人工智能产品:https://cloud.tencent.com/product/ai
  • 腾讯云物联网产品:https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动开发产品:https://cloud.tencent.com/product/mobdev
  • 腾讯云存储产品:https://cloud.tencent.com/product/cos
  • 腾讯云区块链产品:https://cloud.tencent.com/product/baas
  • 腾讯云元宇宙产品:https://cloud.tencent.com/product/vr
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

看完这篇,你也可以实现一个360度全景插件

最常用,我们使用距离原点三个长度(距离 x轴、距离 y轴、距离 z轴)来定义一个位置,这就是直角坐标系。 在判定坐标系时,我们通常使用大拇指、食指中指,互为 90度。...大拇指代表 X轴,食指代表 Y轴,中指代表 Z轴。 这就产生了两种坐标系:左手坐标系右手坐标系。 ? Three.js中使用坐标系即右手坐标系。...实际上 position lookAt接收参数都是一个类型为 Vector3对象,这个对象用来表示三维空间中坐标,它有三个属性: xyz分别代表距离 x轴、距离 y轴、距离 z距离。...在这个过程,一共经历了两次坐标转换: 第一次转换:将“经纬度”转换为三维空间坐标,即我们上面讲那种 xyz形式坐标。...4.1 要求 建立坐标全景映射关系,为全景赋予一套虚拟坐标 在一张平铺全景图上,可以在任意位置增加标记,获取标记坐标 使用坐标在预览全景增加标记,看到标记位置和平铺全景位置相同

8.7K30

提高效率 |ArcGIS Pro 中所有快捷键一网打尽

垂直移动启用 z折点,保留其 x,y 坐标。将鼠标悬停在控点上,直到指针变为折点,然后拖动该折点。此快捷键适用于 3D 场景。 Ctrl + 拖动 移动贝塞尔曲线。...将鼠标悬停在控点上,直到指针变为折点,然后拖动该控点。 Ctrl+H 将 z移动到指针。 将选定折点 z移动到指针高程。保留 x y 值。这仅在启用立体模式时可用。...打开绝对 X,Y,Z对话框。 选项卡 切换侧面翻转注记。 将未完成文本翻转 180 度至随沿边左侧或右侧。使用随沿要素创建文本时,可以使用此快捷键。 O 使用“随沿要素”选项。...F6 指定绝对 X,Y,Z 。 打开绝对 X,Y,Z对话框。 Shift + 拖动 将形状创建为正方形。 将形状约束为正方形。创建矩形第一个点,按键盘快捷键,然后拖动。...单击拖动 平移地图。 Shift 加快 x,y 变化速度。 沿所需方向移动指针。再次按下 Shift,以返回 x,y 标准变化速度。 Caps Lock 减慢 x,y 变化速度。

72820

如何使用 react three.js 在网站渲染自己3D模型

正文开始 在本文中,我将介绍如何在 react 项目中使用 react-three-fiber 创建一个 3D 软件程序,配置 3D 参数( Blender 或 Maya ) 。...然后你可以自由地使用一系列合适发型、肤色、面部特征、服装选择其他可定制属性对自己角色进行调整。 登录这个网站后 Ready Player Me, 你只需要遵循以下步骤,你就可以开始进行。...选择体型 上传你自己照片 定制您外观 下载您模型 在 React 渲染模型 为了在 react 程序渲染这个模型,我们将使用 react-three-fiber** 一个**Threejs.../fiber @react-three/drei npm install three @react-three/fiber @react-three/drei #or yarn add three...@react-three/fiber @react-three/drei 将模型转换为 React 组件 完成之后,继续运行以下命令,使用 gltfjsx 转换成 react 组件格式。

8.9K10

基础渲染系列(一)图形学基石——矩阵

现在,你可以将位置转换组件添加到我们网格对象。这让我们可以移动“点”,而无需移动实际网格对象。我们所有的转换都发生在对象局部空间中。 ? ? (变换位置) 2.2 缩放 接下来是缩放转换。...3.3 为XY做矩阵旋转 使用我们找到Z轴旋转相同方式,我们可以得出绕Y轴旋转矩阵。首先,X轴从 ? 开始,逆时针旋转90°后,变为 ? 。 这意味着旋转X可以用 ? 来表示。...(正交投影) 实际上,网格变为2D了。但你仍然可以缩放,旋转重新放置所有内容,之后会将其投影到XY平面上。这是基本正交摄影机投影。 我们原始相机位于原点,朝正Z方向看。...那我们可以移动旋转它吗? 是的,事实上我们已经可以做到了这一点。 移动相机与向相反方向移动世界具有相同视觉效果。 旋转缩放也是如此。 因此,尽管有点尴尬,但我们可以使用现有的转换来移动相机。...另外,Unity相机朝负Z方向看,还需要取反一些数字。 你可以将所有内容合并到投影矩阵。 大家可以自己尝试构建。 那么,这一章节意义何在

4.8K23

一步步带你实现web全景看房——three.js

= new THREE.Scene(); 照相机:摄像机就相当于人眼,有摄像机才可以看见场景里面的一切物体光源。...常用正交摄像机透视摄像机 正交摄像机是一个矩形可视区域,物体只有在这个区域内才是可见物体无论距离摄像机是远或事近,物体都会被渲染成一个大小。...THREE.xxxMaterial指的是框架自带材料,不同材料所需要参数也是有所不同 更多material相关api 有了geometrymaterial,就可以创建一个mesh追加到场景:...调试工具 轨道控制器 加上此控制器,就可以通过鼠标拖拽、滚动对整个画面进行拖拽放缩 轨道控制器代码在THREE官方github上,如果使用时候报错THREE.OrbitControls is not...,然后只需拖动可以调整角度了。

1.3K20

第4章-变换-4.2-特殊矩阵变换运算

我们不讨论围绕x轴、yz旋转,而是讨论改变航向、俯仰滚动。请注意,此变换不仅可以定向相机,还可以定向任何对象或实体。可以使用世界空间全局轴或相对于局部参考系来执行这些变换。...大多数制造过程,包括3D打印,都认为z方向在世界空间中;航空海上交通工具认为-z向上。建筑GIS通常使用z-up,因为建筑平面图或地图是二维xy。...与媒体相关建模系统通常将y方向视为世界坐标向上,这与我们在计算机图形始终描述相机屏幕向上方向方式相匹配。...很难将两组欧拉角组合使用。例如,一组另一组之间插值并不是对每个角度进行插值简单问题。事实上,两组不同欧拉角可以给出相同方向,因此任何插值都不应该旋转对象。...绕任意轴 旋转是通过找到由 、 形成标准正交基来完成。然后我们将此基与标准基对齐,以便 与x轴对齐。在这个标准基中进行绕x旋转,最后我们变换回原来坐标基。

3.5K40

【企业数字化转型】数据可视化技术:Three.js 用Physijs在场景添加物理效果

相机(camera) 相机是用来拍摄工具,通过控制相机位置方向可以获取不同角度图像。...通过该网格你可以从一个THREE.PlaneGeometry对象创建出一个高度场。 使用约束限制对象移动: 我们已经了解到各种图形如何对重力、摩擦弹性做出反应。影响碰撞。...下表是Physijs可用约束概览: PointConstraint/通过这个约束,你可以将一个对象与另一个对象之间位置固定下来。...例如一个对象动了,另一个对象也会随着移动,它们之间距离方向保持不变 HingeConstraint/通过活页约束,你可以限制一个对象只能像活页一样移动,例如门 SliderConstraint/...例如移门 ConeTwistConstraint/通过这个约束,你可以用一个对象限制另一个对象旋转移动。这个约束功能类似于一个球削式关节。

4.5K31

提示

// 创建场景 const scene = new THREE.Scene(); 照相机:摄像机就相当于人眼,有摄像机才可以看见场景里面的一切物体光源。常用正交摄像机透视摄像机 ?...一般应用场景是2.5d游戏跳一跳、机械模型 // 创建正交相机 const camera = new THREE.OrthographicCamera( -window.innerWidth...THREE.xxxMaterial指的是框架自带材料,不同材料所需要参数也是有所不同 更多material相关api 有了geometrymaterial,就可以创建一个mesh追加到场景:...调试工具 轨道控制器 加上此控制器,就可以通过鼠标拖拽、滚动对整个画面进行拖拽放缩 轨道控制器代码在THREE官方github上,如果使用时候报错THREE.OrbitControls is not...,然后只需拖动可以调整角度了。

1K31

图形学入门(一):坐标变换

,用单位向量 \hat{t} 表示 我们知道,位置是相对,假设我们正拿着一个相机在拍摄一个物体,固定好位置拍出一张相片后,我们将相机被拍摄物体都向前移动一段相同距离,再向左移动相同距离,然后再拍摄一张照片...这也就意味着,我们可以根据计算便利性,选择一个坐标系,来将所有物体相机都按照这个坐标系进行移动。...一旦规定好 y z 轴,那么 x方向也就可以通过叉乘来计算得出了:\hat{x} = \hat{y} \times \hat{z} = \hat{g} \times \hat{t}。...同理,由于相机 x 轴方向单位向量 \hat{x} 可以通过 \hat{t} \hat{-g} 叉乘得到,即 \hat{g} \times \hat{t},因此,我们也知道了第一列值:(x_{...首先,我们将平截头体任意一点 (x,\ y,\ z) 与相机所在位置连一条线,这条线会与近裁剪平面相交于一点 (x^\prime,\ y^\prime,\ z^\prime)。

1.7K20

threejs地球、星空、世界轮廓绘制、飞线、坐标涟漪 、旋转动画(上篇)

为什么不用echarts 公司数据分类项目大屏项目使用echart 比较多,对echart使用不能说是手到擒来,也是比较熟练地。 个人比较倾向于它,最重要配置型,找到个案例复制粘贴完事。...) 多种灯光 渲染器初始化 这个库外界需要一个接口,可以通过id选择器拿到dom节点,从而获取到宽高。...positions.push(vertex.x, vertex.y, vertex.z); var color = new Color(); color.setHSL(Math.random...threejs 通过 LineLoop 世界点数据,可以绘制多边形。利用这个原理绘制国家边界。...transparent: true, //开启透明 // opacity: 0.5,//可以通过透明度整体调节光圈 }); // 创建表示地球光圈精灵模型 var sprite

9.3K31

three.js 相机

图形学相机定义了三维空间到二维屏幕投影方式,根据投影方式不同,相机可分为 正交投影相机 与 透视投影相机。...正交投影相机 : 近处、远处物体大小尺寸保持一致,常适用于工程制图、建模软件,CAD, UG 等。 透视投影相机: 远处物体比近处物体小, 模拟是现实中人眼状态。...六个参数分别对应 X最小最大坐标, Y最小最大坐标, Z最小最大坐标, 创建一个平行视景体(长方体空间区域),坐标落在该区域内物体才可见: left (左边界) —— 该属性是可视范围左平面...far (远面) —— 基于相机所在位置, 一直渲染到场景这一点。...相机位置 相机默认位置是面向Z 轴负方向放置,可改变相机位置, 若右移(X 轴正向)一个单位, 向着 Z 周正向移动 10 个单位 camera.position.set(1, 0, 10) /

6.8K20

【带着canvas去流浪(13)】用Three.js制作简易MARVEL片头动画(下)

- font.boundingBox.min.z)/2; 调整思路就是,通过x,y,z三个方向都偏移包围盒自身尺寸一半,从而达到将定位参考点移动到立方体几何中心目的,tempPos记录上一个几何体总宽度...左面实际上就是法向量x分量为负数面,下面就是y坐标为负数面,通过法向量特征,我们就可以挑选出从特定角度观察几何体时看到效果,例如遍历几何体表面,把所有法向量z为正数面挑出来,实际上就相当于在...关于这两种相机使用,直观区别是: 使用透视相机就好比使用者在调节一个真实摄像机参数来改变出现在镜头中画面的效果,可以说是一种间接确定拍摄范围,且它视场是一个锥形区域;而正交相机相当于是直接设定拍摄范围长宽高...(透视相机则不同,真实效果更类似,离得越远,看到物体越小),所以调节正交相机position.z通常是达不到预期效果,只能更新相机参数上下左右坐标值改变投影面的大小,也就是正交相机舞台正投影面区域...本例镜头变化相关代码如下(远近效果通过调节相机实现,角度翻转通过操作字体模型组实现): //模拟相机移动轨迹 function mockCameraTrack() { //1.初始轨迹调整相机参数

1.1K31

【笔记】《计算机图形学》(7)——观察

这里0.5是3.2提到过冲问题引起,n是在xy轴上像素长度,这部分可以对照前面3.2图来看 ?...上面的图是一个标准正交投影形式,在这里我们可以看到相机相机自己相机坐标系一个立方体形视体组成,在这幅图中就提出了几个问题: 此处相机坐标系为什么z轴正方向视体不在同一个方向上?...我们通常使用坐标系都是上图右手坐标系,我们习惯了让x轴指向右侧,y轴指向上方,但是视体又必然是处于屏幕内侧,这就导致了我们只能让z轴是指向屏幕外侧,而视体处于z负方向上。...计算机相机不会发生散焦等情况,因此在正交投影下调整焦距效果类似于相机移动 那么最后如何将正交视体变换为规范视体呢,很显然这也是一个缩放移动仿射矩阵情况,只是这一次我们无需忽略Z值了,三轴都要进行移动变换...而这种变换显然是非线性变换,如何在矩阵运算处理这个问题呢?上一节介绍仿射变换时候提到了标记位w在透视投影中有意义,这就是这里使用透视除法,这个w值是其他坐标的缩放程度。

2K20

相机模型--Catadioptric Omnidirectional Camera

两个这样相机被背靠背放到一起,没有违反 the single viewpoint 约束,得到真正 omnidirectional sensor. omnidirectional camera 可以在同一时间看到相机四周所有方向物体...为了增加相机视野,我们第一想法可能是将若干相机放到一起,每个相机指向一个不同方向。但是因为 投影中心点位于镜头内部,这样就没法满足成像系统单个投影中心点约束。...orthographic lens 正交投影镜头 经过推导得到反射面为 paraboloidal mirror 抛物反射面 所谓正交投影,只考虑所有三维空间中XY坐标,所有点映射到XY平面上...如果点(x,y,z)映射到点(x’,y’),那么x = x’,y = y’。每一个二维眼空间中点都是z轴是平行直线在观察平面上投影。所以正交投影又叫平行投影。...正交投影可以把场景中所有的物体通过平行光线投影到观察平面上。在正交投影,不管物体离眼睛有多远,它都原来物体大小相同。 11

1.2K30

基于图像三维物体重建:在深度学习时代最新技术趋势综述之训练

然后将它们串联馈送到另一个编码器解码器,该解码器回归完整3D体积网格一组完全连接层,后者回归相机姿势,整个网络都是端到端训练。...这种差异是空间雕刻启发而产生: ? 其中S(j)是原始3D对象X第j个2D轮廓,n是每个3D模型使用轮廓或视图数目,P(·)是3D到2D投影函数,α(j)是第j个轮廓相机参数。...设nx,y=(na,nb,nc)为某点(xyz)处曲面的法向量。向量nx=(0,-nc,nb)(-nc,0,na)与nx,y正交。...法向损失试图保证(xyz)±nx’xyz)±ny’处体素应为1,以匹配估计曲面法向。此约束仅适用于目标体素位于估计轮廓内情况。预计表面法向损失为: ?...该网络利用其位置矢量方向四元数来表示摄像机姿态,通过训练使真实数据估计姿态之间L2损失最小。 【1】X. Z.

1.1K30

CAD常用命令、快捷键命令说明大全 「建议收藏」

CAD常用命令、快捷键命令说明大全 一:常用功能键   F1: 获取帮助   F2: 实现作图窗和文本窗口切换   F3: 控制是否实现对象自动捕捉   F4: 数字化仪控制    F5:...  Ctrl+W:对象追 踪式控制(F11)   Ctrl+X:剪切所选择内容   Ctrl+Y:重做   Ctrl+Z:取消前一步操作   Ctrl+1:打开特性对话框   Ctrl+2:打开图象资源管理器...锁定循环改变 【F8】   约束X轴 【F5】   约束Y轴 【F6】   约束Z轴 【F7】   旋转(Rotate)视图模式 【Ctrl】+【R】或【V】   保存(Save)文件 【Ctrl...【2】   虚拟视图向左移动 数字键盘【4】   虚拟视图向右移动 数字键盘【6】   虚拟视图向中移动 数字键盘【8】   虚拟视图放大 数字键盘【7】   虚拟视图缩小 数字键盘【9】   实色显示场景几何体...Ctrl】+【N】   撤消场景*作 【Ctrl】+【Z】   NURBS编辑   CV 约束法线(Normal)移动 【Alt】+【N】   CV 约束到U向移动 【Alt】+【U】   CV 约束

8.2K20

CAD快捷键大全

Ctrl+W:对象追 踪式控制(F11)   Ctrl+X:剪切所选择内容   Ctrl+Y:重做   Ctrl+Z:取消前一步操作   Ctrl+1:打开特性对话框   Ctrl+2:打开图象资源管理器...锁定循环改变 【F8】   约束X轴 【F5】   约束Y轴 【F6】   约束Z轴 【F7】   旋转(Rotate)视图模式 【Ctrl】+【R】或【V】   保存(Save)文件 【Ctrl...局部观察平面图细节时,通常使用CAD快捷键Z+空格 19. 可以在工作区看到实时缩放放大镜 Z+空格+空格 20. 平移视图快捷方式是P+空格 21....打开关闭对象捕捉工具快捷方式是F3 32. 直线标注快捷方式是DLI+空格 33. 调整文字样式可以通过ST+空格快捷方式实现 34. 重新生成快捷方式是R+ E+空格 35....设置捕捉模式可以通过CAD快捷键实现 OS+空格 36.ENTER键可以重复上一次CAD操作 37. 刷新CAD快捷键是RE+空格 38. CAD系统,想取消正在执行命令可用ESC 39.

2.1K20

unity3d新手入门必备教程

点击Hierarchy区域中对象,同时将鼠标移动三维显示区域,同时点击键f,则该对象自动适配显示到三维区域中心,    13.  ...这是昀好通过设计者而不是玩家角度来查看场景方法。在场景视图中你可以随意移动操纵物体,但是你应该知道一些基本命令以便有效使用场景视图。    ...使用三键鼠标按住 Option按钮拖动鼠标左键可以使用旋转模式 (Orbit mode)按住 Option按钮拖动鼠标中键可以使用拖动模式 (Drag mode)按住 Option按钮拖动鼠标右键可以使用缩放模式...也可以使用滚轮来缩放(略)视图工具模式    视图工具拖动模式快捷键 Q    在拖动模式(Drag Mode)下,在场景视图中单击拖动鼠标来上下左右移动视图。...使用正规化视口矩形创建分屏    正交视图(Orthographic)使用正交相机将移除所有的景深效果,这在卷轴游戏 2D游戏中昀常用。    景深相机正交相机

6.3K10

Unity基础(20)-Camera类

摄像机组件 照相机是玩家观察世界装置,屏幕空间点按像素定义,屏幕左下为(0,0);右上是(pixelwidth,pixelHeight),z位置在照相机世界单位。 ?...拍摄角度为0-180°(最高) Field of View: 设置为“正交”时,“相机视口大小。 Orthographic(正交): 相机将统一渲染对象,没有视角。注:正交模式下不支持延迟渲染。...正向渲染总是被使用。 Size:设置为“正交”时,“相机视口大小。 Cliping Planes:从相机到开始停止渲染距离。 Near :相对于相机最近点将出现绘图。...通过cullingMask可以使得当前摄像机有选择性地渲染场景部分物体,默认cullingMask =-1即渲染场景任何物体,cullingMask = 0时不渲染场景任何物体。...最低消耗渲染路径,不支持实时阴影,适用于移动及老式设备。 forward:使用正向光照,基于着色器渲染路径。支持逐像素计算光照(包括法线贴图灯光Cookies)来自一个平行光实时阴影。

2.6K30

unity官方案例精讲(第三章)--星际航行游戏Space Shooter

reset它Transform组件。 (2)添加Rigidbody组件:用途是通过脚本来为飞船添加作用力,此外不希望飞船重力影响而下坠,取消Use Gravity选项。...使用多个摄影机时,每个摄影机在缓冲区存储自己颜色深度信息,在每个摄影机渲染时累积更多数据。当场景任何特定摄影机渲染其视图时,可以设置清除标志以清除缓冲区信息不同集合。...若飞船左右倾斜,则需要绕z轴旋转,往左移动时候,x轴方向上速度为负值,而此时旋转角度(逆时针)应该为正值,所以需要乘以一个负数。  ...(注意这里Capsule Collider组件只能放到Bolt上,不能放到子对象上,不然无法销毁Bolt对象,然后设置Capsule Colliderdirection属性值为Y-Aixs,设置radius...,背景音乐可以放到场景任意一个处于活动状态游戏对象上,这里选择是在GameController上 上面讲直接拖动音频文件到目标对象方法添加音频,简介高效。

3.1K30
领券