@soonspacejs/plugin-navigation 2.6.30 → 2.6.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -78,4 +78,36 @@
78
78
  - 当前朝向
79
79
  - 前方转弯方向
80
80
 
81
+ <<<<<<< HEAD
82
+ ## 代码 usage
83
+
84
+ ```typescript
85
+ import NavigatorPlugin from "@soonspacejs/plugin-navigator";
86
+
87
+ const { NavigatorControl } = ssp.registerPlugin(
88
+ NavigatorPlugin,
89
+ "navigator-plugin"
90
+ );
91
+
92
+ const shortestPath1 = ssp.getShortest(/* ... */);
93
+ const shortestPath2 = ssp.getShortest(/* ... */);
94
+
95
+ const navigator = new NavigatorControl({
96
+ camera: {
97
+ opposite: true,
98
+ offset: new Vector3(),
99
+ },
100
+ paths: [],
101
+ onStart() {
102
+ console.log("start");
103
+ },
104
+ });
105
+
106
+ navigator.flyToStart();
107
+
108
+ navigator.start();
109
+ ```
110
+
111
+ =======
112
+ >>>>>>> c8d957be8672383fdc0971cbcf1b0f8ea061d2d1
81
113
  Document: [http://www.xwbuilders.com:8800/plugin/navigation.html](http://www.xwbuilders.com:8800/plugin/navigation.html)
@@ -1,2 +1,5 @@
1
1
  export * from './map-camera';
2
2
  export * from './navigate-camera';
3
+ export * from './ssp-camera';
4
+ export * from './utils';
5
+ export * from './types';
@@ -1,4 +1,4 @@
1
- import SoonSpace from 'soonspacejs/types/index';
1
+ import SoonSpace, { ControlsOptions } from 'soonspacejs/types/index';
2
2
  import { Camera, Euler, Object3D, Vector3 } from 'three';
3
3
  import { GyroListener } from '../utils/gyro';
4
4
  import { SoonSpaceCamera } from './ssp-camera';
@@ -10,7 +10,7 @@ import { CameraOppositeType, EulerArray, FixEuler, FixVector, NAVIGATE_ORIENTATI
10
10
  *
11
11
  * target 跟踪的目标
12
12
  */
13
- export type ControlCallback = (camera: Camera, target: Object3D) => void;
13
+ export type ControlCallback = (camera: Camera, target: Object3D, event?: MouseEvent | TouchEvent) => void;
14
14
  export interface NavigateCameraOptions {
15
15
  disabledAnimate: boolean;
16
16
  fixedOrientation: boolean;
@@ -62,26 +62,26 @@ export declare class NavigateCamera extends SoonSpaceCamera<Camera> {
62
62
  /** 相机反转类型, 默认为 Y 轴对称 */
63
63
  oppositeType: CameraOppositeType;
64
64
  /**
65
- * 目标角度修正
66
- *
67
- * 支持传入 getter 函数
68
- */
65
+ * 目标角度修正
66
+ *
67
+ * 支持传入 getter 函数
68
+ */
69
69
  targetRotationFix: FixEuler;
70
70
  /** 是否相对模型修正偏移 */
71
71
  isFixPositionRelativeTarget: boolean;
72
72
  /**
73
- * 目标位置修正
74
- *
75
- * 支持传入 getter 函数
76
- */
73
+ * 目标位置修正
74
+ *
75
+ * 支持传入 getter 函数
76
+ */
77
77
  targetPositionFix: FixVector;
78
78
  /**
79
- * 自动恢复朝向
80
- *
81
- * boolean 是否恢复朝向
82
- *
83
- * number 间隔多少秒后恢复朝向
84
- */
79
+ * 自动恢复朝向
80
+ *
81
+ * boolean 是否恢复朝向
82
+ *
83
+ * number 间隔多少秒后恢复朝向
84
+ */
85
85
  autoRestoreOrientation: boolean | number;
86
86
  /** 当控制器控制相机时允许外部自定义控制,控制开始时触发 */
87
87
  onControlStart: null | ControlCallback;
@@ -117,44 +117,44 @@ export declare class NavigateCamera extends SoonSpaceCamera<Camera> {
117
117
  /** 绝对朝向的缓存值 */
118
118
  private _fixedOrientationRotation;
119
119
  /**
120
- * 相机朝向类型
121
- *
122
- * NAVIGATE_ORIENTATION_TYPE.RELATIVE_ORIENTATION 相对朝向
123
- *
124
- * NAVIGATE_ORIENTATION_TYPE.FIXED_ORIENTATION 绝对朝向
125
- *
126
- * NAVIGATE_ORIENTATION_TYPE.GYRO_ORIENTATION 陀螺仪朝向
127
- */
120
+ * 相机朝向类型
121
+ *
122
+ * NAVIGATE_ORIENTATION_TYPE.RELATIVE_ORIENTATION 相对朝向
123
+ *
124
+ * NAVIGATE_ORIENTATION_TYPE.FIXED_ORIENTATION 绝对朝向
125
+ *
126
+ * NAVIGATE_ORIENTATION_TYPE.GYRO_ORIENTATION 陀螺仪朝向
127
+ */
128
128
  get orientationType(): NAVIGATE_ORIENTATION_TYPE;
129
129
  set orientationType(value: NAVIGATE_ORIENTATION_TYPE);
130
130
  protected _orientationTarget: NavigateOrientationTarget;
131
131
  /**
132
- * 相机朝向目标
133
- *
134
- * “main” 朝向跟踪目标
135
- *
136
- * Vector3 朝向点
137
- *
138
- * Object3D 朝向目标对象
139
- *
140
- * Euler 固定朝向
141
- */
132
+ * 相机朝向目标
133
+ *
134
+ * “main” 朝向跟踪目标
135
+ *
136
+ * Vector3 朝向点
137
+ *
138
+ * Object3D 朝向目标对象
139
+ *
140
+ * Euler 固定朝向
141
+ */
142
142
  get orientationTarget(): NavigateOrientationTarget;
143
143
  set orientationTarget(value: NavigateOrientationTarget);
144
144
  protected _vision: NAVIGATE_VISION_TYPE;
145
145
  /**
146
- * 视角配置
147
- *
148
- * NAVIGATE_VISION_TYPE.FIRST_VISION 第一人称
149
- *
150
- * NAVIGATE_VISION_TYPE.THIRD_VISION 第三人称
151
- *
152
- * NAVIGATE_VISION_TYPE.UP_VISION 俯视图
153
- *
154
- * NAVIGATE_VISION_TYPE.LEFT_VISION 左视图
155
- *
156
- * 默认为第三人称
157
- */
146
+ * 视角配置
147
+ *
148
+ * NAVIGATE_VISION_TYPE.FIRST_VISION 第一人称
149
+ *
150
+ * NAVIGATE_VISION_TYPE.THIRD_VISION 第三人称
151
+ *
152
+ * NAVIGATE_VISION_TYPE.UP_VISION 俯视图
153
+ *
154
+ * NAVIGATE_VISION_TYPE.LEFT_VISION 左视图
155
+ *
156
+ * 默认为第三人称
157
+ */
158
158
  get vision(): NAVIGATE_VISION_TYPE;
159
159
  set vision(value: NAVIGATE_VISION_TYPE);
160
160
  protected _followTarget: Object3D;
@@ -169,7 +169,7 @@ export declare class NavigateCamera extends SoonSpaceCamera<Camera> {
169
169
  /** 固定朝向,朝向不受控制器影响 */
170
170
  get fixedOrientation(): boolean;
171
171
  set fixedOrientation(value: boolean);
172
- constructor(ssp: SoonSpace, camera?: Camera, options?: NavigateCameraOptions);
172
+ constructor(ssp: SoonSpace, camera?: Camera, options?: Partial<NavigateCameraOptions>, controls?: Partial<ControlsOptions>);
173
173
  protected initGyroListener(): void;
174
174
  /** 控制器操作时处理 */
175
175
  protected setCameraOrientationOnControl(): void;
@@ -189,8 +189,8 @@ export declare class NavigateCamera extends SoonSpaceCamera<Camera> {
189
189
  /** 设置参数 */
190
190
  setOptions(options: Partial<NavigateCameraOptions>): void;
191
191
  /**
192
- * 设置相机,若导航相机正在使用中,则会立即切换为设置的相机
193
- */
192
+ * 设置相机,若导航相机正在使用中,则会立即切换为设置的相机
193
+ */
194
194
  setCamera(camera: Camera): this;
195
195
  /** 重置相机坐标 */
196
196
  restoreOrientation(): void;
@@ -1,5 +1,6 @@
1
1
  import { Euler, Vector3 } from 'three';
2
2
  import { FixEuler, FixVector, Object3DLike } from './types';
3
+ import SoonSpace from 'soonspacejs/types/index';
3
4
  export declare function Vector3ToEuler(v: Vector3): Euler;
4
5
  export declare function eulerToVector3(e: Euler): Vector3;
5
6
  /**
@@ -9,3 +10,8 @@ export declare function eulerToVector3(e: Euler): Vector3;
9
10
  export declare function normalizeEuler(e: Euler): Vector3;
10
11
  export declare function getFixVector(v: FixVector, target?: Object3DLike): import("./types").VectorArray;
11
12
  export declare function getFixEuler(e: FixEuler, target?: Object3DLike): import("./types").EulerArray;
13
+ export declare function initTouchToRotateCamera(ssp: SoonSpace): {
14
+ touchStart: (event: TouchEvent) => void;
15
+ touchMove: (event: TouchEvent) => void;
16
+ touchEnd: () => void;
17
+ };