コンテンツにスキップ
JP

reearth.camera

更新日

reearth.camera 名前空間は、reearth 環境内でカメラを管理・操作するための包括的な機能セットを提供します。

このプロパティは、reearth 内のカメラの現在位置と向きを提供します。カメラの地理的な位置、高度、および角度方向に関する詳細な情報を返します。カメラの視点を把握・記録する際に役立ちます。

reearth.camera.position: CameraPosition | undefined;

CameraPosition

カメラ位置が定義されている場合、詳細な位置と向きのデータを持つオブジェクトを返します。

undefined

カメラ位置が現在利用できないことを示します。

// 例 1: 現在のカメラ位置を取得する
const currentPosition = reearth.camera.position;
// 位置が利用可能かどうかを確認する
if (currentPosition) {
console.log("Latitude:", currentPosition.lat);
console.log("Longitude:", currentPosition.lng);
console.log("Height:", currentPosition.height);
console.log("Heading:", currentPosition.heading);
console.log("Pitch:", currentPosition.pitch);
console.log("Roll:", currentPosition.roll);
} else {
console.log("Camera position is undefined.");
}

このプロパティは、reearth におけるカメラの視野角(FOV)を表し、任意の時点で観測できる世界の範囲を定義します。カメラの視点が広いか狭いかを調整する際に重要なパラメータです。

FOV はカメラがパースペクティブモードの場合にのみ利用可能です。

reearth.camera.fov: number | undefined

number | undefined

カメラの視野角をラジアン単位で表す数値です。視野角は 3D 空間でのコンテンツの見え方に大きく影響し、値が大きいほど広い視野になり、値が小さいほどズームインされた絞り込まれたビューになります。

視野角が undefined の場合、カメラの FOV が設定されていないか、現在の状況では利用できないことを示します。

// 例 1: カメラの現在の視野角にアクセスしてログに出力する
const cameraFov = reearth.camera.fov;
if (cameraFov !== undefined) {
console.log("Current Camera FOV (radians):", cameraFov);
} else {
console.log("Camera FOV is undefined.");
}
// 例 2: FOV に基づいて調整する
// 視野角が広すぎる場合に確認して調整する
const cameraFov = reearth.camera.fov;
if (cameraFov !== undefined && cameraFov > 1) {
console.log("Camera FOV is wide. Consider reducing for a more focused view.");
} else if (cameraFov !== undefined) {
console.log("Camera FOV is optimal for current view.");
}

このプロパティは、reearth 環境におけるカメラのビューポートの幅と高さの比率を表します。この比率は、ビューポートの寸法に基づいてオブジェクトが歪みなく描画されるよう、カメラのビュー内でのコンテンツの表示方法に影響します。

reearth.camera.aspectRatio: number | undefined

number | undefined

カメラのビューポートのアスペクト比(幅 ÷ 高さ)を表す数値です。たとえば、一般的なワイドスクリーンモニターのアスペクト比は 16:9(約 1.78)であり、正方形のアスペクト比は 1:1(1.0)です。アスペクト比が広いほど横方向の視野が広くなり、高いほど縦方向の視野が広くなります。

// 例 1: カメラの現在のアスペクト比にアクセスしてログに出力する
const cameraAspectRatio = reearth.camera.aspectRatio;
if (cameraAspectRatio !== undefined) {
console.log("Current Camera Aspect Ratio:", cameraAspectRatio);
} else {
console.log("Camera aspect ratio is undefined.");
}
// 例 2: アスペクト比に基づいてカメラビューを調整する
const cameraAspectRatio = reearth.camera.aspectRatio;
if (cameraAspectRatio !== undefined && cameraAspectRatio > 1.8) {
console.log(
"Camera aspect ratio is very wide. Consider adjusting the view for better composition."
);
} else if (cameraAspectRatio !== undefined) {
console.log("Camera aspect ratio is within a normal range.");
}

このプロパティは、カメラのビューに現在表示されている地理的な境界を表します。カメラの可視エリアの西・南・東・北の範囲を定義する GeoRect オブジェクトを返します。地理座標でカメラの視野を把握する際に役立ちます。

reearth.camera.viewport: GeoRect | undefined

GeoRect | undefined

現在のビューポートの地理的な境界を表すオブジェクトです。

