three.js相关内容

Three.js中动态改变Mesh后的Raycasting

我有一个从另一个网格克隆的网格.但克隆后,我翻译并旋转它.并对其进行光线投射,但它没有按预期工作.它在平移和旋转之前与原始位置保持相交.示例代码如下 const raycaster = THREE.Raycaster()const proposalModel = model.clone()建议Model.translateX(1)建议Model.translateY(1)建议Model.tran ..
发布时间:2021-12-31 18:53:30 前端开发

gpu 拾取 - 精灵周围的不可见像素

我正在渲染一个包含精灵的采摘场景.当我的光标靠近精灵时,它会注册为一种颜色并被“选中".当您放大精灵时,这个不可见的边框会变大. 打开您的控制台以查看实时打印的 ID.将光标移近和远离大小精灵.您会看到精灵在不可见的边框上被选中.这种行为不会发生在常规几何体上,只会发生在精灵身上. 这很奇怪,因为我正在渲染 renderer.readRenderTargetPixels 实际看到的内容 ..
发布时间:2021-12-31 18:52:47 其他开发

WebGL单帧“截图"webGL的

尝试寻找类似的东西,但我没有运气.我正在尝试使用我的 webgl 图像当前状态的屏幕截图打开一个新选项卡.基本上,它是一个 3d 模型,能够更改显示的对象、这些对象的颜色和背景颜色.目前,我正在使用以下内容: var screenShot = window.open(renderer.domElement.toDataURL("image/png"), 'DNA_Screen'); 这一行成功 ..
发布时间:2021-12-31 18:52:37 其他开发

THREE.js - 广告牌顶点着色器

我需要将 THREE.Mesh 的一个实例定向为始终面向相机.我知道我可以只使用 [THREE.Mesh].lookAt() 方法,但我正在尝试更多地处理我的 GLSL 切片,并希望能够在顶点着色器中执行此操作. 我已经通读了NeHe 的广告牌教程,这对我来说很有意义.好吧,除了将这些方向向量应用于每个顶点的位之外. 我觉得我已经非常接近完成这项工作了,但就目前而言,我的顶点着色器看起 ..
发布时间:2021-12-31 18:52:07 前端开发

Three.js:将面法线从局部空间转换为世界空间

我有一个 THREE.PlaneGeometry,带有 ComputeFaceNormals().我使用这个几何体创建了两个网格,并对它们应用了不同的旋转.我想计算相机和两个网格中心面法线之间的两个角度.应该是: vLocalCamera = vCamera.position - mesh1.position;mesh1.normal() .vLocalCamera = cos(角度); 问题 ..
发布时间:2021-12-31 18:52:01 其他开发

来自 ThreeJS 的 OrbitControls 中的惯性

我使用 THREE.OrbitControls 来旋转我的对象.但是我想为相机旋转添加一些内在(如果有人停止移动鼠标,相机会在一段时间后停止).我怎样才能做到这一点? 解决方案 这是在 OrbitControls.js 中添加惯性的一种非常简单的方法: 在更新函数的末尾(当前第 271-272 行),您将看到以下两个变量设置为零: thetaDelta = 0;phiDelta = ..
发布时间:2021-12-31 18:51:55 前端开发

三.js:从平面正交向量到平面旋转矩阵

我想设置平面的旋转.这需要三个数字来表示 x、y 和 z 轴的弧度旋转. 我没有这些数字,但是,我有一个向量“myVec",一旦它旋转,它就应该与平面正交. 这个向量让我更近了一步,但并不完全:THREE.Vector3 提供了一个函数“setEulerFromRotationMatrix".也许我可以使用这个,如果我能弄清楚如何从 myVec 生成一个旋转矩阵: 旋转矩阵描述了 ..
发布时间:2021-12-31 18:51:27 前端开发

THREE.js - 将粒子均匀地放置在对象的面而不是顶点上

