three.js相关内容
我有一个从另一个网格克隆的网格.但克隆后,我翻译并旋转它.并对其进行光线投射,但它没有按预期工作.它在平移和旋转之前与原始位置保持相交.示例代码如下 const raycaster = THREE.Raycaster()const proposalModel = model.clone()建议Model.translateX(1)建议Model.translateY(1)建议Model.tran
..
我在尝试使用 Three.js 将以下模型导入 WebGL 时遇到一些问题: http://tf3dm.com/3d-model/vanille-99084.html 我已使用three.js 附带的转换器将obj 文件转换为JSON,并且在使用JSON Loader 时模型工作正常.但是,当尝试使用 .mtl 文件中的纹理加载模型时,OBJMTLOader 失败. 我正在使用以
..
我正在尝试在使用 webvr-boilerplate 当 VREffect 处于活动状态时. 我尝试(使用 r72dev 和 r72)使用 THREE.Mirror: //webVR-boilerplate + Mirror.jsVerticalMirror = new THREE.Mirror(渲染器,相机,{clipBias:0.03,textureWidth:256,textur
..
假设我有一个圆柱模型,可以加载到我的 webvr 场景中.我怎样才能使物体坚固?IE.用户(相机视图)不能在对象内占据任何位置或“穿过"对象.我怎样才能做到这一点?
..
我正在渲染一个包含精灵的采摘场景.当我的光标靠近精灵时,它会注册为一种颜色并被“选中".当您放大精灵时,这个不可见的边框会变大. 打开您的控制台以查看实时打印的 ID.将光标移近和远离大小精灵.您会看到精灵在不可见的边框上被选中.这种行为不会发生在常规几何体上,只会发生在精灵身上. 这很奇怪,因为我正在渲染 renderer.readRenderTargetPixels 实际看到的内容
..
尝试寻找类似的东西,但我没有运气.我正在尝试使用我的 webgl 图像当前状态的屏幕截图打开一个新选项卡.基本上,它是一个 3d 模型,能够更改显示的对象、这些对象的颜色和背景颜色.目前,我正在使用以下内容: var screenShot = window.open(renderer.domElement.toDataURL("image/png"), 'DNA_Screen'); 这一行成功
..
我在 Three.js 中编写了一个新工具,用于处理 3d 圆柱体 并渲染位于 DIV 中的场景中的柱面值. JS: container = document.getElementById('zylinder_3d');var sceneWidth = document.getElementById('zylinder_3d').offsetWidth;var sceneHeight =
..
我需要将 THREE.Mesh 的一个实例定向为始终面向相机.我知道我可以只使用 [THREE.Mesh].lookAt() 方法,但我正在尝试更多地处理我的 GLSL 切片,并希望能够在顶点着色器中执行此操作. 我已经通读了NeHe 的广告牌教程,这对我来说很有意义.好吧,除了将这些方向向量应用于每个顶点的位之外. 我觉得我已经非常接近完成这项工作了,但就目前而言,我的顶点着色器看起
..
我有一个 THREE.PlaneGeometry,带有 ComputeFaceNormals().我使用这个几何体创建了两个网格,并对它们应用了不同的旋转.我想计算相机和两个网格中心面法线之间的两个角度.应该是: vLocalCamera = vCamera.position - mesh1.position;mesh1.normal() .vLocalCamera = cos(角度); 问题
..
我使用 THREE.OrbitControls 来旋转我的对象.但是我想为相机旋转添加一些内在(如果有人停止移动鼠标,相机会在一段时间后停止).我怎样才能做到这一点? 解决方案 这是在 OrbitControls.js 中添加惯性的一种非常简单的方法: 在更新函数的末尾(当前第 271-272 行),您将看到以下两个变量设置为零: thetaDelta = 0;phiDelta =
..
我想设置平面的旋转.这需要三个数字来表示 x、y 和 z 轴的弧度旋转. 我没有这些数字,但是,我有一个向量“myVec",一旦它旋转,它就应该与平面正交. 这个向量让我更近了一步,但并不完全:THREE.Vector3 提供了一个函数“setEulerFromRotationMatrix".也许我可以使用这个,如果我能弄清楚如何从 myVec 生成一个旋转矩阵: 旋转矩阵描述了
..
目前我已经设法创建了一个粒子云,粒子出现在我导入的对象的每个顶点.但是,我试图让粒子首先定位在对象的平面上,而不是它们之间的点上,然后将粒子均匀分布在这些面上. 基本上我正在尝试用粒子制作我的 3d 对象 这是我目前所拥有的: var loader = new THREE.JSONLoader();loader.load('./resources/model.json', 函数(几何
..
在 THREE.js 中,我们使用以下函数构造一个相机 const camera = new THREE.PerspectiveCamera(75, width/height, 0.1, 1000); 我们从光学中知道,相机的视野与焦距的关系如下式 FOV = arctan(d/2f) 其中FOV是以度为单位的垂直FOV,d是以毫米为单位的图像平面高度,f是焦距以毫米为单位的相机.
..
这里你会发现问题的 jsFiddle 改编版. 我想创建一个 3d 网络应用程序,用户可以在其中选择本地计算机上的图像文件: 选择文件后,图像将作为参数加载到 THREE.ShaderMaterial 对象中.将 glsl 着色器应用于图像,并将结果呈现到浏览器中的容器中: $("#userImage").change(function(){var texture = THREE.I
..
我一直在考虑使用three.js 在网站上进行有趣的实验.我想使用当前的实验(我已经有了它的代码)并将其用作我网站的背景. 有人知道怎么做吗? 我在这里看到了它:http://janjorissen.be/ 三个 JS API:https://github.com/mrdoob/three.js/wiki/API-参考 解决方案 通常我会使用 iframe.这样您就不会与
..
我需要弄清楚我的 3D 对象在屏幕上使用的区域. 我尝试通过 Google 寻找答案,但没有成功. 函数 geometry.computeBoundingBox() 只返回 3D 边界框. 如何将其转换为 2D 边界框? 解决方案 您只需将所有顶点转换为屏幕空间,并从它们制作一个 2D 边界框: function computeScreenSpaceBoundingBo
..
我刚刚更新到three.js r72,并且在控制台中收到以下有关THREE.LinePieces ...的警告... THREE.Line:不再支持参数 THREE.LinePieces.而是创建了 THREE.LineSegments. 尽管有警告,线路仍将显示为断开连接,但是,对于以下示例,如果我将 THREE.LinePieces 更新为 THREE.LineSegments,所有断开连
..
我想知道以前是否有人遇到过这个特定问题.根据我对如何使用 webgl 和three.js 绘制3d 对象的基本了解,我似乎找不到一种方法来创建一个paralelipiped(或者我认为这就是它的名称),它确实从cubegeometry 继承了它的几何形状,但是没有'不是所有的角度都是 90 度. 我的目标是拥有这样的东西: 结果应该很像 -moz-transform: skew(0,
..
大家, 我正在尝试为映射到平面(如广告牌)的基于 Canvas 的纹理制作动画.我已经强调包括 material.needsUpdate &texture.needsUpdate,但我仍然无法让纹理栩栩如生.我还包含了一个旋转立方体,只是为了让我知道动画例程在某种程度上起作用. 代码如下: if ( window.innerWidth === 0 ) { window.inner
..
当我运行我的 javascript 代码时.我收到以下错误“未捕获的 ReferenceError:未定义三个".提到的行是: var renderer = new THREE.WebGLRenderer();//我在脚本标签中附加了three.js 库.我不知道似乎有什么问题.var scene = new THREE.Scene();var camera = new THREE.Perspe
..