viewport が undefined の場合、カメラの現在の地理的な境界が設定されていないか取得できないことを示します。これは、カメラが地理的な領域にフォーカスしていない場合に発生することがあります。

// 例 1: ビューポートの現在の地理的な境界にアクセスしてログに出力する
const viewportBounds = reearth.camera.viewport;
if (viewportBounds) {
console.log("Viewport bounds:");
console.log("West:", viewportBounds.west);
console.log("South:", viewportBounds.south);
console.log("East:", viewportBounds.east);
console.log("North:", viewportBounds.north);
} else {
console.log("Viewport is undefined.");
}
// 例 2: ビューポートを確認して調整を提案する
const viewportBounds = reearth.camera.viewport;
if (viewportBounds) {
console.log("Current Viewport:", viewportBounds);
// ビューポートが西または東に広がりすぎていないか確認する
if (viewportBounds.west < -180 || viewportBounds.east > 180) {
console.log(
"Viewport extends beyond global bounds. Consider adjusting the camera."
);
} else {
console.log("Viewport is within normal geographic bounds.");
}
} else {
console.log("Viewport is undefined.");
}

このメソッドは、アニメーションの時間・イージング・視野角(FOV)の任意制御とともに、カメラを指定した目的地へ滑らかに移動させます。シーン内の特定の場所やレイヤへカメラを誘導し、滑らかな遷移とカスタムアニメーションを実現する際に役立ちます。

reearth.camera.flyTo(
destination: LayerId | CameraPosition,
options?: CameraMoveOptions & { fov?: number }
) => void;

カメラの目標地点を指定します。特定のレイヤにフォーカスするための LayerId(文字列)、または地理的な位置と向きのパラメータを指定する CameraPosition オブジェクトを指定できます。

: LayerId | CameraPosition

LayerId: カメラが移動するべき特定のレイヤの ID を表す文字列です。

CameraPosition: カメラの緯度・経度・高度・向きを定義するオブジェクトです。

省略可能

移動アニメーションと視野角を制御する省略可能なオブジェクトです。

: CameraMoveOptions & { fov?: number }

CameraMoveOptions: 移動アニメーションを制御するオブジェクトです。

fov?: number: 目的地での視野角(ラジアン単位)を指定します。遷移の一部としてカメラの FOV を調整します。

なし(void)。このメソッドは値を返しません。

// 例 1: 指定した座標へ 3 秒のアニメーションで移動する
reearth.camera.flyTo(
{ lat: 35.6895, lng: 139.6917, height: 500 }, // Tokyo coordinates
{ duration: 3 } // 3-second animation duration
);
// 例 2: アニメーションなしで即座にレイヤへ移動する
const layerId = "layer123";
reearth.camera.flyTo(layerId, { duration: 0 });
// 例 3: 4 秒のアニメーション・カスタム FOV・イージング関数を使って座標へ移動する
reearth.camera.flyTo(
{
lat: 48.8566, // Latitude for Paris
lng: 2.3522, // Longitude for Paris
height: 1500, // Altitude in meters
heading: 0.785, // Heading in radians (45 degrees clockwise)
pitch: -0.523, // Pitch in radians (30 degrees downward)
roll: 0, // No roll
},
{
duration: 4, // Set animation duration to 4 seconds
fov: 0.8, // Set field of view to 0.8 radians
easing: (t) => t * t, // Custom easing for a slower start
}
);

このメソッドは、指定した地理的バウンディングボックスにフォーカスするようにカメラを滑らかに移動させます。アニメーション・向き・距離の省略可能なパラメータを指定できます。領域を表示するためにズームアウトしたり、ビューポート内の特定のエリアをハイライトするためにズームインしたりする際に役立ちます。

reearth.camera.flyToBoundingBox(
boundingBox: GeoRect,
options?: CameraMoveOptions & {
heading?: number;
pitch?: number;
range?: number;
}
) => void;

: GeoRect

対象エリアの地理的な境界を定義するオブジェクトです。

省略可能

アニメーション・向き・ズームレベルを制御するオブジェクトです。

:

CameraMoveOptions & {
heading?: number;
pitch?: number;
range?: number;
}

heading?: number; カメラが向く方向をラジアンで指定します。0 は北を指し、正の値は時計回りに回転します。

pitch?: number; カメラの垂直角度をラジアンで指定します。負の値は下方向に傾きます。

range?: number; バウンディングボックスの中心からカメラまでの距離をメートルで指定します。ズームレベルを制御します。

