我正在尝试在以下示例中添加一些球体。最初它只有三个立方体,但我需要添加几个彼此等距的球体,并且会以不同的速度旋转。
我的尝试
googleapis.oauth2("v2").userinfo.v2.me.get({auth: oauth2Client}, (e, profile) => {
...
});
为什么我无法在场景中添加3个以上的球体?我试图添加第四个球体,但它不起作用。如何在这里考虑速度?那就是:我可以为某些球体指定不同的速度吗?
答案 0 :(得分:1)
您指定:
</header>
<main ng-app='myApp'>
<div ng-controller="AppController">
{{ greeting }}
</div>
</main>
<footer>
<script src="libs/angular.js" charset="utf-8"></script>
<script src="libs/angular-route.min.js" charset="utf-8"></script>
<script src="js/app.js" charset="utf-8"></script>
<script src="js/service.js" charset="utf-8"></script>
</footer>
pivot1.rotation.z = 0;
pivot2.rotation.z = 2 * Math.PI / 3;
pivot3.rotation.z = 4 * Math.PI / 3;
pivot4.rotation.z = 6 * Math.PI / 3;
= 6 * Math.PI / 3
注意,three.js使用弧度,因此2 * Math.PI
为2 * PI
(完整旋转与无旋转的位置相同。
所以pivot1和pivot4具有相同的有效旋转,你的2个球体最终在空间的同一个地方。
您目前通过改变每一帧的z旋转来处理速度。
0
这显然适用于演示。您可以通过每帧移动更多(或获得更多帧,即更好的机器或其他升级)来加快速度。
parent.rotation.z += 0.01;
现在它以4倍的速度旋转!
一旦你过去使用大于手指数的计数,我建议使用数组通用。而不是列出parent.rotation.z += 0.04;
,而是通过循环生成它。 (如果您愿意,可以在功能上使用范围。)
首先,我们声明要制作多少个球体。然后将圆圈分开(2 * Math.PI弧度到处)。然后永远的球体,做一个枢轴。然后,对于每个轴,添加一个网格。而且你已经完成了。
pivot1, pivot2, pivot3, . . . pivot0451
实施的
快乐的编码。