如何在 Three JS 中显示球形网格助手
How to show spherical grid helper in Three JS
我正在从事一个项目,该项目想要移动小对象并使用 ThreeJS 库在 360 度图像中显示它们。因此,我在具有一定半径的球体中使用 球坐标系 来移动对象。用户开始在球体中心看到应用程序。我想在球体上显示一些网格辅助线(非常类似于经度和纬度线)。我从库中的 here 中找到了以下代码:
var radius = 10;
var radials = 16;
var circles = 8;
var divisions = 64;
var helper = new THREE.PolarGridHelper( radius, radials, circles, divisions );
scene.add( helper );
但它只是在场景中添加了一个带有一些圆圈的极板而不是球形网格助手。
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 );
我正在从事一个项目,该项目想要移动小对象并使用 ThreeJS 库在 360 度图像中显示它们。因此,我在具有一定半径的球体中使用 球坐标系 来移动对象。用户开始在球体中心看到应用程序。我想在球体上显示一些网格辅助线(非常类似于经度和纬度线)。我从库中的 here 中找到了以下代码:
var radius = 10;
var radials = 16;
var circles = 8;
var divisions = 64;
var helper = new THREE.PolarGridHelper( radius, radials, circles, divisions );
scene.add( helper );
但它只是在场景中添加了一个带有一些圆圈的极板而不是球形网格助手。
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 );