Canvas Three.JS-如何设置旋转轴

Canvas Three.JS-如何设置旋转轴,canvas,rotation,webgl,three.js,Canvas,Rotation,Webgl,Three.js,因此,我一直在使用Three.JS(graphics/anim不是我的强项),并根据一个教程提出了以下内容: 正如你所看到的,我几乎可以肯定是一个3D动画天才。我离题了 我的问题是:如何让对象围绕其中心旋转,而不是像目前那样围绕末端旋转 我知道particle.rotation.set方法,但我不知道要传递什么值,而且我似乎在Three.JS文档中找不到这个方法。环顾四周,我看到人们将0值传递给这个,其他人传递Math.PI派生值。简言之,我不确定我在做什么。显然,这应该在makePartic

因此,我一直在使用Three.JS(graphics/anim不是我的强项),并根据一个教程提出了以下内容:

正如你所看到的,我几乎可以肯定是一个3D动画天才。我离题了

我的问题是:如何让对象围绕其中心旋转,而不是像目前那样围绕末端旋转

我知道
particle.rotation.set
方法,但我不知道要传递什么值,而且我似乎在Three.JS文档中找不到这个方法。环顾四周,我看到人们将
0
值传递给这个,其他人传递
Math.PI
派生值。简言之,我不确定我在做什么。显然,这应该在
makeParticles
函数中使用(如下所示):

函数makeParticles(){
var粒子、材料;
//从近到远添加随机粒子
对于(变量zpos=-1000;zpos<1000;zpos+=20){
//创建粒子,设置随机颜色并调用粒子渲染器
材料=新的3.particleCanvas材料({
颜色:“0x”+(函数(){
var-ret='';

对于(var i=0;i我对three.js不是很熟悉,但更改旋转点的方法是将particleRender函数更改为:

function particleRender(ctx) {
    ctx.beginPath();
    ctx.save();
    ctx.translate(-1,-1);
    ctx.rect(0, 0, 2, 2);
    ctx.fill();
    ctx.restore();
};
我在这里猜测,但可能是粒子(由于其性质)在three.js库中没有实际大小,因此它们的坐标也是它们的旋转中心。要使它们正确旋转,绘制方法需要居中

function particleRender(ctx) {
    ctx.beginPath();
    ctx.save();
    ctx.translate(-1,-1);
    ctx.rect(0, 0, 2, 2);
    ctx.fill();
    ctx.restore();
};