なし(void)。このメソッドは値を返しません。

// 例 1: 2 秒のアニメーションでバウンディングボックスへ移動する
reearth.camera.flyToBoundingBox(
{ west: -74.1, south: 40.7, east: -73.9, north: 40.8 }, // New York City area
{ duration: 2 } // 2-second animation duration
);
// 例 2: アニメーションなしでバウンディングボックスへ移動する
reearth.camera.flyToBoundingBox(
{ west: 139.6, south: 35.6, east: 139.8, north: 35.7 }, // Tokyo area
{ duration: 0 }
);
// 例 3: すべてのパラメータを使用してバウンディングボックスへ移動する
reearth.camera.flyToBoundingBox(
{
west: -122.55, // Western boundary of San Francisco area
south: 37.7, // Southern boundary
east: -122.35, // Eastern boundary
north: 37.85, // Northern boundary
},
{
duration: 5, // Set animation duration to 5 seconds
easing: (t) => t * t, // Custom easing for a slower start
heading: 0.785, // Set heading to 0.785 radians (45 degrees clockwise)
pitch: -0.523, // Tilt downward to -0.523 radians (30 degrees)
range: 4000, // Set camera distance to 4000 meters from the center
}
);

このメソッドは、カメラの高度を下げてシーンに近づけます。ズーム効果は、アニメーションの時間やイージングなどの省略可能な設定でカスタマイズできます。シーン内のオブジェクトやエリアをより詳細に表示する際に役立ちます。

reearth.camera.zoomIn: (amount: number, options?: CameraMoveOptions) => void;

: number

ズームレベルを指定します。正の値はカメラの高度を下げてシーンに近づけ、値が大きいほどズームレベルが大きくなります。負の値は理論的にカメラを遠ざけます。

省略可能

ズーム操作のアニメーションを制御するオブジェクトです。

:CameraMoveOptions

なし(void)。このメソッドは値を返しません。

// 例 1: アニメーションを使って現在のビューを指定倍率でズームインする
reearth.camera.zoomIn(2, {
duration: 3,
easing: (t) => t * (2 - t), // Quadratic easing in-out
});
// 例 2: アニメーションとカスタムイージング関数でズームインする
reearth.camera.zoomIn(500, {
duration: 3, // Set animation duration to 3 seconds
easing: (t) => t * t, // Custom easing function for slower start
});

このメソッドは、カメラの現在位置を基準に、指定した量だけズームレベルを下げてシーンのより広い視野を提供します。ズーム効果は、アニメーションの時間やイージングなどの省略可能な設定でカスタマイズできます。環境の広い視野を提供したり、広いパースペクティブへ遷移する際に役立ちます。

reearth.camera.zoomOut(amount: number, options?: CameraMoveOptions) => void;

: number

ズームレベルを指定します。正の値はカメラの高度を上げてシーンから遠ざけます。値が大きいほど、より大きなズームアウト効果が得られます。

省略可能

ズーム操作のアニメーションを制御するオブジェクトです。

:CameraMoveOptions

なし(void)。このメソッドは値を返しません。

// 例 1: 即座にズームアウトする
reearth.camera.zoomOut(10, { duration: 0 });
// 例 2: カスタムイージング関数でズームアウトする
reearth.camera.zoomOut(5, {
duration: 2, // Set animation duration to 2 seconds
easing: (t) => t * t, // Custom easing for a slower start
});
// 例 3: カスタムイージング関数とアニメーションでズームアウトする
reearth.camera.zoomOut(15, {
duration: 4, // Animation lasts 4 seconds
easing: (t) => t * (2 - t), // Custom easing for smooth acceleration and deceleration
});

このメソッドは、カメラを指定した目的地にフォーカスするよう調整し、カメラの向き・距離・視野角(FOV)を制御できます。シーン内の特定の場所やオブジェクトにユーザーの注意を向ける際に最適です。

reearth.camera.lookAt(
destination: LookAtDestination,
options?: CameraMoveOptions & { fov?: number }
) => void;

: LookAtDestination

カメラの目標位置を指定するオブジェクトです。

省略可能

移動アニメーションと視野角を制御する省略可能なオブジェクトです。

: CameraMoveOptions & { fov?: number }

CameraMoveOptions: 移動アニメーションを制御するオブジェクトです。

