Javascript 沿geometry Three.js的精灵大小

Javascript 沿geometry Three.js的精灵大小,javascript,animation,three.js,particles,Javascript,Animation,Three.js,Particles,我想展示一个精灵沿着人物的动画。特别是移动精灵行走的人物。 如图所示: http://armsglobe.chromeexperiments.com/ 我是基于对这个问题的回答: http://stackoverflow.com/questions/25898635/three-js-how-to-animate-particles-along-a-line 这是我的结果,精灵开始变小,然后变大。我想要同样大小的人 但我需要你们所有的精灵都一样大。我查看了代码,但不知道如何处理所有大小相同

我想展示一个精灵沿着人物的动画。特别是移动精灵行走的人物。 如图所示:

http://armsglobe.chromeexperiments.com/
我是基于对这个问题的回答:

http://stackoverflow.com/questions/25898635/three-js-how-to-animate-particles-along-a-line

这是我的结果,精灵开始变小,然后变大。我想要同样大小的人

但我需要你们所有的精灵都一样大。我查看了代码,但不知道如何处理所有大小相同的精灵

如果你能帮忙,我将不胜感激。
Sprite不能将
sizeAttenuation
功能设为false。 您需要使用
Pointcloud

您搜索的pontCloud材质中的参数是
sizeAttenuation=false

将使所有粒子的大小相对于画布大小。视角不会改变

var geometry = new THREE.Geometry();      
    geometry.vertices.push( new THREE.Vector3() );
var size = 32; // means 32px

var sectorIcon = new THREE.PointCloud( geometry, new THREE.PointCloudMaterial( { size: size, color: new THREE.Color( 0xffffff ), depthTest: 1, depthWrite: false,  opacity: 0.5, sizeAttenuation: false, blending: THREE.AdditiveBlending, transparent: true, map: THREE.ImageUtils.loadTexture("img/sectors/"+value.image_file) } ) );

谢谢你的回答。如果我使用点云,我可以调整点云的大小?。我担心的是,如果我使用PointCloud而不是sprite,它会运行我的代码吗?点云将像以前的精灵一样漫游几何体?您可以随时将PointCloud.material.size=38更改为38px。但仅适用于点云中的所有点。在你需要更多不同大小的粒子时,使用更多的点云。我解释道。在我的代码中,精灵从小到大。我只需要同样大小的。我该怎么做呢?.Pointcloud不受透视图的影响,这意味着如果使用PC.material.sizeAttenuation=false,则所有粒子的大小都以PX为单位。这意味着,如果距离或多或少,它仍然具有绝对大小。如果使用sizeAttenuation:true,它将受到透视失真的影响。如果一个点云中有多个垂直线,则所有垂直线的大小都相同-始终如此。