hj-gis-sdk 1.0.0 → 1.0.2

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.
Files changed (194) hide show
  1. package/README.md +50 -59
  2. package/dev-dist/animation.esm.js +152 -0
  3. package/dev-dist/animation.esm.js.map +1 -0
  4. package/dev-dist/animation.js +154 -0
  5. package/dev-dist/animation.js.map +1 -0
  6. package/dev-dist/building.esm.js +85 -0
  7. package/dev-dist/building.esm.js.map +1 -0
  8. package/dev-dist/building.js +87 -0
  9. package/dev-dist/building.js.map +1 -0
  10. package/dev-dist/common.esm.js +16159 -0
  11. package/dev-dist/common.esm.js.map +1 -0
  12. package/dev-dist/common.js +16163 -0
  13. package/dev-dist/common.js.map +1 -0
  14. package/dev-dist/fence.esm.js +100 -0
  15. package/dev-dist/fence.esm.js.map +1 -0
  16. package/dev-dist/fence.js +102 -0
  17. package/dev-dist/fence.js.map +1 -0
  18. package/dev-dist/ghost.esm.js +53 -0
  19. package/dev-dist/ghost.esm.js.map +1 -0
  20. package/dev-dist/ghost.js +55 -0
  21. package/dev-dist/ghost.js.map +1 -0
  22. package/dev-dist/heatmap.esm.js +103 -0
  23. package/dev-dist/heatmap.esm.js.map +1 -0
  24. package/dev-dist/heatmap.js +105 -0
  25. package/dev-dist/heatmap.js.map +1 -0
  26. package/dev-dist/index.esm.js +21 -0
  27. package/dev-dist/index.esm.js.map +1 -0
  28. package/dev-dist/index.esm2.js +4272 -0
  29. package/dev-dist/index.esm2.js.map +1 -0
  30. package/dev-dist/index.js +26 -0
  31. package/dev-dist/index.js.map +1 -0
  32. package/dev-dist/index2.js +4280 -0
  33. package/dev-dist/index2.js.map +1 -0
  34. package/dev-dist/keyframe.esm.js +95 -0
  35. package/dev-dist/keyframe.esm.js.map +1 -0
  36. package/dev-dist/keyframe.js +97 -0
  37. package/dev-dist/keyframe.js.map +1 -0
  38. package/dev-dist/measurement.esm.js +57 -0
  39. package/dev-dist/measurement.esm.js.map +1 -0
  40. package/dev-dist/measurement.js +59 -0
  41. package/dev-dist/measurement.js.map +1 -0
  42. package/dev-dist/scatter.esm.js +85 -0
  43. package/dev-dist/scatter.esm.js.map +1 -0
  44. package/dev-dist/scatter.js +87 -0
  45. package/dev-dist/scatter.js.map +1 -0
  46. package/dev-dist/src.esm.js +289 -0
  47. package/dev-dist/src.esm.js.map +1 -0
  48. package/dev-dist/src.js +291 -0
  49. package/dev-dist/src.js.map +1 -0
  50. package/dev-dist/types/hj-gis-sdk/addons/animation/animate-clip.d.ts +39 -0
  51. package/dev-dist/types/hj-gis-sdk/addons/animation/animate-clip.d.ts.map +1 -0
  52. package/dev-dist/types/hj-gis-sdk/addons/animation/animation-action.d.ts +31 -0
  53. package/dev-dist/types/hj-gis-sdk/addons/animation/animation-action.d.ts.map +1 -0
  54. package/dev-dist/types/hj-gis-sdk/addons/animation/animation-mixer.d.ts +18 -0
  55. package/dev-dist/types/hj-gis-sdk/addons/animation/animation-mixer.d.ts.map +1 -0
  56. package/dev-dist/types/hj-gis-sdk/addons/animation/index.d.ts +5 -0
  57. package/dev-dist/types/hj-gis-sdk/addons/animation/index.d.ts.map +1 -0
  58. package/dev-dist/types/hj-gis-sdk/addons/camera.d.ts +59 -0
  59. package/dev-dist/types/hj-gis-sdk/addons/camera.d.ts.map +1 -0
  60. package/dev-dist/types/hj-gis-sdk/addons/clock.d.ts +40 -0
  61. package/dev-dist/types/hj-gis-sdk/addons/clock.d.ts.map +1 -0
  62. package/dev-dist/types/hj-gis-sdk/addons/commander/context.d.ts +24 -0
  63. package/dev-dist/types/hj-gis-sdk/addons/commander/context.d.ts.map +1 -0
  64. package/dev-dist/types/hj-gis-sdk/addons/commander/dispatcher.d.ts +43 -0
  65. package/dev-dist/types/hj-gis-sdk/addons/commander/dispatcher.d.ts.map +1 -0
  66. package/dev-dist/types/hj-gis-sdk/addons/commander/excutor/base.d.ts +22 -0
  67. package/dev-dist/types/hj-gis-sdk/addons/commander/excutor/base.d.ts.map +1 -0
  68. package/dev-dist/types/hj-gis-sdk/addons/loader/index.d.ts +6 -0
  69. package/dev-dist/types/hj-gis-sdk/addons/loader/index.d.ts.map +1 -0
  70. package/dev-dist/types/hj-gis-sdk/addons/loader/loader.d.ts +4 -0
  71. package/dev-dist/types/hj-gis-sdk/addons/loader/loader.d.ts.map +1 -0
  72. package/dev-dist/types/hj-gis-sdk/addons/node/base.d.ts +63 -0
  73. package/dev-dist/types/hj-gis-sdk/addons/node/base.d.ts.map +1 -0
  74. package/dev-dist/types/hj-gis-sdk/addons/node/ue-node.d.ts +82 -0
  75. package/dev-dist/types/hj-gis-sdk/addons/node/ue-node.d.ts.map +1 -0
  76. package/dev-dist/types/hj-gis-sdk/addons/proxy.d.ts +83 -0
  77. package/dev-dist/types/hj-gis-sdk/addons/proxy.d.ts.map +1 -0
  78. package/dev-dist/types/hj-gis-sdk/addons/tools/base.d.ts +7 -0
  79. package/dev-dist/types/hj-gis-sdk/addons/tools/base.d.ts.map +1 -0
  80. package/dev-dist/types/hj-gis-sdk/addons/tools/building.d.ts +36 -0
  81. package/dev-dist/types/hj-gis-sdk/addons/tools/building.d.ts.map +1 -0
  82. package/dev-dist/types/hj-gis-sdk/addons/tools/daytime.d.ts +7 -0
  83. package/dev-dist/types/hj-gis-sdk/addons/tools/daytime.d.ts.map +1 -0
  84. package/dev-dist/types/hj-gis-sdk/addons/tools/fence.d.ts +61 -0
  85. package/dev-dist/types/hj-gis-sdk/addons/tools/fence.d.ts.map +1 -0
  86. package/dev-dist/types/hj-gis-sdk/addons/tools/ghost.d.ts +14 -0
  87. package/dev-dist/types/hj-gis-sdk/addons/tools/ghost.d.ts.map +1 -0
  88. package/dev-dist/types/hj-gis-sdk/addons/tools/heat-map.d.ts +65 -0
  89. package/dev-dist/types/hj-gis-sdk/addons/tools/heat-map.d.ts.map +1 -0
  90. package/dev-dist/types/hj-gis-sdk/addons/tools/index.d.ts +26 -0
  91. package/dev-dist/types/hj-gis-sdk/addons/tools/index.d.ts.map +1 -0
  92. package/dev-dist/types/hj-gis-sdk/addons/tools/match-view.d.ts +7 -0
  93. package/dev-dist/types/hj-gis-sdk/addons/tools/match-view.d.ts.map +1 -0
  94. package/dev-dist/types/hj-gis-sdk/addons/tools/measurement.d.ts +13 -0
  95. package/dev-dist/types/hj-gis-sdk/addons/tools/measurement.d.ts.map +1 -0
  96. package/dev-dist/types/hj-gis-sdk/addons/tools/pick-cast.d.ts +26 -0
  97. package/dev-dist/types/hj-gis-sdk/addons/tools/pick-cast.d.ts.map +1 -0
  98. package/dev-dist/types/hj-gis-sdk/addons/tools/scatter.d.ts +57 -0
  99. package/dev-dist/types/hj-gis-sdk/addons/tools/scatter.d.ts.map +1 -0
  100. package/dev-dist/types/hj-gis-sdk/addons/tools/weather.d.ts +31 -0
  101. package/dev-dist/types/hj-gis-sdk/addons/tools/weather.d.ts.map +1 -0
  102. package/dev-dist/types/hj-gis-sdk/addons/transform.d.ts +91 -0
  103. package/dev-dist/types/hj-gis-sdk/addons/transform.d.ts.map +1 -0
  104. package/dev-dist/types/hj-gis-sdk/addons/world.d.ts +76 -0
  105. package/dev-dist/types/hj-gis-sdk/addons/world.d.ts.map +1 -0
  106. package/dev-dist/types/hj-gis-sdk/core/ue-rpc.d.ts +54 -0
  107. package/dev-dist/types/hj-gis-sdk/core/ue-rpc.d.ts.map +1 -0
  108. package/dev-dist/types/hj-gis-sdk/index.d.ts +27 -0
  109. package/dev-dist/types/hj-gis-sdk/index.d.ts.map +1 -0
  110. package/dev-dist/types/hj-gis-sdk/utils.d.ts +16 -0
  111. package/dev-dist/types/hj-gis-sdk/utils.d.ts.map +1 -0
  112. package/dev-dist/types/src/animation.d.ts +2 -0
  113. package/dev-dist/types/src/animation.d.ts.map +1 -0
  114. package/dev-dist/types/src/building.d.ts +2 -0
  115. package/dev-dist/types/src/building.d.ts.map +1 -0
  116. package/dev-dist/types/src/common.d.ts +5 -0
  117. package/dev-dist/types/src/common.d.ts.map +1 -0
  118. package/dev-dist/types/src/fence.d.ts +2 -0
  119. package/dev-dist/types/src/fence.d.ts.map +1 -0
  120. package/dev-dist/types/src/ghost.d.ts +2 -0
  121. package/dev-dist/types/src/ghost.d.ts.map +1 -0
  122. package/dev-dist/types/src/heatmap.d.ts +2 -0
  123. package/dev-dist/types/src/heatmap.d.ts.map +1 -0
  124. package/dev-dist/types/src/index.d.ts +2 -0
  125. package/dev-dist/types/src/index.d.ts.map +1 -0
  126. package/dev-dist/types/src/keyframe.d.ts +2 -0
  127. package/dev-dist/types/src/keyframe.d.ts.map +1 -0
  128. package/dev-dist/types/src/measurement.d.ts +2 -0
  129. package/dev-dist/types/src/measurement.d.ts.map +1 -0
  130. package/dev-dist/types/src/scatter.d.ts +2 -0
  131. package/dev-dist/types/src/scatter.d.ts.map +1 -0
  132. package/dev-dist/types/src/weather.d.ts +2 -0
  133. package/dev-dist/types/src/weather.d.ts.map +1 -0
  134. package/dev-dist/weather.esm.js +68 -0
  135. package/dev-dist/weather.esm.js.map +1 -0
  136. package/dev-dist/weather.js +70 -0
  137. package/dev-dist/weather.js.map +1 -0
  138. package/dist/sdk.esm.js +19 -6
  139. package/dist/sdk.esm.js.map +1 -1
  140. package/dist/sdk.js +19 -6
  141. package/dist/sdk.js.map +1 -1
  142. package/dist/sdk.umd.js +1 -1
  143. package/dist/sdk.umd.js.map +1 -1
  144. package/dist/types/hj-gis-sdk/addons/tools/scatter.d.ts.map +1 -1
  145. package/dist/types/src/common.d.ts.map +1 -1
  146. package/hj-gis-sdk/addons/animation/animate-clip.ts +93 -0
  147. package/hj-gis-sdk/addons/animation/animation-action.ts +93 -0
  148. package/hj-gis-sdk/addons/animation/animation-mixer.ts +51 -0
  149. package/hj-gis-sdk/addons/animation/index.ts +17 -0
  150. package/hj-gis-sdk/addons/camera.ts +173 -0
  151. package/hj-gis-sdk/addons/clock.ts +85 -0
  152. package/hj-gis-sdk/addons/commander/context.ts +70 -0
  153. package/hj-gis-sdk/addons/commander/dispatcher.ts +68 -0
  154. package/hj-gis-sdk/addons/commander/excutor/base.ts +26 -0
  155. package/hj-gis-sdk/addons/loader/index.ts +7 -0
  156. package/hj-gis-sdk/addons/loader/loader.ts +3 -0
  157. package/hj-gis-sdk/addons/node/base.ts +131 -0
  158. package/hj-gis-sdk/addons/node/ue-node.ts +147 -0
  159. package/hj-gis-sdk/addons/proxy.ts +200 -0
  160. package/hj-gis-sdk/addons/tools/base.ts +11 -0
  161. package/hj-gis-sdk/addons/tools/building.ts +84 -0
  162. package/hj-gis-sdk/addons/tools/daytime.ts +14 -0
  163. package/hj-gis-sdk/addons/tools/fence.ts +105 -0
  164. package/hj-gis-sdk/addons/tools/ghost.ts +31 -0
  165. package/hj-gis-sdk/addons/tools/heat-map.ts +95 -0
  166. package/hj-gis-sdk/addons/tools/index.ts +25 -0
  167. package/hj-gis-sdk/addons/tools/match-view.ts +35 -0
  168. package/hj-gis-sdk/addons/tools/measurement.ts +25 -0
  169. package/hj-gis-sdk/addons/tools/pick-cast.ts +67 -0
  170. package/hj-gis-sdk/addons/tools/scatter.ts +230 -0
  171. package/hj-gis-sdk/addons/tools/weather.ts +40 -0
  172. package/hj-gis-sdk/addons/transform.ts +126 -0
  173. package/hj-gis-sdk/addons/world.ts +173 -0
  174. package/hj-gis-sdk/core/ue-rpc.ts +234 -0
  175. package/hj-gis-sdk/index.ts +26 -0
  176. package/hj-gis-sdk/utils.ts +52 -0
  177. package/index.html +48 -0
  178. package/package-lock.json +7368 -0
  179. package/package.json +17 -4
  180. package/rollup.config.dev.js +107 -0
  181. package/rollup.config.js +52 -0
  182. package/src/animation.ts +175 -0
  183. package/src/building.ts +114 -0
  184. package/src/common.ts +47 -0
  185. package/src/fence.ts +131 -0
  186. package/src/ghost.ts +70 -0
  187. package/src/heatmap.ts +125 -0
  188. package/src/index.ts +350 -0
  189. package/src/keyframe.ts +113 -0
  190. package/src/measurement.ts +80 -0
  191. package/src/scatter.ts +105 -0
  192. package/src/weather.ts +86 -0
  193. package/tsconfig.json +30 -0
  194. package/yarn.lock +3108 -0
