草庐IT

three-tier

全部标签

javascript - 如何使用新的 THREE.TextureLoader 加载多个纹理

如何使用Three.js中的新THREE.TextureLoader加载多个纹理?目前我正在像这样加载我的纹理:vartexture1=THREE.ImageUtils.loadTexture('texture1.jpg');vartexture2=THREE.ImageUtils.loadTexture('texture2.jpg');vartexture3=THREE.ImageUtils.loadTexture('texture3.jpg');vartexture4=THREE.ImageUtils.loadTexture('texture4.jpg');vartexture5=

javascript - 更新 three.js 中的 ShaderMaterial 属性

来自three.jstutorialonshaders,我们了解到我们可以更新ShaderMaterial的统一值:varattributes={displacement:{type:'f',//afloatvalue:[]//anemptyarray}};varuniforms={amplitude:{type:'f',//afloatvalue:1}};varvShader=$('#vertexshader');varfShader=$('#fragmentshader');//createthefinalmaterialvarshaderMaterial=newTHREE.Mes

javascript - three.js 3d 模型作为超链接

我正在尝试找出一种方法,将通过Three.js创建的3D模型用作超链接。换句话说,如果我单击一个立方体(THREE.CubeGeometry),我希望打开另一个页面。例如,在thisthreejs.orgexample中,我怎样才能改变它,而不是在方框上制作小点,点击方框会打开另一个页面,比如超链接? 最佳答案 实现它的一种方法是在创建每个多维数据集时将自定义userData(URL)与它相关联。所以这是一个示例代码,我们如何在生成数据时将数据放入多维数据集(在jsfiddle中,第25-63行之间使用了类似的逻辑)varobjec

javascript - 如何在 three.js 应用程序中为 Canvas 分配一个 id

我在three.js中创建了一个渲染对象并将其与DomElment连接,如下所示varrenderer=newTHREE.WebGLRenderer({antialias:true});renderer.setClearColor(0xAAAAAA,1);renderer.setSize(window.innerWidth,window.innerHeight);document.getElementById('webgl-container').appendChild(renderer.domElement);所以现在three.js会自动在webgl-containerdiv中创建

javascript - 如何将 3d 模型从 Cinema4D 导出到 three.js?

如果我有一个在Cinema4D中建模的网格,我如何将其导出为three.js3DJS引擎?此外,为多边形选择导出Material颜色会很方便。 最佳答案 刚刚为此为Cinema4D编写了另一个python脚本。您可以在disturbmediablog上找到详细信息和wiki.作为引用,我在这里也列出了来源:'''author:"GeorgeProfenza"url:("disturb","disturbmedia.com/blog","Myblog,http://tomaterial.blogspot.com")Exportmesh

javascript - three.js 立方体使用多个纹理的验证

有人可以为three.jsr53验证以下代码吗?取自这个问题:HowtousemultiplematerialsinaThree.jscube?我尝试了这段代码和一些变体,但我没有看到可见的立方体。我的纹理图像按应有的方式命名。varmaterials=[];for(vari=0;i 最佳答案 改为这样做:varcubeGeo=newTHREE.BoxGeometry(400,400,400,1,1,1);varcube=newTHREE.Mesh(cubeGeo,materials);materials是一个包含6个three.j

javascript - 如何优化 three.js 中多个 sphereGeometry 的渲染?

我想优化three.js中sphereGeometry的渲染,因为它成为我程序中的瓶颈。javascript程序如下所示:varsphereThree=[];for(varidSphere=0;idSphere如以下链接所述:-AnimateingaMillionLettersUsingThree.js-OptimizingThree.jsPerformance:SimulatingTensofThousandsofIndependentMovingObjects他们指出我们不应该单独添加对象,最好同时添加同类对象,以进行优化。但是,由于我是这个领域的新手,所以在使用SphereGeo

javascript - 增量显示three.js TubeGeometry

我能够如下显示THREE.TubeGeometry图下面的代码,链接到jsbin//globalvariablesvarrenderer;varscene;varcamera;vargeometry;varcontrol;varcount=0;varanimationTracker;init();drawSpline();functioninit(){//createascene,thatwillholdallourelementssuchasobjects,camerasandlights.scene=newTHREE.Scene();//createacamera,whichdef

javascript - 如何使对象在 three.js 场景中仅对一个摄像机可见

我使用three.js创建了一个用于3D场景的嵌入式轨迹球相机Controller。目前,这使用一个小立方体、一个圆和一个放置在世界原点的正交相机。然而,这三个对象在场景本身中仍然可见,如通过主摄像机所见。(在我下面的演示代码中,我特意将立方体设为10x10x10,以便清晰可见,但它可以做得更小。)此外,作为主场景一部分的穿过原点的元素在插图中可见。例如:插图中可以看到属于主场景的AxisHelper。是否可以在three.js/webgl中使某些对象仅对某些相机可见?如果没有,那么一个解决方法是将轨迹球功能所需的对象放置在远离深空的地方,主摄像头看不到它们,但如果可能的话我更喜欢更纯

javascript - Three.js - 对象跟随鼠标位置

我在Three.js中创建一个球体,它必须在鼠标移动时跟随它,如thisexample中所示。.处理鼠标移动的函数如下:functiononMouseMove(event){//Updatethemousevariableevent.preventDefault();mouse.x=(event.clientX/window.innerWidth)*2-1;mouse.y=-(event.clientY/window.innerHeight)*2+1;//MakethespherefollowthemousemouseMesh.position.set(event.clientX,ev