目前我已经设法创建了一个粒子云,粒子出现在我导入的对象的每个顶点.但是,我试图让粒子首先定位在对象的平面上,而不是它们之间的点上,然后将粒子均匀分布在这些面上. 基本上我正在尝试用粒子制作我的 3d 对象 这是我目前所拥有的: var loader = new THREE.JSONLoader();loader.load('./resources/model.json', 函数(几何 ..
发布时间:2021-12-31 18:51:14 前端开发

THREE.js PerspectiveCamera focusLength 关闭两倍,与 FOV 不一致

在 THREE.js 中,我们使用以下函数构造一个相机 const camera = new THREE.PerspectiveCamera(75, width/height, 0.1, 1000); 我们从光学中知道,相机的视野与焦距的关系如下式 FOV = arctan(d/2f) 其中FOV是以度为单位的垂直FOV,d是以毫米为单位的图像平面高度,f是焦距以毫米为单位的相机. ..
发布时间:2021-12-31 18:51:06 前端开发

用户在three.js中上传的纹理

这里你会发现问题的 jsFiddle 改编版. 我想创建一个 3d 网络应用程序,用户可以在其中选择本地计算机上的图像文件: 选择文件后,图像将作为参数加载到 THREE.ShaderMaterial 对象中.将 glsl 着色器应用于图像,并将结果呈现到浏览器中的容器中: $("#userImage").change(function(){var texture = THREE.I ..
发布时间:2021-12-31 18:50:57 前端开发

Three.js作为网站的背景可能吗?

我一直在考虑使用three.js 在网站上进行有趣的实验.我想使用当前的实验(我已经有了它的代码)并将其用作我网站的背景. 有人知道怎么做吗? 我在这里看到了它:http://janjorissen.be/ 三个 JS API:https://github.com/mrdoob/three.js/wiki/API-参考 解决方案 通常我会使用 iframe.这样您就不会与 ..
发布时间:2021-12-31 18:50:49 前端开发

ThreeJS 3D 对象的 2D 边界框

我需要弄清楚我的 3D 对象在屏幕上使用的区域. 我尝试通过 Google 寻找答案,但没有成功. 函数 geometry.computeBoundingBox() 只返回 3D 边界框. 如何将其转换为 2D 边界框? 解决方案 您只需将所有顶点转换为屏幕空间,并从它们制作一个 2D 边界框: function computeScreenSpaceBoundingBo ..
发布时间:2021-12-31 18:50:23 前端开发

Three.js r72 不再支持 THREE.LinePieces,如何用 THREE.LineSegments 合并多条断开的线?

我刚刚更新到three.js r72,并且在控制台中收到以下有关THREE.LinePieces ...的警告... THREE.Line:不再支持参数 THREE.LinePieces.而是创建了 THREE.LineSegments. 尽管有警告,线路仍将显示为断开连接,但是,对于以下示例,如果我将 THREE.LinePieces 更新为 THREE.LineSegments,所有断开连 ..
发布时间:2021-12-31 18:50:14 前端开发

如何在 Three.js 中剪切立方体

我想知道以前是否有人遇到过这个特定问题.根据我对如何使用 webgl 和three.js 绘制3d 对象的基本了解,我似乎找不到一种方法来创建一个paralelipiped(或者我认为这就是它的名称),它确实从cubegeometry 继承了它的几何形状,但是没有'不是所有的角度都是 90 度. 我的目标是拥有这样的东西: 结果应该很像 -moz-transform: skew(0, ..
发布时间:2021-12-31 18:50:06 前端开发

在 THREE.js 中动画画布广告牌

大家, 我正在尝试为映射到平面(如广告牌)的基于 Canvas 的纹理制作动画.我已经强调包括 ma​​terial.needsUpdate &texture.needsUpdate,但我仍然无法让纹理栩栩如生.我还包含了一个旋转立方体,只是为了让我知道动画例程在某种程度上起作用. 代码如下: if ( window.innerWidth === 0 ) { window.inner ..
发布时间:2021-12-31 18:49:57 其他开发

Three.js - 未捕获的 ReferenceError:三个未定义

当我运行我的 javascript 代码时.我收到以下错误“未捕获的 ReferenceError:未定义三个".提到的行是: var renderer = new THREE.WebGLRenderer();//我在脚本标签中附加了three.js 库.我不知道似乎有什么问题.var scene = new THREE.Scene();var camera = new THREE.Perspe ..
发布时间:2021-12-31 18:49:40 前端开发