我正在尝试学习THREE.js的基础知识。我已经阅读了一些教程,想开始实验。我的问题是我找不到任何文档。 这个网站应该是一个API浏览器,但是我找不到非常基本的对象,比如PlaneGeometry或者SphereGeometry。是否有其他地方可以找到API文档?
我对于计算机图形学中的Lambert和Phong的区别有一定的了解。同时,我也知道如何使用three.js来更改和创建自己的材质。但是,我无法确定MeshLambertMaterial和MeshPhongMaterial在它们的默认状态下有什么区别。 我已经尝试在一个只有一个方向光源和125...
我有一个使用THREE.js的场景,其中出现了许多元素,我需要检测用户点击的是哪个对象。 目前的做法如下。相机移动不太多 - 它只会在垂直位置上进行有限的改变,始终朝向同一点。我的近似方法如下: 我获取相对于画布的点击坐标 通过简单的重新缩放,将它们转换为webGL场景中的水平和垂直坐标...
我在清理WebGl场景时遇到了问题。我正在使用带有WebGlRenderer的Three.js。在我的应用程序中,我经常需要更改视图,因此需要一直渲染新的场景。到目前为止,我销毁并重新初始化了整个Threejs场景。在切换场景约15-20次后,我会收到以下警告: 警告:活动的WebGL上下文...
我有一个立方体几何体和一个网格,但我不知道如何改变它的宽度(或高度……尽管我可以改变x、y和z)。这是我现在拥有的一小部分内容: geometry = new THREE.CubeGeometry( 200, 200, 200 ); material = new THREE.MeshBasi...
这是three.js动画代码示例:<script defer="defer"> var angularSpeed = 0.2; var lastTime = 0; function animate(){ var time = (new Date()).getT...
我正在使用THREE.WebGLRenderer,并且我想在3D空间的特定位置绘制几个相同大小的白点。 我应该使用精灵(sprites),计算2D屏幕坐标并使用SpriteMaterial.useScreenCoordinate吗? 我应该简单地通过计算它们与相机的距离来重新计算精灵的大小...
我运行脚本后,控制台显示“THREE.OrbitControls不是构造函数”。 我做错了什么?我使用的是手册中相同的代码。var controls; controls = new THREE.OrbitControls( camera ); controls.addEv...
我正在尝试找到一种在不销毁场景本身的情况下清除场景中所有对象的方法。我知道给对象命名是一种方法,然后当我们想要删除该对象时,只需通过名称“获取”它即可。但是,我希望找到一种快速清除场景中所有对象的方法,而不管它们的名称如何。有简单的方法吗?谢谢! 我正在寻求在不破坏场景本身的情况下清除场景中...
我使用以下代码导入了一个OBJ模型:var loader = new THREE.OBJLoader(); loader.addEventListener('load', function (geometry) { object = geometry.content; scen...