草庐IT

three-way-merge

全部标签

javascript - Three.js 禁用深度测试

我使用EffectComposer:renderer=newTHREE.WebGLRenderer();renderer.setDepthTest(false);...composer=newTHREE.EffectComposer(renderer);所以我想禁用深度测试,但是当我这样做时:composer.render();vargl=renderer.context;alert(gl.getParameter(gl.DEPTH_TEST));该值为true而不是false。如何禁用深度测试?谢谢。 最佳答案 我意识到这是三年后

javascript - 在 Three.js 中向场景添加相机的原因?

虽然我已经将它传递给我的渲染方法,但我为什么要将它添加到场景中?我在存储库中看到的每个示例都将相机添加到场景中,例如weggl_geometries.但是在删除scene.add(camera)之后它仍然有效......初始化函数camera=newTHREE.PerspectiveCamera(45,window.innerWidth/window.innerHeight,1,2000);camera.position.y=400;scene.add(camera);渲染函数renderer.render(scene,camera); 最佳答案

javascript - 关闭和垃圾收集 : most efficient way to remove consecutive nodes from a linked list

我为javascript编写了一个快速而粗略的双向链表实现。我希望能够一次删除多个(连续的)节点,并且想知道:是否足以切断我正在删除的这些最外层节点的末端,或者我是否必须单独删除每个节点。如果我正确理解javascript的垃圾收集,一旦没有任何东西指向那些连续的节点,即使它们仍然相互连接,它们应该由垃圾收集器处理,对吗?如果有人能告诉我如何自己测试或验证这一点,我也将不胜感激。 最佳答案 根据MDN:Asof2012,allmodernbrowsersshipamark-and-sweepgarbage-collector.All

javascript - Three.js加载多个分离对象/JSONLoader

是否可以将从blender导出的场景(例如两个不同的立方体)加载到json并识别它们?我需要区分它们,例如使一个旋转,另一个移动。提前致谢!登维编辑+++谢谢您的回答!所以如果我在一个JSON文件中加载两个立方体:loader.load("untitled1.js",function(geometry,materials){mesh=newTHREE.Mesh(geometry,newTHREE.MeshFaceMaterial(materials));mesh.scale.set(10,10,10);mesh.position.y=0;mesh.position.x=0;scene.

javascript - 如何等待纹理完成从 Three.js 中的 JSON 模型加载?

我有一个基于AlteredQualia的蒙皮示例成功加载的JSON模型。但是,我不想在加载完成之前透露模型。正如您在此示例中所见,模型首先出现,然后才加载它们的纹理资源:http://alteredqualia.com/three/examples/webgl_animation_skinning_tf2.html我在网页中添加了一个不透明的div,然后使用JSONloader.load()函数的回调将那个div移开。不幸的是,当网格添加到场景时会触发此回调,场景似乎并未被仍在加载的蒙皮图像阻挡,所以我最终“揭示”了一个不完整的场景。我应该如何解决这个问题?我已经看到有一个函数THRE

javascript - 如何重置 three.js 时钟?

我想重置时钟,以便clock.getElapsedTime()给我一个新的时间,从我重置时钟开始(例如,在第二次重新启动游戏关卡/场景时很有用).我在init()和我的游戏循环update()中启动clock=newTHREE.Clock();,我正在使用这个时钟。但是当游戏结束时,我想重置时钟(我不会再次启动关卡,只是将玩家定位回起点,所以我不会启动新时钟)。我怎样才能做到这一点? 最佳答案 坏消息:从r73开始,不可能将THREE.Clock重置为零时间,2015年10月发布。解释如下,唯一可能的解决方法在此答案的末尾。深入研究

javascript - three.js继承模式

我想知道为什么three.js的代码结构是这样的:THREE.Camera=function(){THREE.Object3D.call(this);//addmoreCameraspecificpropertiesandmethods}THREE.Camera.prototype=newTHREE.Object3D();THREE.Camera.prototype.constructor=THREE.Camera;THREE.Camera.prototype.//addmorecameraspecificmethods...我想知道为什么他们在当前构造函数中调用基础构造函数并且还为原

Javascript 清理 : The most safe way to insert possible XSS html string

目前我正在将此方法与jQuery解决方案结合使用,以从可能的XSS攻击中清除字符串。sanitize:function(str){//returnhtmlentities(str,'ENT_QUOTES');return$('').text(str).html().replace(/"/gi,'"').replace(/'/gi,''');}但我觉得它不够安全。我错过了什么吗?我在这里尝试了phpjs项目中的htmlentities:http://phpjs.org/functions/htmlentities:425/但它有点错误并返回一些额外的特殊符号。也许是旧

javascript - 使用 Three.js 生成正多边形

我正在使用Three.js根据用户提供的边数按程序生成常规N边形。长期目标是将此作为渲染多面体棱镜的第一步。我正在使用讨论的解决方案here计算N边形的顶点。然后我将使用讨论的技术here在N边形上生成面孔。我第一次尝试生成必要的Geometry对象,结果如下,在添加到Mesh后似乎没有渲染任何东西:functioncreateGeometry(n,circumradius){vargeometry=newTHREE.Geometry(),vertices=[],faces=[],x;//Generatetheverticesofthen-gon.for(x=1;x在玩弄它太久之后,我

javascript - Three.js 将对象添加到组中但保持全局位置/旋转/比例不变

我想将一个对象从一个组(或世界/场景)移动到另一个组,但要保持其全局转换不变。基本上,我不想看到对象发生变化。基本上,是这样的://storecurrentworldtransformationvarorigWorldMatrix=myObject.matrixWorld.clone();//moveobjecttoagroup(thatispositionedandrotatedarbitrarily)someGroup.add(myObject);//restorepreviousworldtransformationmyObject.matrixWorld.copy(origWo