コンテンツにスキップ

ArrowHelperDesc

ArrowHelperDesc は、Three.js の ArrowHelper をシーンに追加するためのヘルパーDescriptorです。方向ベクトルの可視化、風向きや進行方向などの表現、デバッグ用途に適しています。

以下のプロパティに加えて、基底クラスの共通プロパティ(positionrotationscalematrixmatrixWorldgeodeticvisible)が利用できます。詳細は MeshDesc を参照してください。

Type: object | undefined

Description: アローヘルパーの設定。

Type: XYZ (必須)

Description: 矢印の方向ベクトル。自動的に正規化されます。

Type: XYZ | undefined

Description: 矢印の原点座標。省略時は { x: 0, y: 0, z: 0 }

Type: number | undefined

Description: 矢印の長さ。

Default: 1

Type: Color | undefined

Description: 矢印の色を Color で指定します。

Default: new Color().setStyle("#ffffff")

Type: number | undefined

Description: 矢印ヘッドの長さ。

Type: number | undefined

Description: 矢印ヘッドの太さ。

import ThreeView, { Color } from "@navaramap/three";
import { ArrowHelperDesc } from "@navaramap/three-default-descs";
const view = new ThreeView();
view.registerMesh("arrowHelper", ArrowHelperDesc);
await view.init();
// 東方向へ長さ 5、緑色の矢印
view.addMesh<ArrowHelperDesc>({
arrowHelper: {
direction: { x: 1, y: 0, z: 0 },
origin: { x: 0, y: 0, z: 0 },
length: 5,
color: new Color().setHex(0x00ff00),
headLength: 1,
headWidth: 0.5,
},
});
  • direction は正規化されて使用されます。
  • color を更新する場合は update({ arrowHelper: { color } }) を使用できます。サイズ変更(length/headLength/headWidth)も更新可能です。