fov?: number: 目的地での視野角(ラジアン単位)を指定します。遷移の一部としてカメラの FOV を調整します。

なし(void)。このメソッドは値を返しません。

// 例 1: デフォルトアニメーションで特定の座標にフォーカスする
reearth.camera.lookAt({
lat: 34.0522, // Latitude for Los Angeles
lng: -118.2437, // Longitude for Los Angeles
height: 1000, // Altitude in meters
});
// 例 2: カスタムの heading・pitch・range で座標にフォーカスする
reearth.camera.lookAt(
{
lat: 51.5074, // Latitude for London
lng: -0.1278, // Longitude for London
height: 1000, // Altitude in meters
heading: 1.57, // Heading in radians (90 degrees clockwise)
pitch: -0.785, // Pitch in radians (45 degrees downward)
range: 2000, // 2 kilometers from the focus point
},
{
duration: 3, // Set animation duration to 3 seconds
}
);
// 例 3: 目的地とオプションのすべてのパラメータを使用する
reearth.camera.lookAt(
{
lat: 35.6895, // Latitude for Tokyo
lng: 139.6917, // Longitude for Tokyo
height: 500, // Altitude in meters
heading: 0.785, // Heading in radians
pitch: -0.523, // Pitch in radians
range: 1500, // 1.5 kilometers from the focus point
radius: 100, // Focus area radius in meters
},
{
duration: 5, // Animation lasts 5 seconds
easing: (t) => t * t, // Custom easing for a slower start
fov: 1.2, // Set field of view to 1.2 radians
}
);

このメソッドは、カメラのビューと地球の表面または地形との交点を計算します。交点の地理座標(緯度・経度・高度)を返し、オプションでビューポートの可視エリアも計算します。地面や地形との操作(距離の測定や可視性の判定など)を必要とするアプリケーションに特に役立ちます。

reearth.camera.getGlobeIntersection: (options: Options) =>
| {
center?: LatLngHeight;
viewSize?: number;
}
| undefined;

交点計算を制御する省略可能なオブジェクトです。

:

type Options = {
withTerrain?: boolean;
calcViewSize?: boolean;
};

withTerrain?: boolean;: true の場合、交点計算時に地形の高さを考慮します。デフォルトは false(平坦な地形)です。false または省略の場合、計算は平坦な地球表面を前提とします。

calcViewSize?: boolean;: true の場合、カメラの視点から地上の可視エリアのサイズ(ビューサイズ)をメートル単位で計算します。デフォルトは false です。

{center?: LatLngHeight; viewSize?: number;} | undefined

交点が見つかった場合はオブジェクトを返し、交点がない場合は undefined を返します。

center?: LatLngHeight: 交点の地理座標です。

type LatLngHeight = {
lat: number; // Latitude of the intersection point in decimal degrees.
lng: number; // Longitude of the intersection point in decimal degrees.
height: number; // Height of the intersection point above the ground in meters.
};

viewSize?: number: カメラの視点から見た地上の可視エリアのサイズ(メートル単位)です。

// 例 1: 地形との交点とビューサイズを計算する
const intersection = reearth.camera.getGlobeIntersection({
withTerrain: true, // Enable terrain intersection
calcViewSize: true, // Calculate visible area size
});
if (intersection) {
console.log("Intersection Point:", intersection.center);
console.log("View Size (meters):", intersection.viewSize);
} else {
console.log("No intersection found.");
}
// 例 2: 平坦な地球表面との交点を計算し、ビューサイズは計算しない
const intersection = reearth.camera.getGlobeIntersection({
withTerrain: false, // Assume a flat globe surface
calcViewSize: false, // Do not calculate the visible area size
});
if (intersection && intersection.center) {
console.log("Intersection Point:", intersection.center);
console.log("Latitude:", intersection.center.lat);
console.log("Longitude:", intersection.center.lng);
console.log("Height:", intersection.center.height);
} else {
console.log("No intersection found.");
}
// 例 3: undefined の交点を安全に処理する
const intersection = reearth.camera.getGlobeIntersection({
withTerrain: true,
});
if (!intersection) {
console.log("No intersection found. The camera may be above the globe.");
} else if (intersection.center) {
console.log("Latitude:", intersection.center.lat);
console.log("Longitude:", intersection.center.lng);
console.log("Height:", intersection.center.height);
}

