jjzjj

three-rows

全部标签

javascript - three.js - 如何限制缩放以使对象不会因相机而损坏

我正在创建three.js应用程序。我已经加载了我的STL对象。我使用过“OrbitControls”。当我开始使用鼠标的中间滚动按钮缩放我的对象时,它会在某个点中断。我的相机和控制代码如下:camera=newTHREE.PerspectiveCamera(55,window.innerWidth/window.innerHeight,1,15);//camera.position.set(3,0.15,3);//positionandpointthecameratothecenterofthescenecamera.position.x=-3;camera.position.y=4

javascript - 你能在 three.js 场景之间共享网格吗?

是否可以在场景之间共享网格或几何体?我有多个场景,它们应该是相同的、大的、网格的,但是当我尝试在它们之间共享网格时,我得到了WebGL上下文错误。我怀疑在将它们添加到场景时在网格或几何体上设置了一些变量,从而防止它们在另一个场景中重复使用。编辑:更具体地说,我正在尝试在不同场景之间共享已使用JSONLoader加载的几何体。IE。在此示例中,“apps”是一组具有场景的应用程序:varloader=newTHREE.JSONLoader();loader.load('obj/tree/tree.js',function(geometry){apps.map(function(app){

javascript - 如何在不拉伸(stretch) three.js 前景的情况下增加视角

我有一个带纹理地板平面的three.js场景,需要非常特定的视角才能与静态2D叠加层对齐我的问题是,我越是增加相机FOV以获得我需要的视角,前景就越拉伸(stretch),而我不希望这样。我似乎需要一个非常高的FOV(~120-150)来使纹理跟随墙壁,而且它是如此之高以至于相机正在渲染位于它后面的东西。我需要将相机几乎移动到场景的中心才能显示整个楼层,这感觉不对。我怎样才能调整这个场景以获得正确的视角而不失真?实例:http://warriorhut.net/testing/shapes/backend/room/view.basic.php相关的相机设置是:varWIDTH=102

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 - AngularJS + NG-Grid 将 row.column.field 传递给 ng-click 事件

如何将{{row.getProperty(col.field)}}传递给ng-click?发生的情况是id没有传回,但网格使用id正确呈现。代码:varapp=angular.module('testing',['ngGrid']);app.config(['$locationProvider',function($locationProvider){$locationProvider.html5Mode(true);}]);app.controller('TestCtrl',function($scope){$scope.details=[];//whateverdummydata$

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