问题标签 [drei]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
13 浏览

reactjs - InstancedMesh getMatrixAt 返回未定义

我正在尝试与 instancedMesh 中的对象进行交互。我在这里设置了一个示例,它使用了 react-three-fiber 和一些 drei,但希望原理是相同的。

当我单击一个立方体时,我想获取该对象的信息,目的是将该立方体的位置设置为不同的位置。但是,当使用 getMatrixAt() 时,它返回未定义。

我看过一些例子,主要是这里和另一个这里,但我似乎无法让我的以类似的方式工作。

我的预感是这与我正在传递的矩阵值有关,但我不确定。

对此的任何帮助将不胜感激!

0 投票
1 回答
65 浏览

three.js - 无法将指针锁与 PerspectiveCamera 和 PointerLockControls 一起使用

我喜欢 react-three,我正在尝试用身体制作一个 FPV 角色: https ://codesandbox.io/s/fpv-player-ers63 所以目标是将相机放置在头部水平并且角色移动就像Paul Henschel drcmda的原始示例https://codesandbox.io/s/minecraft-vkgi6

我添加了 PerspectiveCamera 来更改相机位置,但现在 PointerLockControls 不再起作用,我不明白为什么以及如何处理它。

谢谢

透视相机使用

PointerLockControls 用法

浏览器:Firefox 94.0.2(64 位)、macOS Monterey

“依赖”:{“@pmndrs/branding”:“0.0.8”,“@react-three/cannon”:“4.0.1”,“@react-three/drei”:“7.17.2”,“@ react-three/fiber": "7.0.17", "@types/three": "0.133.1", "react": "17.0.2", "react-dom": "17.0.2", "react -scripts”:“4.0.3”,“simplex-noise”:“3.0.0”,“三个”:“0.133.1”,“zustand”:“3.6.1”},

https://codesandbox.io/s/fpv-player-ers63

0 投票
1 回答
546 浏览

reactjs - @react-three/fiber / @react-three/drei 的导入错误

我正在尝试使用来自@react-three/drei 的一些组件,它给了我大量的导入错误。无论我尝试从@react-three/drei 使用什么,我都会收到这些错误。例子:

另一个例子:

这些是项目的依赖项:

感谢您的帮助,并在此先感谢!

0 投票
1 回答
95 浏览

reactjs - 在 React 中调整 3D 模型的大小

我正在使用 React,这是我第一次尝试Three.js / @react-three/fiber / @react-three/drei

我使用从 Sketchfab.com 下载的这个3D 模型,它对我的​​网站来说显得太大了。

我想让模型尺寸更小,但找不到任何解决方案。

我已经尝试过这个解决方案,但它并没有改变任何东西https://stackoverflow.com/a/69676440/17156530

你能看看我的代码,看看我做错了什么吗?因为我正在学习 2020 年的教程,所以可能有些功能现在不起作用。

感谢你们!:)


这是我网站的截图: 模型太大

我的文件树的屏幕截图

文件树

这是我的代码

0 投票
0 回答
14 浏览

three.js - React-three-fiber 中的视口问题

我试图viewport.width在相机完成动画后得到(点击继续后的相机放大动画)。问题是它在相机完成动画之前计算视口,当浏览器调整大小时,它会显示正确的视口。

CodeSandbox 网址:https ://codesandbox.io/s/ground-reflections-and-video-textures-forked-w6mtq3

控制台中的视口: 在此处输入图像描述

请帮我解决一下这个。太感谢了。

0 投票
0 回答
7 浏览

reactjs - 控制更改期间的反应状态更新中断 OrbitControls 从三个

我正在使用带有 drei orbitControls 的反应三,并尝试检测相机是否高于或低于零,同时移动相机。目前我正在使用 onEnd 监听器来触发我在 ParentComponent 中的代码。如果我像这样更改父组件的状态,一切都会按预期工作。不幸的是,如果我在结束另一个轨道控制之前开始另一个轨道控制并改变我父母的状态,轨道控制就会中断。例如,我旋转相机并按住鼠标左键,而不是同时使用相机和鼠标滚轮滚动到零以下,Orbit 控件不再起作用。这在使用触摸时尤其痛苦。只要第二根手指接触,我就会越过地面轨道控制中断。

这是我的控件组件:

这是我的父母: