javascript - three.js 在对象上添加按钮以显示有关该位置的信息
问题描述
我有一个用 GLTF 加载器加载到我的场景中的对象:
var loader = new THREE.GLTFLoader();
loader.load( 'files/3.gltf', function ( gltf ) {
gltf.scene.traverse( function ( child ) {
我需要在这个对象上创建一个点来显示弹出信息。
如何将点添加到对象上的规范位置?
解决方案
您可以使用在线 three.js 编辑器https://threejs.org/editor/添加不可见的立方体/球体,将其放置在您想要的位置,将用户数据添加到此对象,例如 raycast: true,导出到 gltf,然后将元素添加到raycastable 元素数组
gltf.scene.traverse( function ( child ) {
if(child.userData.raycast) raycastable.push(child);
})
然后检查渲染循环中的交叉点 https://threejs.org/docs/#api/en/core/Raycaster
推荐阅读
- c# - EF Core 类型配置添加冗余 FK
- python-3.x - NLTK 访问本地文件;UnicodeDecodeError:“charmap”编解码器无法解码位置 834 中的字节 0x9d:字符映射到
- javascript - 单击两次反应后,单选按钮显示所选项目
- r - 来自现有 RMSE 和线性回归值的泰勒图
- flutter - Flutter primarySwatch 更改文本颜色和图标颜色
- excel - 如何使用目标范围删除 VBA 中的行
- javascript - 如何在javascript中隐藏时间hhmm格式?
- c# - 从数据库类继承所有/一些属性,InheritAttributes
- reactjs - 从firebase获取数组我做错了什么
- reactjs - `style` 属性需要从样式属性到值的映射,而不是字符串。具有多个属性的样式