three.js相关内容

将一个立方体变形为三个 js 中的线圈

我尝试通过 three.js 和 tween.js 将细长的矩形 cube 变形为 coil.我搜索了已经提出的问题,但没有一个能指导我. 我应该使用哪个变形函数,如何创建线圈形状? 解决方案 将您的试管存储为一组 N 个切片 您需要每个(圆形)切片的中心点和法线向量. const int N=128;结构切片 { 浮动 p[3],n[3];};切片网格[N]; 在开始 ..
发布时间:2022-01-14 15:23:03 其他开发

Three.js/WebGL:大球体在交叉路口出现破损

让我先说我对 3D 图形非常缺乏经验. 问题 我正在使用 Three.js.我有两个球体(故意)在我的 WebGL 模型中发生碰撞.当我的球体非常大时,重叠的球体在它们相交的地方出现“破碎",但较小的球体呈现完美. 我有一个非常具体的原因为某些对象使用如此大的单位,而缩小对象并不是一个真正的选择. 示例 这里是一个大领域的小提琴:http://jsfiddle.net ..
发布时间:2022-01-14 15:09:10 前端开发

三.js 生成UV坐标

我正在使用 THREE.js OBJ 加载器将模型导入场景. 我知道我可以很好地导入几何图形,因为当我为它分配一个 MeshNormalMaterial 时,它显示得很好.但是,如果我使用任何需要 UV 坐标的东西,它会给我错误: [.WebGLRenderingContext]GL ERROR :GL_INVALID_OPERATION : glDrawElements: 尝试访问属性 ..
发布时间:2022-01-14 14:57:31 前端开发

SSAO 文物三

我真的很难解决我的 SSAO 着色器的问题,并且可以拼命寻求帮助.基本上,着色器似乎适用于某些对象,但在其他对象上看起来非常糟糕.从下面您可以看到球体看起来是正确的,但立方体似乎在法线上进行了不应该遮挡的遮挡.截图如下: 我的着色器基于本教程:http://devmaster.net/posts/3095/shader-效果屏幕空间环境遮挡 在我的渲染链中,我渲染了 2 个渲染目标,这 ..
发布时间:2022-01-09 09:44:14 其他开发

三.js作为网站背景可以吗?

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

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

这里你会找到一个 jsFiddle 改编的问题. 我想创建一个 3d 网络应用程序,用户可以在其中选择本地计算机上的图像文件: 选择文件时,图像会作为参数加载到 THREE.ShaderMaterial 对象中.将 glsl 着色器应用于图像,并将结果渲染到浏览器中的容器: $("#userImage").chan ..
发布时间:2022-01-09 09:35:48 前端开发

WebGL/OpenGL:性能比较

出于教育目的,我需要比较 WebGL 与 OpenGL 的性能.我有两个用 WebGL 和 OpenGL 编写的等效程序,现在我需要获取它们的帧速率并比较它们. 在 Javascript 中,我使用 requestAnimationFrame 来制作动画,我注意到它会导致帧速率始终保持在 60 FPS,并且只有在我切换选项卡或窗口时才会下降.另一方面,如果我总是递归调用渲染函数,窗口会因为明 ..
发布时间:2022-01-09 09:27:50 前端开发

WebGL/three.js 中的 3D 纹理使用 2D 纹理解决方法?

我想为在 WebGL 中渲染的对象使用一些 3D 纹理.我目前在片段着色器中使用以下方法,如 WebGL 和 OpenGL 差异: //tex 是一个纹理,立方体的每个切片水平放置在纹理上.//texCoord 是一个 3d 纹理坐标//size 是立方体的大小,以像素为单位.vec4 sampleAs3DTexture(sampler2D tex, vec3 texCoord, float s ..
发布时间:2022-01-09 09:02:57 其他开发

将 SpotLight 指向与相机 three.js(手电筒)相同的方向

我对这些东西真的很陌生.我想制作一个简单的 3D 场景,我可以用 PointerLockControls 飞来飞去,但我也想要某种手电筒.所以聚光灯应该指向与相机相同的方向. 我已经使聚光灯跟随相机,但它的目标绑定到 0,0,0. 实现这一目标的最佳方法是什么? 谢谢. 解决方案 SpotLight 目标是 Object3D,而不是 Vector3. spotlight ..
发布时间:2022-01-08 21:14:06 前端开发