このメソッドは、カメラを現在のフォーカスポイントを中心に指定した角度(ラジアン)で回転させます。フォーカスポイントを固定したままシーンを探索する際に役立ちます。

reearth.camera.rotateAround(radian: number) => void;

: number

カメラを回転させる角度(ラジアン単位)です。正の値は時計回りに回転し、負の値は反時計回りに回転します。

なし(void)。このメソッドは値を返しません。

// 例 1: カメラを時計回りに 1 ラジアン回転させる
reearth.camera.rotateAround(1);
// 例 2: カメラを反時計回りに -0.5 ラジアン回転させる
reearth.camera.rotateAround(-0.5);

このメソッドは、カメラを現在位置を中心に指定した角度(ラジアン)で右方向に回転させます。外部の特定のポイントにフォーカスすることなく回転します。

reearth.camera.rotateRight(radian: number) => void;

: number

カメラを回転させる角度(ラジアン単位)です。正の値は右方向に回転し、負の値は左方向に回転します。

なし(void)。このメソッドは値を返しません。

// 例 1: カメラを右方向に 0.785 ラジアン(45 度)回転させる
reearth.camera.rotateRight(0.785);
// 例 2: カメラを右方向(時計回り)に 1 ラジアン回転させる
reearth.camera.rotateRight(1);
// 例 3: カメラを左方向(反時計回り)に -1.57 ラジアン(-90 度)回転させる
reearth.camera.rotateRight(-1.57);

このメソッドは、カメラを地球の中心を軸に指定した角度(ラジアン)で回転させ、グローバルな視点を提供します。異なる角度から地球を素早く探索する際に特に役立ちます。

reearth.camera.orbit(radian: number) => void;

: number

カメラを軌道周回させる角度(ラジアン単位)です。正の値は時計回りに周回し、負の値は反時計回りに周回します。

なし(void)。このメソッドは値を返しません。

// 例 1: カメラを地球の周りで時計回りに 2 ラジアン周回させる
reearth.camera.orbit(2);
// 例 2: カメラを地球の周りで反時計回りに -1 ラジアン周回させる
reearth.camera.orbit(-1);

このメソッドは、カメラを現在位置を基準に指定した方向へ移動させます。シーンを動的にナビゲートし、異なる軸に沿ったカメラの移動を精密に制御する際に役立ちます。

reearth.camera.move(
direction: "forward" | "backward" | "up" | "down" | "left" | "right",
amount: number
) => void;

: "forward" | "backward" | "up" | "down" | "left" | "right"

forward: カメラを前方(向いている方向に近づく方向)へ移動させます。 backward: カメラを後方(向いている方向から遠ざかる方向)へ移動させます。 up: カメラを垂直軸に沿って上方向へ移動させます。 down: カメラを垂直軸に沿って下方向へ移動させます。 left: カメラを水平軸に沿って左方向へ移動させます。 right: カメラを水平軸に沿って右方向へ移動させます。

: number

選択した方向にカメラが移動する距離(メートル単位)を指定します。値が大きいほど移動量が大きくなります。

なし(void)。このメソッドは値を返しません。

// 例 1: カメラを前方に 500 メートル移動させる
reearth.camera.move("forward", 500);
// 例 2: カメラを上方向に 200 メートル移動させる
reearth.camera.move("up", 200);
// 例 3: カメラを左方向に 100 メートル移動させる
reearth.camera.move("left", 100);
// 例 4: カメラを後方に 300 メートル移動させる
reearth.camera.move("backward", 300);

このメソッドは、アニメーションなしでカメラを指定した位置と向きに即座に設定します。位置・向き・視野角(FOV)を精密に制御して、カメラを特定のビューにすばやく配置する際に最適です。

reearth.camera.setView(
view: CameraPosition & { fov?: number }
) => void;

: CameraPosition & { fov?: number }

カメラの位置・向き・省略可能な視野角を定義するオブジェクトです。

fov?: number: カメラの省略可能な視野角(ラジアン単位)で、カメラの視野角を制御します。

なし(void)。このメソッドは値を返しません。