@@ -0,0 +1,289 @@
1
+
2
+ (function(l, r) { if (!l || l.getElementById('livereloadscript')) return; r = l.createElement('script'); r.async = 1; r.src = '//' + (self.location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1'; r.id = 'livereloadscript'; l.getElementsByTagName('head')[0].appendChild(r) })(self.document);
3
+ import { G as GUI, i as initializeApp } from './common.esm.js';
4
+ import { L as Logger, c as LogLevel } from './index.esm2.js';
5
+
6
+ // 测试重新构建 - 第三次修改
7
+ Logger.InitLogging(LogLevel.Info, false);
8
+ const AppElement = document.querySelector('#ue');
9
+ let world = undefined;
10
+ let camera = undefined;
11
+ let blueprint = undefined;
12
+ let staticmesh = undefined;
13
+ let map = undefined;
14
+ /**
15
+ * 初始化应用
16
+ */
17
+ async function _initializeApp() {
18
+ // const url = `ws://120.27.198.158:9001/player`
19
+ const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`;
20
+ let result = await initializeApp(url, AppElement);
21
+ world = result.world;
22
+ camera = result.camera;
23
+ }
24
+ // 创建GUI实例
25
+ const gui = new GUI();
26
+ // 创建测试数据用于演示GUI控制器
27
+ const cameraParams = {
28
+ position: { x: 0, y: 0, z: 0 },
29
+ rotation: { pitch: 0, yaw: 0, roll: 0 }
30
+ };
31
+ const meshParams = {
32
+ position: { x: 0, y: 0, z: 0 },
33
+ rotation: { pitch: 0, yaw: 0, roll: 0 },
34
+ scale: { x: 1, y: 1, z: 1 }
35
+ };
36
+ // 创建选择配置
37
+ const selectConfigs = {
38
+ // 地图选择
39
+ selectedMap: 'plgz',
40
+ // 蓝图对象选择
41
+ selectedBlueprint: '/Game/levels/smith/SHQPXJ_Blueprint',
42
+ // 静态网格体选择
43
+ selectedStaticMesh: '/Game/Mesh/test/63'
44
+ };
45
+ // 添加地图选择下拉菜单
46
+ const mapSelectController = gui
47
+ .add(selectConfigs, 'selectedMap', ['plgz', 'zjj'])
48
+ .name('1. 选择地图');
49
+ // 添加加载地图按钮
50
+ gui
51
+ .add({
52
+ loadMap: async () => {
53
+ map = await world.loadLevelByName(selectConfigs.selectedMap);
54
+ camera.transform.rotation.pitch = -12.259792797845645;
55
+ camera.transform.rotation.yaw = 126.9423080594274;
56
+ camera.transform.rotation.roll = 0.00003001662846458654;
57
+ camera.transform.position.set(-234809.24784008358, -74593.71088085348, 13755.085257765979);
58
+ //同步调整 UI 相机参数
59
+ cameraParams.position.x = -234809.24784008358;
60
+ cameraParams.position.y = -74593.71088085348;
61
+ cameraParams.position.z = 13755.085257765979;
62
+ cameraParams.rotation.pitch = -12.259792797845645;
63
+ cameraParams.rotation.yaw = 126.9423080594274;
64
+ cameraParams.rotation.roll = 0.00003001662846458654;
65
+ // 强制更新相机参数控制器显示
66
+ cameraPositionXController.updateDisplay();
67
+ cameraPositionYController.updateDisplay();
68
+ cameraPositionZController.updateDisplay();
69
+ cameraRotationPitchController.updateDisplay();
70
+ cameraRotationYawController.updateDisplay();
71
+ cameraRotationRollController.updateDisplay();
72
+ }
73
+ }, 'loadMap')
74
+ .name('1.1 加载地图');
75
+ // 添加蓝图对象选择下拉菜单
76
+ const blueprintSelectController = gui
77
+ .add(selectConfigs, 'selectedBlueprint', [
78
+ '/Game/levels/smith/SHQPXJ_Blueprint'
79
+ ])
80
+ .name('2. 选择蓝图');
81
+ // 添加加载蓝图按钮
82
+ gui
83
+ .add({
84
+ loadBlueprint: async () => {
85
+ blueprint = await world.spawnLocalBlueprintActor({
86
+ assetPath: selectConfigs.selectedBlueprint
87
+ });
88
+ }
89
+ }, 'loadBlueprint')
90
+ .name('2.1 加载蓝图');
91
+ // 添加静态网格体选择下拉菜单
92
+ const staticMeshSelectController = gui
93
+ .add(selectConfigs, 'selectedStaticMesh', [
94
+ '/Game/Mesh/test/63',
95
+ '/Game/Mesh/test3/49'
96
+ ])
97
+ .name('3. 选择静态网格');
98
+ // 添加加载静态网格按钮
99
+ gui
100
+ .add({
101
+ loadStaticMesh: async () => {
102
+ staticmesh = await world.spawnStaticMeshActor({
103
+ assetPath: selectConfigs.selectedStaticMesh
104
+ });
105
+ }
106
+ }, 'loadStaticMesh')
107
+ .name('3.1 加载静态网格');
108
+ // 添加调整相机参数的控制器
109
+ const cameraFolder = gui.addFolder('4. 相机参数');
110
+ let positionFolder = cameraFolder.addFolder('Position');
111
+ const cameraPositionXController = positionFolder
112
+ .add(cameraParams.position, 'x', -1000000, 1000000)
113
+ .name('X')
114
+ .onChange(() => {
115
+ camera.transform.position.x = cameraParams.position.x;
116
+ });
117
+ const cameraPositionYController = positionFolder
118
+ .add(cameraParams.position, 'y', -1000000, 1000000)
119
+ .name('Y')
120
+ .onChange(() => {
121
+ camera.transform.position.y = cameraParams.position.y;
122
+ });
123
+ const cameraPositionZController = positionFolder
124
+ .add(cameraParams.position, 'z', -1000000, 1000000)
125
+ .name('Z')
126
+ .onChange(() => {
127
+ camera.transform.position.z = cameraParams.position.z;
128
+ });
129
+ let rotationFolder = cameraFolder.addFolder('Rotation');
130
+ const cameraRotationPitchController = rotationFolder
131
+ .add(cameraParams.rotation, 'pitch', -180, 180)
132
+ .name('Pitch')
133
+ .onChange(() => {
134
+ camera.transform.rotation.pitch = cameraParams.rotation.pitch;
135
+ });
136
+ const cameraRotationYawController = rotationFolder
137
+ .add(cameraParams.rotation, 'yaw', -180, 180)
138
+ .name('Yaw')
139
+ .onChange(() => {
140
+ camera.transform.rotation.yaw = cameraParams.rotation.yaw;
141
+ });
142
+ const cameraRotationRollController = rotationFolder
143
+ .add(cameraParams.rotation, 'roll', -180, 180)
144
+ .name('Roll')
145
+ .onChange(() => {
146
+ camera.transform.rotation.roll = cameraParams.rotation.roll;
147
+ });
148
+ cameraFolder.open();
149
+ // 添加调整静态网格参数的控制器
150
+ const meshFolder = gui.addFolder('5. 静态网格参数');
151
+ var folder = meshFolder.addFolder('Position');
152
+ const meshPositionXController = folder
153
+ .add(meshParams.position, 'x', -1000000, 1000000)
154
+ .name('X')
155
+ .onChange(() => {
156
+ staticmesh.transform.position.x = meshParams.position.x;
157
+ });
158
+ const meshPositionYController = folder
159
+ .add(meshParams.position, 'y', -1000000, 1000000)
160
+ .name('Y')
161
+ .onChange(() => {
162
+ staticmesh.transform.position.y = meshParams.position.y;
163
+ });
164
+ const meshPositionZController = folder
165
+ .add(meshParams.position, 'z', -1000000, 1000000)
166
+ .name('Z')
167
+ .onChange(() => {
168
+ staticmesh.transform.position.z = meshParams.position.z;
169
+ });
170
+ var folder = meshFolder.addFolder('Rotation');
171
+ const meshRotationPitchController = folder
172
+ .add(meshParams.rotation, 'pitch', -180, 180)
173
+ .name('Pitch')
174
+ .onChange(() => {
175
+ staticmesh.transform.rotation.pitch = meshParams.rotation.pitch;
176
+ });
177
+ const meshRotationYawController = folder
178
+ .add(meshParams.rotation, 'yaw', -180, 180)
179
+ .name('Yaw')
180
+ .onChange(() => {
181
+ staticmesh.transform.rotation.yaw = meshParams.rotation.yaw;
182
+ });
183
+ const meshRotationRollController = folder
184
+ .add(meshParams.rotation, 'roll', -180, 180)
185
+ .name('Roll')
186
+ .onChange(() => {
187
+ staticmesh.transform.rotation.roll = meshParams.rotation.roll;
188
+ });
189
+ var folder = meshFolder.addFolder('Scale');
190
+ const meshScaleXController = folder
191
+ .add(meshParams.scale, 'x', 0.1, 5)
192
+ .name('X')
193
+ .onChange(() => {
194
+ staticmesh.transform.scale.x = meshParams.scale.x;
195
+ });
196
+ const meshScaleYController = folder
197
+ .add(meshParams.scale, 'y', 0.1, 5)
198
+ .name('Y')
199
+ .onChange(() => {
200
+ staticmesh.transform.scale.y = meshParams.scale.y;
201
+ });
202
+ const meshScaleZController = folder
203
+ .add(meshParams.scale, 'z', 0.1, 5)
204
+ .name('Z')
205
+ .onChange(() => {
206
+ staticmesh.transform.scale.z = meshParams.scale.z;
207
+ });
208
+ meshFolder.open();
209
+ // 添加销毁地图按钮
210
+ gui
211
+ .add({
212
+ destroyMap: () => {
213
+ map.remove();
214
+ }
215
+ }, 'destroyMap')
216
+ .name('6. 销毁地图');
217
+ // 添加销毁蓝图按钮
218
+ gui
219
+ .add({
220
+ destroyBlueprint: () => {
221
+ blueprint.remove();
222
+ }
223
+ }, 'destroyBlueprint')
224
+ .name('7. 销毁蓝图');
225
+ // 添加销毁静态网格按钮
226
+ gui
227
+ .add({
228
+ destroyStaticMesh: () => {
229
+ staticmesh.remove();
230
+ }
231
+ }, 'destroyStaticMesh')
232
+ .name('8. 销毁静态网格');
233
+ let hoverHandle;
234
+ gui
235
+ .add({
236
+ hover: () => {
237
+ console.log(`pick`);
238
+ hoverHandle = world.tools.pickCast.hover((data) => {
239
+ console.log(`hover data`, data);
240
+ });
241
+ }
242
+ }, 'hover')
243
+ .name('屏幕拾取');
244
+ gui
245
+ .add({
246
+ pickEnd: () => {
247
+ if (hoverHandle) {
248
+ hoverHandle();
249
+ }
250
+ }
251
+ }, 'pickEnd')
252
+ .name('结束屏幕拾取');
253
+ // 添加强制刷新GUI按钮
254
+ gui
255
+ .add({
256
+ refreshGUI: () => {
257
+ // 强制更新所有控制器显示
258
+ mapSelectController.updateDisplay();
259
+ blueprintSelectController.updateDisplay();
260
+ staticMeshSelectController.updateDisplay();
261
+ cameraPositionXController.updateDisplay();
262
+ cameraPositionYController.updateDisplay();
263
+ cameraPositionZController.updateDisplay();
264
+ cameraRotationPitchController.updateDisplay();
265
+ cameraRotationYawController.updateDisplay();
266
+ cameraRotationRollController.updateDisplay();
267
+ meshPositionXController.updateDisplay();
268
+ meshPositionYController.updateDisplay();
269
+ meshPositionZController.updateDisplay();
270
+ meshRotationPitchController.updateDisplay();
271
+ meshRotationYawController.updateDisplay();
272
+ meshRotationRollController.updateDisplay();
273
+ meshScaleXController.updateDisplay();
274
+ meshScaleYController.updateDisplay();
275
+ meshScaleZController.updateDisplay();
276
+ console.log('GUI已强制刷新');
277
+ }
278
+ }, 'refreshGUI')
279
+ .name('9. 刷新GUI');
280
+ // 判断 window 是否初始化完成
281
+ if (document.readyState === 'loading') {
282
+ // 文档正在加载,等待DOMContentLoaded事件
283
+ document.addEventListener('DOMContentLoaded', _initializeApp);
284
+ }
285
+ else {
286
+ // 文档已经加载完成,直接初始化应用
287
+ _initializeApp();
288
+ }
289
+ //# sourceMappingURL=src.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"src.esm.js","sources":["../src/index.ts"],"sourcesContent":["// 测试重新构建 - 第三次修改\nimport {\n Config,\n PixelStreaming,\n Logger,\n LogLevel,\n Flags\n} from '@epicgames-ps/lib-pixelstreamingfrontend-ue5.5'\nimport { Addons } from 'hj-gis-sdk'\nimport GUI from 'lil-gui'\nconst { World, PerspectiveCamera, UERPCNode } = Addons\nimport { initializeApp } from './common'\nLogger.InitLogging(LogLevel.Info, false)\nconst AppElement = document.querySelector('#ue')! as HTMLElement\n\nlet world: InstanceType<typeof World> | undefined = undefined\nlet camera: InstanceType<typeof PerspectiveCamera> | undefined = undefined\nlet blueprint: InstanceType<typeof UERPCNode> | undefined = undefined\nlet staticmesh: InstanceType<typeof UERPCNode> | undefined = undefined\nlet map: InstanceType<typeof UERPCNode> | undefined = undefined\n\n/**\n * 初始化应用\n */\nasync function _initializeApp() {\n // const url = `ws://120.27.198.158:9001/player`\n const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`\n let result = await initializeApp(url, AppElement)\n world = result.world\n camera = result.camera\n}\n\n// 创建GUI实例\nconst gui = new GUI()\n\n// 创建测试数据用于演示GUI控制器\nconst cameraParams = {\n position: { x: 0, y: 0, z: 0 },\n rotation: { pitch: 0, yaw: 0, roll: 0 }\n}\n\nconst meshParams = {\n position: { x: 0, y: 0, z: 0 },\n rotation: { pitch: 0, yaw: 0, roll: 0 },\n scale: { x: 1, y: 1, z: 1 }\n}\n\n// 创建选择配置\nconst selectConfigs = {\n // 地图选择\n selectedMap: 'plgz',\n // 蓝图对象选择\n selectedBlueprint: '/Game/levels/smith/SHQPXJ_Blueprint',\n // 静态网格体选择\n selectedStaticMesh: '/Game/Mesh/test/63'\n}\n\n// 添加地图选择下拉菜单\nconst mapSelectController = gui\n .add(selectConfigs, 'selectedMap', ['plgz', 'zjj'])\n .name('1. 选择地图')\n\n// 添加加载地图按钮\ngui\n .add(\n {\n loadMap: async () => {\n map = await world!.loadLevelByName(selectConfigs.selectedMap)\n\n camera!.transform.rotation.pitch = -12.259792797845645\n camera!.transform.rotation.yaw = 126.9423080594274\n camera!.transform.rotation.roll = 0.00003001662846458654\n camera!.transform.position.set(\n -234809.24784008358,\n -74593.71088085348,\n 13755.085257765979\n )\n\n //同步调整 UI 相机参数\n cameraParams.position.x = -234809.24784008358\n cameraParams.position.y = -74593.71088085348\n cameraParams.position.z = 13755.085257765979\n cameraParams.rotation.pitch = -12.259792797845645\n cameraParams.rotation.yaw = 126.9423080594274\n cameraParams.rotation.roll = 0.00003001662846458654\n\n // 强制更新相机参数控制器显示\n cameraPositionXController.updateDisplay()\n cameraPositionYController.updateDisplay()\n cameraPositionZController.updateDisplay()\n cameraRotationPitchController.updateDisplay()\n cameraRotationYawController.updateDisplay()\n cameraRotationRollController.updateDisplay()\n }\n },\n 'loadMap'\n )\n .name('1.1 加载地图')\n\n// 添加蓝图对象选择下拉菜单\nconst blueprintSelectController = gui\n .add(selectConfigs, 'selectedBlueprint', [\n '/Game/levels/smith/SHQPXJ_Blueprint'\n ])\n .name('2. 选择蓝图')\n\n// 添加加载蓝图按钮\ngui\n .add(\n {\n loadBlueprint: async () => {\n blueprint = await world!.spawnLocalBlueprintActor({\n assetPath: selectConfigs.selectedBlueprint\n })\n }\n },\n 'loadBlueprint'\n )\n .name('2.1 加载蓝图')\n\n// 添加静态网格体选择下拉菜单\nconst staticMeshSelectController = gui\n .add(selectConfigs, 'selectedStaticMesh', [\n '/Game/Mesh/test/63',\n '/Game/Mesh/test3/49'\n ])\n .name('3. 选择静态网格')\n\n// 添加加载静态网格按钮\ngui\n .add(\n {\n loadStaticMesh: async () => {\n staticmesh = await world!.spawnStaticMeshActor({\n assetPath: selectConfigs.selectedStaticMesh\n })\n }\n },\n 'loadStaticMesh'\n )\n .name('3.1 加载静态网格')\n\n// 添加调整相机参数的控制器\nconst cameraFolder = gui.addFolder('4. 相机参数')\nlet positionFolder = cameraFolder.addFolder('Position')\nconst cameraPositionXController = positionFolder\n .add(cameraParams.position, 'x', -1000000, 1000000)\n .name('X')\n .onChange(() => {\n camera!.transform.position.x = cameraParams.position.x\n })\nconst cameraPositionYController = positionFolder\n .add(cameraParams.position, 'y', -1000000, 1000000)\n .name('Y')\n .onChange(() => {\n camera!.transform.position.y = cameraParams.position.y\n })\nconst cameraPositionZController = positionFolder\n .add(cameraParams.position, 'z', -1000000, 1000000)\n .name('Z')\n .onChange(() => {\n camera!.transform.position.z = cameraParams.position.z\n })\n\nlet rotationFolder = cameraFolder.addFolder('Rotation')\nconst cameraRotationPitchController = rotationFolder\n .add(cameraParams.rotation, 'pitch', -180, 180)\n .name('Pitch')\n .onChange(() => {\n camera!.transform.rotation.pitch = cameraParams.rotation.pitch\n })\nconst cameraRotationYawController = rotationFolder\n .add(cameraParams.rotation, 'yaw', -180, 180)\n .name('Yaw')\n .onChange(() => {\n camera!.transform.rotation.yaw = cameraParams.rotation.yaw\n })\nconst cameraRotationRollController = rotationFolder\n .add(cameraParams.rotation, 'roll', -180, 180)\n .name('Roll')\n .onChange(() => {\n camera!.transform.rotation.roll = cameraParams.rotation.roll\n })\ncameraFolder.open()\n\n// 添加调整静态网格参数的控制器\nconst meshFolder = gui.addFolder('5. 静态网格参数')\nvar folder = meshFolder.addFolder('Position')\nconst meshPositionXController = folder\n .add(meshParams.position, 'x', -1000000, 1000000)\n .name('X')\n .onChange(() => {\n staticmesh!.transform.position.x = meshParams.position.x\n })\nconst meshPositionYController = folder\n .add(meshParams.position, 'y', -1000000, 1000000)\n .name('Y')\n .onChange(() => {\n staticmesh!.transform.position.y = meshParams.position.y\n })\nconst meshPositionZController = folder\n .add(meshParams.position, 'z', -1000000, 1000000)\n .name('Z')\n .onChange(() => {\n staticmesh!.transform.position.z = meshParams.position.z\n })\nvar folder = meshFolder.addFolder('Rotation')\nconst meshRotationPitchController = folder\n .add(meshParams.rotation, 'pitch', -180, 180)\n .name('Pitch')\n .onChange(() => {\n staticmesh!.transform.rotation.pitch = meshParams.rotation.pitch\n })\nconst meshRotationYawController = folder\n .add(meshParams.rotation, 'yaw', -180, 180)\n .name('Yaw')\n .onChange(() => {\n staticmesh!.transform.rotation.yaw = meshParams.rotation.yaw\n })\nconst meshRotationRollController = folder\n .add(meshParams.rotation, 'roll', -180, 180)\n .name('Roll')\n .onChange(() => {\n staticmesh!.transform.rotation.roll = meshParams.rotation.roll\n })\n\nvar folder = meshFolder.addFolder('Scale')\nconst meshScaleXController = folder\n .add(meshParams.scale, 'x', 0.1, 5)\n .name('X')\n .onChange(() => {\n staticmesh!.transform.scale.x = meshParams.scale.x\n })\nconst meshScaleYController = folder\n .add(meshParams.scale, 'y', 0.1, 5)\n .name('Y')\n .onChange(() => {\n staticmesh!.transform.scale.y = meshParams.scale.y\n })\nconst meshScaleZController = folder\n .add(meshParams.scale, 'z', 0.1, 5)\n .name('Z')\n .onChange(() => {\n staticmesh!.transform.scale.z = meshParams.scale.z\n })\nmeshFolder.open()\n\n// 添加销毁地图按钮\ngui\n .add(\n {\n destroyMap: () => {\n map!.remove()\n }\n },\n 'destroyMap'\n )\n .name('6. 销毁地图')\n\n// 添加销毁蓝图按钮\ngui\n .add(\n {\n destroyBlueprint: () => {\n blueprint!.remove()\n }\n },\n 'destroyBlueprint'\n )\n .name('7. 销毁蓝图')\n\n// 添加销毁静态网格按钮\ngui\n .add(\n {\n destroyStaticMesh: () => {\n staticmesh!.remove()\n }\n },\n 'destroyStaticMesh'\n )\n .name('8. 销毁静态网格')\n\nlet hoverHandle: any\ngui\n .add(\n {\n hover: () => {\n console.log(`pick`)\n hoverHandle = world!.tools.pickCast.hover((data) => {\n console.log(`hover data`, data)\n })\n }\n },\n 'hover'\n )\n .name('屏幕拾取')\n\ngui\n .add(\n {\n pickEnd: () => {\n if (hoverHandle) {\n hoverHandle()\n }\n }\n },\n 'pickEnd'\n )\n .name('结束屏幕拾取')\n\n// 添加强制刷新GUI按钮\ngui\n .add(\n {\n refreshGUI: () => {\n // 强制更新所有控制器显示\n mapSelectController.updateDisplay()\n blueprintSelectController.updateDisplay()\n staticMeshSelectController.updateDisplay()\n cameraPositionXController.updateDisplay()\n cameraPositionYController.updateDisplay()\n cameraPositionZController.updateDisplay()\n cameraRotationPitchController.updateDisplay()\n cameraRotationYawController.updateDisplay()\n cameraRotationRollController.updateDisplay()\n meshPositionXController.updateDisplay()\n meshPositionYController.updateDisplay()\n meshPositionZController.updateDisplay()\n meshRotationPitchController.updateDisplay()\n meshRotationYawController.updateDisplay()\n meshRotationRollController.updateDisplay()\n meshScaleXController.updateDisplay()\n meshScaleYController.updateDisplay()\n meshScaleZController.updateDisplay()\n console.log('GUI已强制刷新')\n }\n },\n 'refreshGUI'\n )\n .name('9. 刷新GUI')\n\n// 判断 window 是否初始化完成\nif (document.readyState === 'loading') {\n // 文档正在加载,等待DOMContentLoaded事件\n document.addEventListener('DOMContentLoaded', _initializeApp)\n} else {\n // 文档已经加载完成,直接初始化应用\n _initializeApp()\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,291 @@
1
+
2
+ (function(l, r) { if (!l || l.getElementById('livereloadscript')) return; r = l.createElement('script'); r.async = 1; r.src = '//' + (self.location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1'; r.id = 'livereloadscript'; l.getElementsByTagName('head')[0].appendChild(r) })(self.document);
3
+ 'use strict';
4
+
5
+ var common = require('./common.js');
6
+ var index = require('./index2.js');
7
+
8
+ // 测试重新构建 - 第三次修改
9
+ index.Logger.InitLogging(index.LogLevel.Info, false);
10
+ const AppElement = document.querySelector('#ue');
11
+ let world = undefined;
12
+ let camera = undefined;
13
+ let blueprint = undefined;
14
+ let staticmesh = undefined;
15
+ let map = undefined;
16
+ /**
17
+ * 初始化应用
18
+ */
19
+ async function _initializeApp() {
20
+ // const url = `ws://120.27.198.158:9001/player`
21
+ const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`;
22
+ let result = await common.initializeApp(url, AppElement);
23
+ world = result.world;
24
+ camera = result.camera;
25
+ }
26
+ // 创建GUI实例
27
+ const gui = new common.GUI();
28
+ // 创建测试数据用于演示GUI控制器
29
+ const cameraParams = {
30
+ position: { x: 0, y: 0, z: 0 },
31
+ rotation: { pitch: 0, yaw: 0, roll: 0 }
32
+ };
33
+ const meshParams = {
34
+ position: { x: 0, y: 0, z: 0 },
35
+ rotation: { pitch: 0, yaw: 0, roll: 0 },
36
+ scale: { x: 1, y: 1, z: 1 }
37
+ };
38
+ // 创建选择配置
39
+ const selectConfigs = {
40
+ // 地图选择
41
+ selectedMap: 'plgz',
42
+ // 蓝图对象选择
43
+ selectedBlueprint: '/Game/levels/smith/SHQPXJ_Blueprint',
44
+ // 静态网格体选择
45
+ selectedStaticMesh: '/Game/Mesh/test/63'
46
+ };
47
+ // 添加地图选择下拉菜单
48
+ const mapSelectController = gui
49
+ .add(selectConfigs, 'selectedMap', ['plgz', 'zjj'])
50
+ .name('1. 选择地图');
51
+ // 添加加载地图按钮
52
+ gui
53
+ .add({
54
+ loadMap: async () => {
55
+ map = await world.loadLevelByName(selectConfigs.selectedMap);
56
+ camera.transform.rotation.pitch = -12.259792797845645;
57
+ camera.transform.rotation.yaw = 126.9423080594274;
58
+ camera.transform.rotation.roll = 0.00003001662846458654;
59
+ camera.transform.position.set(-234809.24784008358, -74593.71088085348, 13755.085257765979);
60
+ //同步调整 UI 相机参数
61
+ cameraParams.position.x = -234809.24784008358;
62
+ cameraParams.position.y = -74593.71088085348;
63
+ cameraParams.position.z = 13755.085257765979;
64
+ cameraParams.rotation.pitch = -12.259792797845645;
65
+ cameraParams.rotation.yaw = 126.9423080594274;
66
+ cameraParams.rotation.roll = 0.00003001662846458654;
67
+ // 强制更新相机参数控制器显示
68
+ cameraPositionXController.updateDisplay();
69
+ cameraPositionYController.updateDisplay();
70
+ cameraPositionZController.updateDisplay();
71
+ cameraRotationPitchController.updateDisplay();
72
+ cameraRotationYawController.updateDisplay();
73
+ cameraRotationRollController.updateDisplay();
74
+ }
75
+ }, 'loadMap')
76
+ .name('1.1 加载地图');
77
+ // 添加蓝图对象选择下拉菜单
78
+ const blueprintSelectController = gui
79
+ .add(selectConfigs, 'selectedBlueprint', [
80
+ '/Game/levels/smith/SHQPXJ_Blueprint'
81
+ ])
82
+ .name('2. 选择蓝图');
83
+ // 添加加载蓝图按钮
84
+ gui
85
+ .add({
86
+ loadBlueprint: async () => {
87
+ blueprint = await world.spawnLocalBlueprintActor({
88
+ assetPath: selectConfigs.selectedBlueprint
89
+ });
90
+ }
91
+ }, 'loadBlueprint')
92
+ .name('2.1 加载蓝图');
93
+ // 添加静态网格体选择下拉菜单
94
+ const staticMeshSelectController = gui
95
+ .add(selectConfigs, 'selectedStaticMesh', [
96
+ '/Game/Mesh/test/63',
97
+ '/Game/Mesh/test3/49'
98
+ ])
99
+ .name('3. 选择静态网格');
100
+ // 添加加载静态网格按钮
101
+ gui
102
+ .add({
103
+ loadStaticMesh: async () => {
104
+ staticmesh = await world.spawnStaticMeshActor({
105
+ assetPath: selectConfigs.selectedStaticMesh
106
+ });
107
+ }
108
+ }, 'loadStaticMesh')
109
+ .name('3.1 加载静态网格');
110
+ // 添加调整相机参数的控制器
111
+ const cameraFolder = gui.addFolder('4. 相机参数');
112
+ let positionFolder = cameraFolder.addFolder('Position');
113
+ const cameraPositionXController = positionFolder
114
+ .add(cameraParams.position, 'x', -1000000, 1000000)
115
+ .name('X')
116
+ .onChange(() => {
117
+ camera.transform.position.x = cameraParams.position.x;
118
+ });
119
+ const cameraPositionYController = positionFolder
120
+ .add(cameraParams.position, 'y', -1000000, 1000000)
121
+ .name('Y')
122
+ .onChange(() => {
123
+ camera.transform.position.y = cameraParams.position.y;
124
+ });
125
+ const cameraPositionZController = positionFolder
126
+ .add(cameraParams.position, 'z', -1000000, 1000000)
127
+ .name('Z')
128
+ .onChange(() => {
129
+ camera.transform.position.z = cameraParams.position.z;
130
+ });
131
+ let rotationFolder = cameraFolder.addFolder('Rotation');
132
+ const cameraRotationPitchController = rotationFolder
133
+ .add(cameraParams.rotation, 'pitch', -180, 180)
134
+ .name('Pitch')
135
+ .onChange(() => {
136
+ camera.transform.rotation.pitch = cameraParams.rotation.pitch;
137
+ });
138
+ const cameraRotationYawController = rotationFolder
139
+ .add(cameraParams.rotation, 'yaw', -180, 180)
140
+ .name('Yaw')
141
+ .onChange(() => {
142
+ camera.transform.rotation.yaw = cameraParams.rotation.yaw;
143
+ });
144
+ const cameraRotationRollController = rotationFolder
145
+ .add(cameraParams.rotation, 'roll', -180, 180)
146
+ .name('Roll')
147
+ .onChange(() => {
148
+ camera.transform.rotation.roll = cameraParams.rotation.roll;
149
+ });
150
+ cameraFolder.open();
151
+ // 添加调整静态网格参数的控制器
152
+ const meshFolder = gui.addFolder('5. 静态网格参数');
153
+ var folder = meshFolder.addFolder('Position');
154
+ const meshPositionXController = folder
155
+ .add(meshParams.position, 'x', -1000000, 1000000)
156
+ .name('X')
157
+ .onChange(() => {
158
+ staticmesh.transform.position.x = meshParams.position.x;
159
+ });
160
+ const meshPositionYController = folder
161
+ .add(meshParams.position, 'y', -1000000, 1000000)
162
+ .name('Y')
163
+ .onChange(() => {
164
+ staticmesh.transform.position.y = meshParams.position.y;
165
+ });
166
+ const meshPositionZController = folder
167
+ .add(meshParams.position, 'z', -1000000, 1000000)
168
+ .name('Z')
169
+ .onChange(() => {
170
+ staticmesh.transform.position.z = meshParams.position.z;
171
+ });
172
+ var folder = meshFolder.addFolder('Rotation');
173
+ const meshRotationPitchController = folder
174
+ .add(meshParams.rotation, 'pitch', -180, 180)
175
+ .name('Pitch')
176
+ .onChange(() => {
177
+ staticmesh.transform.rotation.pitch = meshParams.rotation.pitch;
178
+ });
179
+ const meshRotationYawController = folder
180
+ .add(meshParams.rotation, 'yaw', -180, 180)
181
+ .name('Yaw')
182
+ .onChange(() => {
183
+ staticmesh.transform.rotation.yaw = meshParams.rotation.yaw;
184
+ });
185
+ const meshRotationRollController = folder
186
+ .add(meshParams.rotation, 'roll', -180, 180)
187
+ .name('Roll')
188
+ .onChange(() => {
189
+ staticmesh.transform.rotation.roll = meshParams.rotation.roll;
190
+ });
191
+ var folder = meshFolder.addFolder('Scale');
192
+ const meshScaleXController = folder
193
+ .add(meshParams.scale, 'x', 0.1, 5)
194
+ .name('X')
195
+ .onChange(() => {
196
+ staticmesh.transform.scale.x = meshParams.scale.x;
197
+ });
198
+ const meshScaleYController = folder
199
+ .add(meshParams.scale, 'y', 0.1, 5)
200
+ .name('Y')
201
+ .onChange(() => {
202
+ staticmesh.transform.scale.y = meshParams.scale.y;
203
+ });
204
+ const meshScaleZController = folder
205
+ .add(meshParams.scale, 'z', 0.1, 5)
206
+ .name('Z')
207
+ .onChange(() => {
208
+ staticmesh.transform.scale.z = meshParams.scale.z;
209
+ });
210
+ meshFolder.open();
211
+ // 添加销毁地图按钮
212
+ gui
213
+ .add({
214
+ destroyMap: () => {
215
+ map.remove();
216
+ }
217
+ }, 'destroyMap')
218
+ .name('6. 销毁地图');
219
+ // 添加销毁蓝图按钮
220
+ gui
221
+ .add({
222
+ destroyBlueprint: () => {
223
+ blueprint.remove();
224
+ }
225
+ }, 'destroyBlueprint')
226
+ .name('7. 销毁蓝图');
227
+ // 添加销毁静态网格按钮
228
+ gui
229
+ .add({
230
+ destroyStaticMesh: () => {
231
+ staticmesh.remove();
232
+ }
233
+ }, 'destroyStaticMesh')
234
+ .name('8. 销毁静态网格');
235
+ let hoverHandle;
236
+ gui
237
+ .add({
238
+ hover: () => {
239
+ console.log(`pick`);
240
+ hoverHandle = world.tools.pickCast.hover((data) => {
241
+ console.log(`hover data`, data);
242
+ });
243
+ }
244
+ }, 'hover')
245
+ .name('屏幕拾取');
246
+ gui
247
+ .add({
248
+ pickEnd: () => {
249
+ if (hoverHandle) {
250
+ hoverHandle();
251
+ }
252
+ }
253
+ }, 'pickEnd')
254
+ .name('结束屏幕拾取');
255
+ // 添加强制刷新GUI按钮
256
+ gui
257
+ .add({
258
+ refreshGUI: () => {
259
+ // 强制更新所有控制器显示
260
+ mapSelectController.updateDisplay();
261
+ blueprintSelectController.updateDisplay();
262
+ staticMeshSelectController.updateDisplay();
263
+ cameraPositionXController.updateDisplay();
264
+ cameraPositionYController.updateDisplay();
265
+ cameraPositionZController.updateDisplay();
266
+ cameraRotationPitchController.updateDisplay();
267
+ cameraRotationYawController.updateDisplay();
268
+ cameraRotationRollController.updateDisplay();
269
+ meshPositionXController.updateDisplay();
270
+ meshPositionYController.updateDisplay();
271
+ meshPositionZController.updateDisplay();
272
+ meshRotationPitchController.updateDisplay();
273
+ meshRotationYawController.updateDisplay();
274
+ meshRotationRollController.updateDisplay();
275
+ meshScaleXController.updateDisplay();
276
+ meshScaleYController.updateDisplay();
277
+ meshScaleZController.updateDisplay();
278
+ console.log('GUI已强制刷新');
279
+ }
280
+ }, 'refreshGUI')
281
+ .name('9. 刷新GUI');
282
+ // 判断 window 是否初始化完成
283
+ if (document.readyState === 'loading') {
284
+ // 文档正在加载,等待DOMContentLoaded事件
285
+ document.addEventListener('DOMContentLoaded', _initializeApp);
286
+ }
287
+ else {
288
+ // 文档已经加载完成,直接初始化应用
289
+ _initializeApp();
290
+ }
291
+ //# sourceMappingURL=src.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"src.js","sources":["../src/index.ts"],"sourcesContent":["// 测试重新构建 - 第三次修改\nimport {\n Config,\n PixelStreaming,\n Logger,\n LogLevel,\n Flags\n} from '@epicgames-ps/lib-pixelstreamingfrontend-ue5.5'\nimport { Addons } from 'hj-gis-sdk'\nimport GUI from 'lil-gui'\nconst { World, PerspectiveCamera, UERPCNode } = Addons\nimport { initializeApp } from './common'\nLogger.InitLogging(LogLevel.Info, false)\nconst AppElement = document.querySelector('#ue')! as HTMLElement\n\nlet world: InstanceType<typeof World> | undefined = undefined\nlet camera: InstanceType<typeof PerspectiveCamera> | undefined = undefined\nlet blueprint: InstanceType<typeof UERPCNode> | undefined = undefined\nlet staticmesh: InstanceType<typeof UERPCNode> | undefined = undefined\nlet map: InstanceType<typeof UERPCNode> | undefined = undefined\n\n/**\n * 初始化应用\n */\nasync function _initializeApp() {\n // const url = `ws://120.27.198.158:9001/player`\n const url = `wss://kdyjs-proxy.metamaker.cn/proxy_gis_sdk`\n let result = await initializeApp(url, AppElement)\n world = result.world\n camera = result.camera\n}\n\n// 创建GUI实例\nconst gui = new GUI()\n\n// 创建测试数据用于演示GUI控制器\nconst cameraParams = {\n position: { x: 0, y: 0, z: 0 },\n rotation: { pitch: 0, yaw: 0, roll: 0 }\n}\n\nconst meshParams = {\n position: { x: 0, y: 0, z: 0 },\n rotation: { pitch: 0, yaw: 0, roll: 0 },\n scale: { x: 1, y: 1, z: 1 }\n}\n\n// 创建选择配置\nconst selectConfigs = {\n // 地图选择\n selectedMap: 'plgz',\n // 蓝图对象选择\n selectedBlueprint: '/Game/levels/smith/SHQPXJ_Blueprint',\n // 静态网格体选择\n selectedStaticMesh: '/Game/Mesh/test/63'\n}\n\n// 添加地图选择下拉菜单\nconst mapSelectController = gui\n .add(selectConfigs, 'selectedMap', ['plgz', 'zjj'])\n .name('1. 选择地图')\n\n// 添加加载地图按钮\ngui\n .add(\n {\n loadMap: async () => {\n map = await world!.loadLevelByName(selectConfigs.selectedMap)\n\n camera!.transform.rotation.pitch = -12.259792797845645\n camera!.transform.rotation.yaw = 126.9423080594274\n camera!.transform.rotation.roll = 0.00003001662846458654\n camera!.transform.position.set(\n -234809.24784008358,\n -74593.71088085348,\n 13755.085257765979\n )\n\n //同步调整 UI 相机参数\n cameraParams.position.x = -234809.24784008358\n cameraParams.position.y = -74593.71088085348\n cameraParams.position.z = 13755.085257765979\n cameraParams.rotation.pitch = -12.259792797845645\n cameraParams.rotation.yaw = 126.9423080594274\n cameraParams.rotation.roll = 0.00003001662846458654\n\n // 强制更新相机参数控制器显示\n cameraPositionXController.updateDisplay()\n cameraPositionYController.updateDisplay()\n cameraPositionZController.updateDisplay()\n cameraRotationPitchController.updateDisplay()\n cameraRotationYawController.updateDisplay()\n cameraRotationRollController.updateDisplay()\n }\n },\n 'loadMap'\n )\n .name('1.1 加载地图')\n\n// 添加蓝图对象选择下拉菜单\nconst blueprintSelectController = gui\n .add(selectConfigs, 'selectedBlueprint', [\n '/Game/levels/smith/SHQPXJ_Blueprint'\n ])\n .name('2. 选择蓝图')\n\n// 添加加载蓝图按钮\ngui\n .add(\n {\n loadBlueprint: async () => {\n blueprint = await world!.spawnLocalBlueprintActor({\n assetPath: selectConfigs.selectedBlueprint\n })\n }\n },\n 'loadBlueprint'\n )\n .name('2.1 加载蓝图')\n\n// 添加静态网格体选择下拉菜单\nconst staticMeshSelectController = gui\n .add(selectConfigs, 'selectedStaticMesh', [\n '/Game/Mesh/test/63',\n '/Game/Mesh/test3/49'\n ])\n .name('3. 选择静态网格')\n\n// 添加加载静态网格按钮\ngui\n .add(\n {\n loadStaticMesh: async () => {\n staticmesh = await world!.spawnStaticMeshActor({\n assetPath: selectConfigs.selectedStaticMesh\n })\n }\n },\n 'loadStaticMesh'\n )\n .name('3.1 加载静态网格')\n\n// 添加调整相机参数的控制器\nconst cameraFolder = gui.addFolder('4. 相机参数')\nlet positionFolder = cameraFolder.addFolder('Position')\nconst cameraPositionXController = positionFolder\n .add(cameraParams.position, 'x', -1000000, 1000000)\n .name('X')\n .onChange(() => {\n camera!.transform.position.x = cameraParams.position.x\n })\nconst cameraPositionYController = positionFolder\n .add(cameraParams.position, 'y', -1000000, 1000000)\n .name('Y')\n .onChange(() => {\n camera!.transform.position.y = cameraParams.position.y\n })\nconst cameraPositionZController = positionFolder\n .add(cameraParams.position, 'z', -1000000, 1000000)\n .name('Z')\n .onChange(() => {\n camera!.transform.position.z = cameraParams.position.z\n })\n\nlet rotationFolder = cameraFolder.addFolder('Rotation')\nconst cameraRotationPitchController = rotationFolder\n .add(cameraParams.rotation, 'pitch', -180, 180)\n .name('Pitch')\n .onChange(() => {\n camera!.transform.rotation.pitch = cameraParams.rotation.pitch\n })\nconst cameraRotationYawController = rotationFolder\n .add(cameraParams.rotation, 'yaw', -180, 180)\n .name('Yaw')\n .onChange(() => {\n camera!.transform.rotation.yaw = cameraParams.rotation.yaw\n })\nconst cameraRotationRollController = rotationFolder\n .add(cameraParams.rotation, 'roll', -180, 180)\n .name('Roll')\n .onChange(() => {\n camera!.transform.rotation.roll = cameraParams.rotation.roll\n })\ncameraFolder.open()\n\n// 添加调整静态网格参数的控制器\nconst meshFolder = gui.addFolder('5. 静态网格参数')\nvar folder = meshFolder.addFolder('Position')\nconst meshPositionXController = folder\n .add(meshParams.position, 'x', -1000000, 1000000)\n .name('X')\n .onChange(() => {\n staticmesh!.transform.position.x = meshParams.position.x\n })\nconst meshPositionYController = folder\n .add(meshParams.position, 'y', -1000000, 1000000)\n .name('Y')\n .onChange(() => {\n staticmesh!.transform.position.y = meshParams.position.y\n })\nconst meshPositionZController = folder\n .add(meshParams.position, 'z', -1000000, 1000000)\n .name('Z')\n .onChange(() => {\n staticmesh!.transform.position.z = meshParams.position.z\n })\nvar folder = meshFolder.addFolder('Rotation')\nconst meshRotationPitchController = folder\n .add(meshParams.rotation, 'pitch', -180, 180)\n .name('Pitch')\n .onChange(() => {\n staticmesh!.transform.rotation.pitch = meshParams.rotation.pitch\n })\nconst meshRotationYawController = folder\n .add(meshParams.rotation, 'yaw', -180, 180)\n .name('Yaw')\n .onChange(() => {\n staticmesh!.transform.rotation.yaw = meshParams.rotation.yaw\n })\nconst meshRotationRollController = folder\n .add(meshParams.rotation, 'roll', -180, 180)\n .name('Roll')\n .onChange(() => {\n staticmesh!.transform.rotation.roll = meshParams.rotation.roll\n })\n\nvar folder = meshFolder.addFolder('Scale')\nconst meshScaleXController = folder\n .add(meshParams.scale, 'x', 0.1, 5)\n .name('X')\n .onChange(() => {\n staticmesh!.transform.scale.x = meshParams.scale.x\n })\nconst meshScaleYController = folder\n .add(meshParams.scale, 'y', 0.1, 5)\n .name('Y')\n .onChange(() => {\n staticmesh!.transform.scale.y = meshParams.scale.y\n })\nconst meshScaleZController = folder\n .add(meshParams.scale, 'z', 0.1, 5)\n .name('Z')\n .onChange(() => {\n staticmesh!.transform.scale.z = meshParams.scale.z\n })\nmeshFolder.open()\n\n// 添加销毁地图按钮\ngui\n .add(\n {\n destroyMap: () => {\n map!.remove()\n }\n },\n 'destroyMap'\n )\n .name('6. 销毁地图')\n\n// 添加销毁蓝图按钮\ngui\n .add(\n {\n destroyBlueprint: () => {\n blueprint!.remove()\n }\n },\n 'destroyBlueprint'\n )\n .name('7. 销毁蓝图')\n\n// 添加销毁静态网格按钮\ngui\n .add(\n {\n destroyStaticMesh: () => {\n staticmesh!.remove()\n }\n },\n 'destroyStaticMesh'\n )\n .name('8. 销毁静态网格')\n\nlet hoverHandle: any\ngui\n .add(\n {\n hover: () => {\n console.log(`pick`)\n hoverHandle = world!.tools.pickCast.hover((data) => {\n console.log(`hover data`, data)\n })\n }\n },\n 'hover'\n )\n .name('屏幕拾取')\n\ngui\n .add(\n {\n pickEnd: () => {\n if (hoverHandle) {\n hoverHandle()\n }\n }\n },\n 'pickEnd'\n )\n .name('结束屏幕拾取')\n\n// 添加强制刷新GUI按钮\ngui\n .add(\n {\n refreshGUI: () => {\n // 强制更新所有控制器显示\n mapSelectController.updateDisplay()\n blueprintSelectController.updateDisplay()\n staticMeshSelectController.updateDisplay()\n cameraPositionXController.updateDisplay()\n cameraPositionYController.updateDisplay()\n cameraPositionZController.updateDisplay()\n cameraRotationPitchController.updateDisplay()\n cameraRotationYawController.updateDisplay()\n cameraRotationRollController.updateDisplay()\n meshPositionXController.updateDisplay()\n meshPositionYController.updateDisplay()\n meshPositionZController.updateDisplay()\n meshRotationPitchController.updateDisplay()\n meshRotationYawController.updateDisplay()\n meshRotationRollController.updateDisplay()\n meshScaleXController.updateDisplay()\n meshScaleYController.updateDisplay()\n meshScaleZController.updateDisplay()\n console.log('GUI已强制刷新')\n }\n },\n 'refreshGUI'\n )\n .name('9. 刷新GUI')\n\n// 判断 window 是否初始化完成\nif (document.readyState === 'loading') {\n // 文档正在加载,等待DOMContentLoaded事件\n document.addEventListener('DOMContentLoaded', _initializeApp)\n} else {\n // 文档已经加载完成,直接初始化应用\n _initializeApp()\n}\n"],"names":["Logger","LogLevel","initializeApp","GUI"],"mappings":"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"}