草庐IT

line_three

全部标签

javascript - React-Three-Renderer 引用在 componentDidUpdate 中不是当前的(包括 MVCE)

我正在使用react-three-renderer(npm,github)来构建带有three.js的场景.我遇到了一个归结为MVCE的问题。引用没有按我期望的顺序更新。首先,这里是要查看的主要代码:varReact=require('react');varReact3=require('react-three-renderer');varTHREE=require('three');varReactDOM=require('react-dom');classSimpleextendsReact.Component{constructor(props,context){super(pr

javascript - THREE.JS 从 blender 中导出 JSON 模型(包括纹理)

我正在使用mrdoobBlender导出插件(io_mesh_threejs)导出到三个JS,但导出的.js或.dae对象不包含对纹理贴图文件的任何引用。我需要用特殊的方式导出对象吗?或者,是否有一种特殊的方法需要将map应用于Blender2.65中的对象,以便导出器包含它。最后,如果没有办法,我可以在JS文件中手动添加贴图吗?导出前的搅拌器导出的JSON对象(不引用纹理){"metadata":{"formatVersion":3.1,"generatedBy":"Blender2.65Exporter","vertices":8,"faces":6,"normals":8,"co

javascript - 使用 DOMElements 的 THREE.js SphereGeometry Panorama 热点

我使用SphereGeometry创建了一个简单的WebGL3D全景应用程序,PerspectiveCamera和一个CanvasTexture.现在,我希望通过在SphereGeometry的某些部分添加“热点”来使场景栩栩如生。.我遇到的问题是了解如何更新各种DOMElements以便他们的位置反射(reflect)更新的Camera位置。基本上,作为Camera旋转各种DOMElements会相对于相机旋转的方向移入和移出视野。我尝试定位absolute到和translatingX和Y使用返回的PerspectiveCamera的位置camera.rotation但它并没有真正起

javascript - Three.js setFromRotationMatrix 旋转超过 90 度时的奇怪行为

我有一些对象,每个对象的每个旋转轴都有一个单独的父对象(1个用于X旋转,1个用于Y旋转,1个用于Z旋转。它们也按顺序相互关联:X-旋转对象是Y旋转对象的子对象。Y旋转对象是Z旋转对象的子对象)。我正在尝试创建一个功能,允许用户一起旋转场景中的所有对象(它们都包含在一个Object3D中)。当Object3D旋转时,程序必须找到所有对象相对于世界的绝对位置和旋转,以便程序可以输出每个对象的新值。为此,我目前将其设置为移动对象,以便将其在“场景旋转器”(Object3D)内的位置设置为其相对于世界的绝对位置。现在,我试图使对象的旋转成为对象相对于世界的绝对旋转,以便在“场景旋转器”的旋转发

javascript - 变形目标 Three.js

我正在尝试开始使用morphtargets和three.js。然而,关于这个主题的文档似乎并不多。当我查看源代码时,morphTargetInfluences[]似乎很神奇。这是如何运作的?我该如何使用它?值1是全强度吗?如何区分同一模型上的不同变形目标?我只是想了解morphTargetInfluences[]提前致谢 最佳答案 http://threejs.org/examples/webgl_morphtargets.html变形目标是几何体顶点位置的集合,用于在它们之间进行自动插值。您可以使用在morphTargetInfl

javascript - Three.js - 制作旋转动画?

我已经构建了这段代码...(javascript)现在我们在屏幕上有一个红色的球体……问题是如何让它旋转?var相机,场景,渲染器,mouseX=0,mouseY=0;var几何、Material、网格;init();functioninit(){//Cameraparams://fieldofview,aspectratioforrenderoutput,nearandfarclippingplane.camera=newTHREE.Camera(75,window.innerWidth/window.innerHeight,1,1000);//movethecamerabackwa

javascript - three.js 问题 : application suddenly wont work on Chrome - old code, 无法与新的 three.js 库一起使用

前一段时间我写了几个three.js(R48)应用程序,它们一直运行良好,直到几周后我发现它们不再适用于Chrome。以下是前几条错误消息:WebGL:INVALID_OPERATION:getAttribLocation:programnotlinkedskyWheel.html:18WebGL:INVALID_OPERATION:getUniformLocation:programnotlinkedskyWheel.html:1CouldnotinitialiseshaderVALIDATE_STATUS:false,glerror[1282]Three.js:35529WebGL

javascript - three.js 线框只有形状,隐藏边缘为虚线

我正在尝试在three.js中创建特定类型的3D对象。例如,我想要一个线框模式的立方体(因此只显示边缘)。但我希望后面的边缘被打破。插图:我不知道这对于three.js是否可行,或者我是否应该直接使用webgl尝试。我应该在线框图中使用THREE.Mesh还是使用THREE.Line和LineDashedMaterial或者两者叠加使用? 最佳答案 我成功了。您需要创建三个对象。第一个对象:实体3d对象(我指的是面而不是边缘)第二个对象:除虚线外的所有边缘第三个对象:所有边缘但正常(不是虚线)对于第一个对象,将Material设置为

javascript - Three.js 中的内存泄漏

我们正在尝试创建一个单页应用程序,用户可以在其中在多个Three.js应用程序之间切换。但是,我们注意到选项卡的内存使用量不断增加。它们在我们的应用程序中没有内存泄漏,似乎Three.js变量没有从RAM中清除。重新创建的步骤访问http://threejs.org/examples/并在GoogleChrome中打开任务管理器以查看相关选项卡的内存使用情况。不断在示例之间切换,您会注意到内存使用量不断增加,并且GC似乎从未发生或无法取消链接以前消耗的内存块。我的笔记本电脑配置如下https://aboutmybrowser.com/pDp7aTxH当一切开始卡住时,内存很容易超过1G

javascript - 使用 three.js 折叠矩形以形成立方体

我正在尝试制作一个立方体,其表面有6个面,作为一个面可移动的立方体网。像这样:上图中,有6张脸,一张脸(蓝色的)是可动的。人们可以沿着它们的边缘将它们一起向上旋转以形成一个“网”。一旦他们认为自己完成了,他们可以按下“折叠它”按钮——所有的边都旋转90度以创建立方体(或者如果他没有在适当的位置加入蓝色面,则可能不是立方体。)下面是按下“折叠”按钮后的中间状态。折叠面后应该是这样的:这里给出对应的动画:http://www.mathematikus.de/10/(不知何故该链接在mac上不起作用)我不知道该怎么做。感谢您的帮助。在此先感谢您。 最佳答案