javascript - THREEjs 旋转星域
问题描述
我有一个 threejs 场景,在 Angular 应用程序的打字稿中创建。我有一个灯、相机和一个圆环结。圆环结旋转。
我用这个功能添加了一个星空
private scene: THREE.Scene;
private stars: THREE.Group;
addStar = () => {
const geometry = new THREE.SphereGeometry(0.25, 24, 24);
const material = new THREE.MeshStandardMaterial({
color: 0xffffff,
emissive: 0xffffff,
emissiveIntensity: 1,
roughness: 0,
metalness: 0.5
});
const star = new THREE.Mesh(geometry, material);
const [x, y, z] = Array(3)
.fill(undefined)
.map(() => THREE.MathUtils.randFloatSpread(100));
star.position.set(x, y, z);
this.stars = new THREE.Group();
this.stars.add(star);
this.scene.add(this.stars);
};
然后,在我的 createScene 函数中,我调用它
Array(200).fill(undefined).forEach(this.addStar);
并且确实在我的场景中添加了 200 颗星,如预期的那样在随机位置。
但是,在我的动画功能中,我试图围绕其中心旋转起始组
this.stars.rotation.y += 0.005;
但我只看到 1 颗星在移动。我错过了什么?
解决方案
推荐阅读
- python - Substitute a local value in the global expression inside a function
- javascript - How do javascript async callbacks reference arguments that are passed in?
- javascript - How is PDF.js getTextContent returning multiple character strings
- vba - 如何将焦点设置到收件箱?
- python - 从包含单独文件的文件夹创建自定义数据集
- java - com.sybase.jdbc4.jdbc.SybSQLException:找不到 SQL 函数。如果您尝试调用 java UDF,则未启用 Java 服务
- mysql - Heroku SSL 连接错误不支持的协议
- javascript - 如果悬停时间小于 1 秒,则不在 Chart.js 中显示标签工具提示
- c++ - FFMPEG C++非单调增加dts到复用器
- jquery - wp-admin 上缺少 jquery - wordpress