使用 Three.js 围绕对象旋转相机

我正在使用 WebGlRenderer 显示带有 Three.js 的 OBJ 元素,现在我想允许用户在任何方向上围绕对象旋转相机,我找到了这个答案: 用鼠标在 Three.js 中旋转相机 但这两个例子都给我报错,第一个说没有定义投影仪,我不知道“投影仪"是什么意思.我只有一个简单的相机、物体和一些光线.第二个代码说 undefined 不是一个函数. 有人知道如何获得我需要的 ..
发布时间:2022-01-08 21:05:13 前端开发

Three.js 在移动的 Object3D 内旋转对象以始终面向相机

我对 Threejs 有点陌生,只是想知道如何让移动网格在场景中始终面向相机.我在一个容器 Object3D 中有 100 个网格,并且正在 x 和 y 轴上旋转这个容器.有什么方法可以强制容器内的网格始终面向相机? 这是一些示例代码,我还在 http://jsfiddle 设置了一个 jsFiddle.net/nickelWeb/rZtJX/4/ for(var k = 0; k 我试 ..
发布时间:2022-01-08 21:01:52 其他开发

Three.js buffergeometry在移动相机关闭后消失

移动相机关闭后,我的缓冲几何消失了.您还可以在具有 TrackballControls 的 drawcalls Three.js example 中看到.就我而言,情况要糟糕得多.我的点在 0 到 400 的距离处消失,我的线在 0 到 100 的距离处消失.我的对象在简单的几何体中工作正常,但在缓冲几何体中没有.我发现它与缓冲几何的质心有关.我尝试使用不同的相机来更改相机范围,但仍然无法正常工作 ..
发布时间:2022-01-08 20:59:54 其他开发

THREE.js 从子摄像机到场景的光线投射

我正在尝试从我的相机中对鼠标进行光线投射,以在我的场景中的网格上执行一些悬停和单击事件. 我的问题是,我的相机当前是另一个网格的子对象(以便于相机移动/旋转),现在我的光线投射不起作用(我假设因为相机是网格的子对象,而不是场景). 这是我的代码的一部分: //相机设置var camera = new THREE.PerspectiveCamera(60, window.innerWi ..
发布时间:2022-01-08 20:57:10 前端开发

three.js - 检查物体是否仍在相机的视野中

使用 2d 画布时,如果您想检查某些内容是否不再“在屏幕上",您只需执行以下操作: if( pos.x > window.innerWidth || pos.x 如何在 three.js 场景中检查某些东西是否仍然“在屏幕上"(在摄像头的视野中)? 解决方案 您可以检查 3d 点是否在平截头体中,而不是检查 2d 画布. camera.updateMatrix();camera.u ..
发布时间:2022-01-08 20:55:09 前端开发

在three.js中将z位置从透视转置到正交相机

我有一个场景,我想将透视对象(即在远处看起来更小的对象)与正交对象(即无论距离如何都显示相同大小的对象)组合在一起.透视对象是渲染“世界"的一部分,而正交对象是装饰物,如标签或图标.与 HUD 不同,我希望将正交对象呈现在“世界之内",这意味着它们可以被世界对象覆盖(想象一个平面经过标签之前). 我的解决方案是使用一个渲染器,但使用两个场景,一个使用 PerspectiveCamera,一个 ..

three.js 设置和读取相机外观矢量

而不是使用 camera.rotation 或使用 lookAt() 函数旋转相机我想直接给相机传一个look vector... 是否可以直接设置camera look vector,是否可以从camera读取look vector? 解决方案 相机没有“look vector",所以无法设置. 但是,您可以通过将您的外观矢量添加到相机的位置,然后调用 来构造一个要查看的 poi ..
发布时间:2022-01-08 20:22:35 其他开发

Three.js 相机上下倾斜并保持水平

camera.rotate.y 以可预测的方式向左或向右平移. camera.rotate.x 在 camera.rotate.y 处于 180 度时可预测地向上或向下看. 但是当我将 camera.rotate.y 的值更改为某个新值,然后我更改 camera.rotate.x 的值时,地平线会旋转. 我一直在寻找一种算法来调整 camera.rotate.x 更改后的水平旋转 ..
发布时间:2022-01-08 20:15:41 其他开发