这是我的功能。
function Planet(radius, c) {
var sphere = new THREE.Mesh(
new THREE.SphereGeometry(radius, 64, 64),
new THREE.MeshLambertMaterial({ color: c })
);
}
然后我从函数中创建一个对象。
var planet = new Planet(1, 0xffffff);
最后,我尝试将行星对象的球体网格添加到three.js场景中。
scene.add(planet.sphere);
我在Chrome JavaScript控制台中没有出现任何错误,但该漏洞未显示出来。如果我从Planet函数外部创建一个球体网格并将其添加到场景中,它就可以工作。但是,从长远来看,将所有功能都放在功能之外真的没有意义。我最终将不得不创建多个阵列来存储一颗行星。
答案 0 :(得分:0)
试
function Planet(radius, c) {
this.sphere = new THREE.Mesh(
new THREE.SphereGeometry(radius, 64, 64),
new THREE.MeshLambertMaterial({ color: c })
);
}
var planet = new Planet(1, 0xffffff );
scene.add(planet.sphere);
或
function Planet(radius, c) {
return new THREE.Mesh(
new THREE.SphereGeometry(radius, 64, 64),
new THREE.MeshLambertMaterial({ color: c })
);
}
var planet = new Planet(1, 0xffffff);
scene.add(planet);