首页 > 解决方案 > 如何在三个 JS 中显示球形网格助手

问题描述

我正在开发一个想要移动小物体并使用 ThreeJS 库在 360 度图像中显示它们的项目。所以我在一个有一定半径的球体中使用球坐标系来移动物体。用户开始在球体中心看到应用程序。我想在球体上显示一些网格辅助线(非常类似于经度和纬度线)。我在库中从这里找到了以下代码:

var radius = 10;
var radials = 16;
var circles = 8;
var divisions = 64;

var helper = new THREE.PolarGridHelper( radius, radials, circles, divisions );
scene.add( helper );

但它只在场景中添加了一个带有一些圆圈的极板,而不是球形网格助手。

在此处输入图像描述

标签: javascriptthree.js3d360-degrees

解决方案


PolarGridHelper是一个扁平的圆。如果你想要一个球面几何形状,只需使用SphereBufferGeometry并给它一个线框外观:

var radius = 10;
var latSegments = 18;  // 10° increments
var longSegments = 36; // 10° increments

var geometry = new THREE.SphereBufferGeometry( radius, longSegments, latSegments);
var material = new THREE.MeshBasicMaterial({
    color: 0xffffff,
    wireframe: true
});

var sphere = new THREE.Mesh( geometry, material );
scene.add( sphere );


推荐阅读