我正在尝试将OrbitalControls添加到Three.js脚本中。代码应该将两个球添加到一个空空间中,让用户用OrbitalControls查看球,但是每当我运行代码时,我就会得到以下错误:
three.js:5353 Uncaught TypeError: Cannot read property 'center' of undefined
at Sphere.copy (three.js:5353)
at Frustum.intersectsObject (three.js:5792)
at projectObject (three.js:22
我正在努力为我的项目选择最好的Javascript 3D库。
与Scene.js,相比,我更喜欢Three.js,但Scene.js的编码风格似乎更高效,因为我需要动态创建大约100个对象,这意味着要用Three.js声明数百个变量。
在Three.js中,似乎需要为每个不同的对象定义变量并将其添加到场景中,如下所示:
var renderer = new THREE.WebGLRenderer();
var camera =
new THREE.PerspectiveCamera(
VIEW_ANGLE,
ASPECT,
NEAR,
FAR);
var
我正在three.js中创建一个three.js,并将其填充到顶点以构建一个2D地形。一旦我的地形被创建,我就把所有的Vector3s和Face3s推到几何图形上,然后修改每个顶点和每个帧。
因为我在修改每个帧的脸顶点,所以我需要告诉three.js更新这些脸。我正在使用geometry.elementsNeedUpdate = true来做这件事。但是,我注意到这会导致大量内存使用(我的应用程序每秒钟使用额外的~50 my内存)。
下面的代码演示了我要做的事情:
function pushEverything(geom) {
for (var i = 0; i < 10000;
我的方法包括以下步骤:
1)创建管的初始路径(点的位置数组)
2)基于路径渲染管状体
3)更改路径数组
4)转到步骤2
所以,也许我需要这样的函数:
function morphPath(path){
// some magic here
return newPath;
}
function morphTube(path){
// change tube's vertices positions based on path
}
假设我想渲染一条爬行的蛇。
我发现美丽和非常复杂的例子,请给我如何解决我的问题的基本理解。
示例-
我使用此函数来创建管:
var geometry = n
我是Three.js的新手,在你的一些帮助下,我给我的three.js模型添加了阴影,但是当光线照射时,它会产生成千上万的线条。如果是因为我做的模型有多差。否则我就得换个灯。图像在下面。
和密码
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(
60,
window.innerWidth / window.innerHeight,
0.01,
1000
);
//camera.rotation.x=-20*Math.PI/180;
var renderer
我遵循的例子来注册行。它在THREE.js中生成一个错误。下面是错误的跟踪:
Uncaught (in promise) TypeError: Cannot read property '0' of undefined
at Mt.fromGeometry (three.js:12300)
at St.fromGeometry (three.js:14186)
at toBufferGeometry (geometry.js:134)
at createGeometry (geometry.js:106)
at r.getOrCreate