草庐IT

myseries_three

全部标签

javascript - 在 three.js 中围绕一个点旋转对象的正确方法是什么?

大多数关于three.js的教程/问题都建议使用three.js围绕一个点旋转对象的方法是在要旋转的位置创建父对象,附加对象,然后移动子对象。然后当parent旋转时,child围绕该点旋转。例如;//Makeapivotvarpivot=newTHREE.Object3D();//Makeanobjectvarobject=newTHREE.Mesh(newTHREE.BoxGeometry(2,2,2),newTHREE.MeshBasicMaterial());//Addobjecttopivotpivot.add(object);//Moveobjectawayfrompivo

javascript - Three.js - 渲染问题 - 动画在晃动

我在旋转球体的渲染时遇到一个奇怪的问题:动画似乎在晃动,我不知道这个问题从何而来。这是关于thislink的例子和渲染函数:functionrender(){controls.update();requestAnimationFrame(render);//Forcamerarotation:parametricparametertimer=Date.now()*0.0001;//CoordinatesofcameracoordCamera.set(radiusCamera*Math.cos(timer),radiusCamera*Math.sin(timer),0);//Rotate

javascript - 如何在 three.js 中的球体上使用纹理

我从以下位置下载了一个球体示例:http://aerotwist.com/lab/getting-started-with-three-js/我可以看到漂亮的红色球体。我想在上面使用纹理。我试过这个:vartexture=THREE.ImageUtils.loadTexture("ball-texture.jpg");texture.wrapS=texture.wrapT=THREE.ClampToEdgeWrapping;texture.repeat.set(125,125);texture.offset.set(15,15);texture.needsUpdate=true;var

javascript - Three.js - 关于(使用)THREE.BufferGeometry 的问题

据我了解usingbuffergeometries将提高性能并减少内存使用,因为它降低了将所有这些数据传递给GPU的成本。据我了解from@WestLangleyhispost这里:THREE.BufferGeometryisslowlyreplacingTHREE.Geometryasitiscomputationallymoreefficient.我目前正在使用three.js-r72。当我绘制几何图形并将它们添加到场景中时,我看到有两个我的几何结构__directGeometry和_bufferGeometry中的属性。在THREE.BoxGeometry中:在THREE.Geo

javascript - 如何在 THREE.js 中检查场景中是否存在对象?

我想通过点击向我的场景添加和删除对象。只是我使用scene.add(object)和scene.remove(object)。有什么方法可以检查场景中是否存在对象? 最佳答案 将对象添加到场景时,为该对象添加名称,如object.name='object_name';然后你可以检查你的对象是否存在于场景中scene.getObjectByName('object_name');如果它返回任何对象,则表示对象存在于场景中。 关于javascript-如何在THREE.js中检查场景中是否存

javascript - THREE.js:错误消息 "THREE.OBJLoader is not a constructor"

我刚开始学习three.js的使用。看起来很好,但现在我有一个问题,我无法解决。我想加载一个OBJ文件,这是我之前在blender中创建的。为此,我正在尝试使用THREE.OBJloader。我从http://mamboleoo.be/learnThree/复制了代码,但我在第32行收到错误消息“THREE.OBJLoader不是构造函数”。其他一切正常:添加场景、添加Material、添加立方体等。为了简单起见,这是代码:varrenderer,scene,camera,banana;varww=window.innerWidth,wh=window.innerHeight;func

javascript - 更改 Three.js collada 对象的纹理和颜色

我最近从官方网站获得了three.js示例,该示例使用ColladaLoader.js处理我的collada对象(.dae)。现在我的问题是,如何更改加载的collada对象颜色属性并添加自定义纹理?我尝试添加纹理,但还没有成功。这是我的代码(与原始示例略有不同):functionload_model(el){if(!Detector.webgl)Detector.addGetWebGLMessage();varcontainer,stats;varcamera,scene,renderer,objects;varparticleLight,pointLight;vardae,skin

javascript - Three.js - 发光的球体

我有一个问题。我想制作一个像光源(太阳)一样工作的球体。我发现meshPhongMaterial有一个选项,例如emissive:color和shininess:intensity但我没有设法对太阳进行编码。有谁知道该怎么做?谢谢解答! 最佳答案 如果您想要创建发光风格的效果,我在http://stemkoski.github.io/Three.js/上写了很多示例。这可能会有所帮助,包括:http://stemkoski.github.io/Three.js/Selective-Glow.html附带博客文章http://stem

javascript - 如何清除 THREE.JS 场景

我正在尝试寻找在不破坏场景本身的情况下清除场景中所有对象的方法。我知道命名对象是一种方式,然后当我们想要删除对象时,我们只是通过它的名字“得到”它。但是,我想找到一种快速的方法来清除其中所有对象的场景,而不管它们的名称。有简单的方法吗?谢谢! 最佳答案 可以遍历场景的子对象,将它们一一移除。正如评论中所建议的那样,这应该以相反的顺序完成,以免修改您正在迭代的元素。while(scene.children.length>0){scene.remove(scene.children[0]);}注意:这只是对对象层次结构的快速而肮脏的清除

javascript - THREE.meshphongmaterial 不工作 - 呈现黑色

我正在尝试使用本教程中的THREE.meshphongmaterial:http://solutiondesign.com/webgl-and-three-js-texture-mapping/但它不工作并给出黑色。这是它的jsfiddle:http://jsfiddle.net/8hrk7mu6/12/问题在第32行:varmaterial=newTHREE.MeshPhongMaterial({ambient:0x050505,color:0x0033ff,specular:0x555555,shininess:30});为什么它不起作用?如果我使用THREE.MeshNormal