SuperMap iClient3D for WebGLで.glbモデルを平面でクリッピングする方法
1、機能紹介 この記事では、 SuperMap3D ( Cesium に似た 3D 地理可視化エンジン)をベースにしたモデルクリッピング機能を実現します 。主な特徴は次のとおりです。 3D モデルの読み込みと表示:航空機モデル( Cesium_Air.glb )を読み込みます 。 動的なクリッピング平面: ClippingPlane を通じてモデルのクリッピングを実現します。ユーザーはスライダーでクリッピング平面の位置( wheight パラメータ)を調整し、リアルタイムでモデルをカットできます 。 インタラクティブな制御:入力ボックス( #lodScale )を提供し、ユーザーが数値を入力してクリッピング距離を動的に変更し、モデルのカット効果をインタラクティブに調整できるようにします 。 2、主要なコードインターフェース 平面を ClippingPlaneCollection に適したヘッセ法線形式( Hessian Normal Form )に変換し、数学的な Plane 関数と互換性を持たせる必要があります 。 名前 型 説明 normal Cartesian3 平面の単位法線ベクトル(正規化処理後の平面法線ベクトルで、その長さは 1 です)。 distance Number 原点から平面までの最短距離。その符号によって原点が平面のどちら側にあるかが決まります。距離が正の場合、原点は法線ベクトルの方向の半空間内にあり、距離が負の場合、原点は法線ベクトルの反対方向の半空間内にあります。距離がゼロの場合、平面は原点を通過します 。 var clippingPlanes = [ new SuperMap3D.ClippingPlane( new SuperMap3D.Cartesian3(0.0, 0.0, -1.0), // ...