当我想将3D几何体的顶点位置推到数组时,我想要执行一个函数。当我想将位置推送到数组时,我想再次使用相同的代码。当我想在阵列中推送某些东西时,甚至可以使用一个函数吗?有人可以帮帮我吗?
这是我的代码:
function sphereposition() {
sphere.position.x + sphere.geometry.vertices[i].clone().x * 1;
sphere.position.y + sphere.geometry.vertices[i].clone().y * 1;
sphere.position.z +sphere.geometry.vertices[i].clone().z * 1;
}
for ( var i = 0; i < particles; i++ ) {
positions.push( sphereposition(); );
}
答案 0 :(得分:0)
这真的不是一个three.js问题,而是更多的编程问题How do I organize my data
?
您有多种选择(不是详尽的清单)。
world space position + vertices position
object world space position
,一个用于vertices position
使用选项1:
function getObjectData (object) {
var world_position = object.position;
var vertices_position = object.geometry.vertices;
for ( var i = 0; i < particles; i++ ) {
positions.push(
world_position.x + vertices_position[i].x,
world_position.y + vertices_position[i].y,
world_position.z + vertices_position[i].z,
);
}
}