我正在尝试使用GLTFJSX将指针事件添加到react three fiber中加载的GLTF文件中。然而,指针事件不会触发,我也不知道为什么。
我已经尝试过将相同的事件添加到其他类似的html" target="_blank">代码沙盒中,它是有效的——那么,如果我做的基本上是相同的事情,为什么在本例中它不起作用呢?
https://codesandbox.io/s/hopeful-brook-h8rhs?file=/src/App.js
onPointerMisded
事件会触发。有时,onPointerover
和onPointerOut
事件确实有效。这似乎是随机工作的——有时是有效的,但大多数时候不是。
我错过了什么明显的东西吗?
当更改为网格
时,指针事件工作。因此,这个问题与没有检测指针事件直接相关。
问题在于skindmesh
修改图形卡(GPU)中的顶点位置,因此JavaScript端在执行命中测试(也称为光线投射)时不知道顶点已移动。请看下面的屏幕截图:
解决方案因您的用例而异,但您可以执行以下任一操作:
网格
,并更新网格。定位
属性以将其移近摄影机
var hitGeom = new THREE.BoxBufferGeometry(1, 1, 1);
var hitMat = new THREE.MeshBasicMaterial({visible: false});
// ...
<mesh geometry={hitGeom} material={hitMat}>
我从一个网站下载了一组文件,并在blender中导出了glb、gltf和mtl文件。我可以让glb或gltf文件显示在反应三纤维场景,但我不知道如何让纹理显示正确。我遇到了几个演示,但它们看起来很旧,什么不起作用。 下面是我如何加载文件。
指针事件(Pointer Events)是一种用于处理来自各种输入设备(例如鼠标、触控笔和触摸屏等)的输入信息的现代化解决方案。 一段简史 让我们先做一个简短的概览,以便你对指针事件及其在其它事件类型中所处位置有个粗略认识。 很早以前,只存在鼠标事件。 后来,触屏设备开始普及,尤其是手机和平板电脑。为了使现有的脚本仍能正常工作,它们生成(现在仍生成)鼠标事件。例如,轻触屏幕就会生成 mousedo
问题内容: 我陷入了问题。我有一个用于无限滚动的指令,可在其中监听事件。问题是,仅在我绑定到时才触发滚动事件: 有人知道如何解决这个问题吗? 我的指令: 我的看法: 问题答案: 我在这里为您创建了一个小提琴:http : //jsfiddle.net/ADukg/4831/ 有趣的是,我使用了确切的代码,而且一切似乎都可以正常触发(请参阅所有乱码)。我怀疑您的问题与您的CSS样式有关,因为如果没有
问题内容: 我在从React中的表行调用click事件时遇到麻烦。下面是我的代码。我有一个单独的函数来单独填充行,但似乎我弄乱了绑定信息。 } 问题答案: 首先,您要传递一个评估函数调用到您的属性。 单独查看以下代码: 您期望的输出为“ hello bob”。 如果我将其传递给prop,则完全相同。例如: 在这种情况下,我只是将字符串传递给按钮的prop。的(和其他事件的道具)希望被提供的功能(或
使用jQuery-1.9.1。js和jQueryMobile 1.3.1(Chrome 26/Windows 7)我不明白为什么这些“点击”事件绑定到#一个触发,而另一个没有: 超文本标记语言: JavaScript: 当我在JSFiddle中运行它时,两个事件都会在没有包装在“mobile einit”事件中时触发:http://jsfiddle.net/9NRwa/ 我错过了什么?
问题内容: 我有3个文件: js_json.js->用于我的json代码 javascript.js->用于我的javascript函数 index.php 这里的代码为: 这是我的代码: 这里的代码: 我的问题是: 当我单击链接“ Hola Test 1”时,它将起作用并显示消息。问题是,在单击选择选项之后,出现了链接“ Hola Test”,然后单击该链接(“ Hola Test”),该消息没