在Three.JS中通过鼠标点击选择Collada对象

2024-01-12

我需要通过鼠标单击在 Three.JS 中选择 Collada 对象。我知道我可以根据对象的 id 选择对象,并且我看到了一些用户可以与几何定义的对象交互的示例(here http://mrdoob.github.com/three.js/examples/webgl_interactive_cubes.html)。但我需要访问 Collada 格式的对象。


假如说dae_scene是从 ColladaLoader 返回的 COLLADA 场景,您可以执行以下操作来检查交集:

var toIntersect = [];
THREE.SceneUtils.traverseHierarchy(dae_scene, function (child) {
    if (child instanceof THREE.Mesh) {
        toIntersect.push(child);
    }
});

这将获取 COLLADA 场景内的所有网格对象。然后,您可以使用该数组来查找光线交叉点,如下所示:

var ray = new THREE.Ray( camera.position,
                         vector.subSelf( camera.position ).normalize() );
var intersects = ray.intersectObjects( toIntersect );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Three.JS中通过鼠标点击选择Collada对象 的相关文章

  • 在 SELECT 中将列值拆分为两列?

    我在 varchar 列中有一个字符串值 它是一个由两部分组成的字符串 在它到达数据库之前分割它不是一个选择 该列的值如下所示 one column part1 part2 part1 part2 所以我想要的是一个如下所示的结果集 col
  • .points 不透明度/大小在三个.js 内

    我回来回答有关 points 的第二个问题 这次想知道如何将不透明度从 0 更改为 1 然后又回到距发射器的特定像素距离内 var particleCount 14 particles new THREE Geometry pMateria
  • Three.js - 推开然后恢复“鼠标移动”上的元素位置

    大家好 我正在开发一个项目Three js用户可以在哪里hover一个镶嵌的面 每个网格在与不可见球体相交时都应该被推开 并且当它在其区域之外时返回到其原始位置 我在用this http codepen io soulwire pen Ff
  • jQuery Draggable:可拖动框越过容器 - bug?

    Try this http jsfiddle net QhVNr code HTML div class draggable container div class draggable div class exp div div div C
  • 使用矩阵变换 Three.js 场景图

    我正在尝试将文件中的场景加载到 Three js 中 自定义格式 不是 Three js 支持的格式 这种特殊格式描述了一个场景图 其中树中的每个节点都有一个指定为 4x4 矩阵的变换 将其推送到 Three js 的过程如下所示 Yeah
  • 子查询在多项选择时返回超过 1 个值的 SQL 错误

    我想要一个临时表 它将使用 select 语句插入值 但每次我运行查询时 总是出现错误 子查询返回超过 1 个值 当查询跟随 gt 或子查询用作表达式时 不允许这样做 该语句已终止 0 行受影响 这很奇怪 因为代码中似乎没有错误 但如果有的
  • 在地图中的图块上实现鼠标单击事件

    我正在尝试在 JPanel 上实现图像 基本上是地图上的图块 的鼠标单击事件 我只是不知道该怎么做 我有一个扩展 JPanel 的 Main 类 我正在从图块服务器检索图块 并根据特定的缩放级别在 Main 类的 PaintComponen
  • 使用 Three.js 制作带孔的圆角盒

    我需要创建一个 4 个侧面但顶部和底部都有圆角的盒子 Three js 有一个很好的例子webgl 几何 形状 https threejs org examples webgl geometry shapes我正在尝试复制它以在绿色圆框上添
  • 我可以在 WebGL 的 GLSL 中使用什么作为数组索引?

    是否只允许使用常量 或者我可以将其用于循环索引或任何其他动态值 In WebGL GLES2 是的 只允许使用常量 但是 如果您的代码可以展开 无论是由您自己还是由编译器 那么它就被视为一个常量 并且您有一个解决方法 例如 问题 unifo
  • XPath 选择具有特定属性值的元素?

    我在使用 XPath 选择节点时遇到问题 我将展示一个示例 由于实际数据量很大 xml 文件被缩短了 这是 XML 的子集
  • Three.js、自定义着色器和具有透明度的 png 纹理

    我有一个非常简单的 PNG 纹理 一个带有透明背景的灰色圆圈 我用它作为制服map for a THREE ShaderMaterial var uniforms THREE UniformsUtils merge basicShader
  • 使用 select_ 和starts_with R

    为什么这段代码不起作用 mtcars gt select starts with d Error in eval expr envir enclos could not find function starts with 这是简化的示例 我
  • 使用正则表达式选择查询 - MySql

    如果特定列的名称中包含数字 我想选择记录 表格1 ID EmpCode EmpName 1 1C Name1 2 2C Name2 3 C3 Name3 4 CD Name4 5 CD Name4 6 C6D Name6 7 7CD Nam
  • 仅选择多索引 DataFrame 的一个索引

    我正在尝试仅使用多索引 DataFrame 中的一个索引创建一个新的 DataFrame A B C first second bar one 0 895717 0 410835 1 413681 two 0 805244 0 813850
  • MySQL SELECT 输出同一行中每个 id 的下一个日期

    我查询的表结构如下 ID Date Before value After value 1 2014 04 25 Win Loss 1 2014 04 30 Loss Win 1 2014 08 18 Win Loss 1 2014 08 2
  • 三种js更新纹理生成Canvas的最佳性能方式

    I have THREE Points with THREE PointsMaterial As a map我使用生成的动态cavas image 我需要重新渲染canvas在每一帧上 我的部分代码 function makeEnemyBa
  • Three.js WebGL 从着色器绘制圆形自定义填充和边框颜色

    我将 Three js 与 WebGLRenderer 一起使用 我试图找出或查看如何使用 CircleGeometry 绘制圆圈的示例 并能够从顶点或片段着色器控制其填充和边框颜色 如果不使用图像作为纹理 这是否可能 抱歉 如果这真的很简
  • 在 Three.js 中绕点旋转对象的正确方法是什么?

    关于 Three js 的大多数教程 问题都建议使用 Three js 绕点旋转对象的方法是在要旋转的位置创建父对象 附加对象 然后移动子对象 然后 当父级旋转时 子级围绕该点旋转 例如 Make a pivot var pivot new
  • C++ Socket选择和接收问题

    下面是我在套接字编程方面遇到问题的代码片段 在此之后select调用 如果我不在第 9 行放置睡眠 则在 Windows XP 上 第 11 行收到 1 个字节 而不是从服务器作为整数发送 4 个字节 当我检查 xmlSize 时 它 被设
  • Three.js 各种大小的粒子

    我是 Three js 的新手 正在尝试找出添加 1000 个粒子的最佳方法 每个粒子都有不同的大小和颜色 每个粒子的纹理是通过绘制画布创建的 通过使用粒子系统 所有粒子都具有相同的颜色和大小 为每个粒子创建一个粒子系统是非常低效的 有没有

随机推荐

  • PayPal API - 验证帐户是否有效/存在/已验证

    有人能够仅通过电子邮件地址验证 PayPal 帐户的有效性吗 AdaptiveAccounts GetVerifiedStatus 用 PayPal 自己的话说 仅供其关键战略客户使用 见下文 我找不到任何其他方法来根据电子邮件地址检查帐户
  • asp.net表单身份验证多人使用同一用户名登录

    我有一个使用表单身份验证的 MVC3 网站 我想知道如果多个或更多人使用同一用户帐户登录是否会出现任何问题 我一直在尝试解决我们遇到的错误 看起来网站服务器在与数据库服务器通信时出现问题 但是我只是想排除帐户共享引起问题的可能性 Thank
  • F# 命名空间或模块“XXXX”未定义

    我正在尝试创建一个基本的 ASP net f 应用程序 当我尝试引用 Youtube net API 时 我在代码隐藏文件中收到 命名空间或模块 Google 未定义 我在 Visual Studio 中使用了默认的 ASP Web 表单模
  • 选择一个 xml 元素,忽略元素名称,打印换行符

    我想选择第一个元素 但在输出中忽略它的名称 这就是我在请求第一个之后得到的url每个输入 xml 文件中的元素 xmllint xpath yandexsearch response results grouping group doc u
  • 自定义进度绘制不适用于 Android Lollipop (API 21) 设备

    我有一个进度绘图 它在运行 Android Lollipop 的设备上无法正常工作 Screenshot on M Screenshot on Lollipop Circle percentage drawable xml
  • 从 OrderedDict 中提取数据

    所以我有一个 firebase 数据库 这是我获取特定数据的代码 db firebase database test db child Users order by child IDNumber equal to 222333123 get
  • ng build 和 ngserve 有什么区别?

    ng build 和 ngserve 有什么区别 ng build 和 ngserve 之后到底发生了什么或发生了什么变化 The ng build命令专门用于构建应用程序和部署构建工件 The ng serve命令旨在实现快速 本地和迭代
  • DataGridView使用虚拟模式实时显示数据表

    我有一个 DataGridView 它将显示数据库中的记录 日志条目 一次可以存在的记录量非常大 我想使用 DataGridView 的虚拟模式功能来显示数据页 并最大限度地减少给定时间必须通过网络传输的数据量 轮询数据是不可能的 一次将有
  • 使用 zxing 创建彩色二维码

    我正在使用谷歌开源java zxing Creator http code google com p zxing http code google com p zxing 创建二维码 我已准备就绪并正在工作 我正在使用 Coldfusion
  • 在类内初始化固定大小的常量数组

    考虑下面的类 class A const int arr 2 public A 是否可以初始化arr从构造函数初始值设定项列表或以除声明它的行之外的任何其他方式 即const int arr 2 1 2 请注意 我对与 C 98 一起使用的
  • 错误 400 删除记录的请求 YII 无效

    我试图在 Yii 中删除一条记录 这会抛出错误 400 请不要再次重复此请求 它正在检查后变量 我的控制器文件有 if Yii app gt request gt isPostRequest 当我回显我的 post 变量时 它是空白的 而
  • 预处理器之后的 CDT IASTNode getRawSignature

    在CDT核心插件中 有一个方法getRawSignature接口的IASTNode被描述为 Returns the raw signature of the IASTNode before it is processed by the pr
  • 扩展淘汰赛可观察数组

    我想向 ko observableArray 添加一些类似 ArrayCollection 的功能 IE removeItemAt index 调度项目删除事件 addItem item 调度项目添加事件 ETC 我注意到在大多数 ko 示
  • 更改反应本机中反应导航选项卡的底栏容器颜色

    我正在尝试将边框半径添加到底部栏 但是这样 我想将容器颜色从默认更改为紫色 我怎样才能做到这一点 到目前为止我做了什么 我想要的是 Code tabBarOptions activeTintColor colors primary inac
  • Google Maps API v3 中的remove_at 事件何时触发?

    我正在研究 google map api v3 想要添加编辑折线的功能 根据谷歌文档 当折线处于编辑模式时会触发 3 个事件 插入位置 set at 删除 at 我知道前两个事件何时被触发 并且也能够获得编辑后的坐标 我也想删除一个节点但不
  • 为什么我应该在 Clojure 中使用“apply”?

    这是 Rich Hickey 在一篇博客文章中所说的 但我不明白使用 apply 的动机 请帮忙 Clojure 和 CL 之间的一个很大区别是 Clojure 是 Lisp 1 因此不需要 funcall 并且 apply 仅用于将函数应
  • 安卓权限错误

    我创建了一个启用蓝牙并发现其他设备的应用程序 在清单中我有以下内容
  • 如何在java/Android中的选项卡之间使用intent?

    我需要知道如何处理选项卡之间的意图 例如 我有一个带有两个选项卡的选项卡活动 首先内容是文本视图 另一种是地图视图 当我单击该文本视图时 它会重定向到 tab2 它可以通过 setCurrentTab 1 或 setCurrentTabBy
  • SKAction playSoundFileNamed 在 500 mp3 时失败

    在我的应用程序中 我需要使用很多不同的短mp3 大约500个项目一一 所以我用SKAction playSoundFileNamed 在大约 200 声声音后 它崩溃并显示 无法加载资源 无法加载资源 s234 mp3 内存升至70mb 如
  • 在Three.JS中通过鼠标点击选择Collada对象

    我需要通过鼠标单击在 Three JS 中选择 Collada 对象 我知道我可以根据对象的 id 选择对象 并且我看到了一些用户可以与几何定义的对象交互的示例 here http mrdoob github com three js ex