// 例 1: heading・pitch・roll を指定してカメラを特定の位置に設定する
reearth.camera.setView({
lat: 35.6895, // Latitude for Tokyo
lng: 139.6917, // Longitude for Tokyo
height: 1000, // Altitude in meters
heading: 1.57, // Heading in radians (90 degrees clockwise)
pitch: -0.785, // Pitch in radians (45 degrees downward)
roll: 0, // No roll
});
// 例 2: カスタムの視野角でカメラを設定する
reearth.camera.setView({
lat: 48.8566, // Latitude for Paris
lng: 2.3522, // Longitude for Paris
height: 1500, // Altitude in meters
heading: 0.785, // Heading in radians (45 degrees clockwise)
pitch: -0.523, // Pitch in radians (30 degrees downward)
roll: 0, // No roll
fov: 1.2, // Field of view in radians
});
// 例 3: heading・pitch・roll なしでカメラを設定する
reearth.camera.setView({
lat: 40.7128, // Latitude for New York City
lng: -74.006, // Longitude for New York City
height: 2000, // Altitude in meters
});

このイベントは、reearth 環境内でカメラの位置または向きが変化するたびに発生します。カメラの動きを監視して応答し、更新されたカメラの位置と向きを取得することができます。

reearth.camera.on("move", (camera: CameraPosition) => void): void;

: CameraPosition

move イベントが発生するたびに呼び出される関数です。コールバックは引数として更新されたカメラ位置を受け取ります。

// 例 1: カメラの移動を監視して更新された位置をログに出力する
reearth.camera.on("move", (camera) => {
console.log("Camera moved:");
console.log("Latitude:", camera.lat);
console.log("Longitude:", camera.lng);
console.log("Height:", camera.height);
console.log("Heading:", camera.heading);
console.log("Pitch:", camera.pitch);
console.log("Roll:", camera.roll);
});
// 例 2: カメラが移動するたびにカスタムアクションを実行する
reearth.camera.on("move", (camera) => {
if (camera.lat && camera.lng) {
console.log(`Camera moved to ${camera.lat}, ${camera.lng}`);
}
});

詳細な位置と向きのデータを含むオブジェクトです。

type CameraPosition = {
lat?: number;
lng?: number;
height?: number;
heading?: number;
pitch?: number;
roll?: number;
};

lat?: number;: カメラが位置する緯度(10 進数の度単位)です。

lng?: number;: カメラが位置する経度(10 進数の度単位)です。

height?: number: 地球の表面からのカメラの高度(メートル単位)で、カメラの高低を決定します。

heading?: number;: カメラが向く方向です。0 は北を指し、値が増加するにつれて時計回りに回転します(ラジアン単位)。

pitch?: number;: ピッチ角(カメラの垂直方向の傾き)です。正の値は上方向、負の値は下方向に傾きます(ラジアン単位)。

roll?: number;: ロール角(視線方向を軸としたカメラの回転)です(ラジアン単位)。

現在のビューポートの地理的な境界を表すオブジェクトです。

type GeoRect = {
west: number;
south: number;
east: number;
north: number;
};

west: number: ビューポートの西端の境界(経度の10 進数の度単位)です。

south: number: ビューポートの南端の境界(緯度の10 進数の度単位)です。

east: number: ビューポートの東端の境界(経度の10 進数の度単位)です。

north: number: ビューポートの北端の境界(緯度の10 進数の度単位)です。

移動アニメーションを制御するオブジェクトです。

type CameraMoveOptions = {
duration?: number; // in seconds
easing?: (time: number) => number;
};

duration?: number; カメラ移動の時間を秒単位で指定します。即座に移動するには 0 を使用します。省略した場合はデフォルトの時間が使用されます。

easing?: (time: number) => number; アニメーションの速度を制御するカスタムイージング関数です。time は 0 から 1 の間の正規化された値です。

カメラの目標位置を指定するオブジェクトです。

type LookAtDestination = {
lat?: number;
lng?: number;
height?: number;
heading?: number;
pitch?: number;
range?: number;
radius?: number;
};

lat?: number 目標位置の緯度(10 進数の度単位)です。

lng?: number; 目標位置の経度(10 進数の度単位)です。

height?: number; 海抜からの目標位置の高度(メートル単位)です。

heading?: number; カメラの向き(ラジアン単位)です(0 = 北、正の値は時計回りに回転)。

pitch?: number; カメラの垂直方向の傾き(ラジアン単位)です。負の値は下方向に傾きます。

range?: number; カメラから目標位置までの距離(メートル単位)です。

radius?: number; 目標周辺の半径を指定し、目標を見ながらカメラが目標からどれだけ離れるかを制御します。