gpt4 book ai didi

javascript - 如何在three.js中旋转粒子

转载 作者:行者123 更新时间:2023-12-05 01:17:01 26 4
gpt4 key购买 nike

我有一个粒子,它是一个图像。当我旋转粒子时,它会在后面留下一个圆圈。我如何摆脱这个奇怪的圈子?

fiddle 在这里:http://jsfiddle.net/zUvsp/137/

代码:

var camera, scene, renderer, material, img, texture, particle;
init();
animate();

function init() {
scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera(50, window.innerWidth / window.innerHeight, 1, 10000);
camera.position.z = 1000;
scene.add(camera);

img = new Image();
texture = new THREE.Texture(img);

img.onload = function() {
texture.needsUpdate = true;
makeParticle();
};
img.src = "http://www.atalasoft.com/cs/blogs/davidcilley/files/PNG_Mask.png";

renderer = new THREE.CanvasRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
}

function makeParticle() {
material = new THREE.ParticleBasicMaterial({
map: texture,
blending: THREE.AdditiveBlending,
});
// make the particle
particle = new THREE.Particle(material);
particle.scale.x = particle.scale.y = 1;
particle.position.x = 10;
scene.add(particle);
}

function animate() {
requestAnimationFrame(animate);
renderer.render(scene, camera);
particle.rotation.z += 0.01
}

最佳答案

-编辑
我测试了我的理论,这不是问题,不要浪费你的时间

只是一个猜测,但我认为这可能与您从不同的域加载纹理 .png 有关。
尝试使用从运行代码的同一域加载的图像,看看是否能解决问题。

我认为这个问题可能与three.js 无法访问纹理上的像素数据有关,因为跨域问题。

关于javascript - 如何在three.js中旋转粒子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11394941/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com