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.
- package/README.md +50 -59
- package/dev-dist/animation.esm.js +152 -0
- package/dev-dist/animation.esm.js.map +1 -0
- package/dev-dist/animation.js +154 -0
- package/dev-dist/animation.js.map +1 -0
- package/dev-dist/building.esm.js +85 -0
- package/dev-dist/building.esm.js.map +1 -0
- package/dev-dist/building.js +87 -0
- package/dev-dist/building.js.map +1 -0
- package/dev-dist/common.esm.js +16159 -0
- package/dev-dist/common.esm.js.map +1 -0
- package/dev-dist/common.js +16163 -0
- package/dev-dist/common.js.map +1 -0
- package/dev-dist/fence.esm.js +100 -0
- package/dev-dist/fence.esm.js.map +1 -0
- package/dev-dist/fence.js +102 -0
- package/dev-dist/fence.js.map +1 -0
- package/dev-dist/ghost.esm.js +53 -0
- package/dev-dist/ghost.esm.js.map +1 -0
- package/dev-dist/ghost.js +55 -0
- package/dev-dist/ghost.js.map +1 -0
- package/dev-dist/heatmap.esm.js +103 -0
- package/dev-dist/heatmap.esm.js.map +1 -0
- package/dev-dist/heatmap.js +105 -0
- package/dev-dist/heatmap.js.map +1 -0
- package/dev-dist/index.esm.js +21 -0
- package/dev-dist/index.esm.js.map +1 -0
- package/dev-dist/index.esm2.js +4272 -0
- package/dev-dist/index.esm2.js.map +1 -0
- package/dev-dist/index.js +26 -0
- package/dev-dist/index.js.map +1 -0
- package/dev-dist/index2.js +4280 -0
- package/dev-dist/index2.js.map +1 -0
- package/dev-dist/keyframe.esm.js +95 -0
- package/dev-dist/keyframe.esm.js.map +1 -0
- package/dev-dist/keyframe.js +97 -0
- package/dev-dist/keyframe.js.map +1 -0
- package/dev-dist/measurement.esm.js +57 -0
- package/dev-dist/measurement.esm.js.map +1 -0
- package/dev-dist/measurement.js +59 -0
- package/dev-dist/measurement.js.map +1 -0
- package/dev-dist/scatter.esm.js +85 -0
- package/dev-dist/scatter.esm.js.map +1 -0
- package/dev-dist/scatter.js +87 -0
- package/dev-dist/scatter.js.map +1 -0
- package/dev-dist/src.esm.js +289 -0
- package/dev-dist/src.esm.js.map +1 -0
- package/dev-dist/src.js +291 -0
- package/dev-dist/src.js.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/animation/animate-clip.d.ts +39 -0
- package/dev-dist/types/hj-gis-sdk/addons/animation/animate-clip.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/animation/animation-action.d.ts +31 -0
- package/dev-dist/types/hj-gis-sdk/addons/animation/animation-action.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/animation/animation-mixer.d.ts +18 -0
- package/dev-dist/types/hj-gis-sdk/addons/animation/animation-mixer.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/animation/index.d.ts +5 -0
- package/dev-dist/types/hj-gis-sdk/addons/animation/index.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/camera.d.ts +59 -0
- package/dev-dist/types/hj-gis-sdk/addons/camera.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/clock.d.ts +40 -0
- package/dev-dist/types/hj-gis-sdk/addons/clock.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/commander/context.d.ts +24 -0
- package/dev-dist/types/hj-gis-sdk/addons/commander/context.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/commander/dispatcher.d.ts +43 -0
- package/dev-dist/types/hj-gis-sdk/addons/commander/dispatcher.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/commander/excutor/base.d.ts +22 -0
- package/dev-dist/types/hj-gis-sdk/addons/commander/excutor/base.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/loader/index.d.ts +6 -0
- package/dev-dist/types/hj-gis-sdk/addons/loader/index.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/loader/loader.d.ts +4 -0
- package/dev-dist/types/hj-gis-sdk/addons/loader/loader.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/node/base.d.ts +63 -0
- package/dev-dist/types/hj-gis-sdk/addons/node/base.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/node/ue-node.d.ts +82 -0
- package/dev-dist/types/hj-gis-sdk/addons/node/ue-node.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/proxy.d.ts +83 -0
- package/dev-dist/types/hj-gis-sdk/addons/proxy.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/base.d.ts +7 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/base.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/building.d.ts +36 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/building.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/daytime.d.ts +7 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/daytime.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/fence.d.ts +61 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/fence.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/ghost.d.ts +14 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/ghost.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/heat-map.d.ts +65 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/heat-map.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/index.d.ts +26 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/index.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/match-view.d.ts +7 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/match-view.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/measurement.d.ts +13 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/measurement.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/pick-cast.d.ts +26 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/pick-cast.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/scatter.d.ts +57 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/scatter.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/weather.d.ts +31 -0
- package/dev-dist/types/hj-gis-sdk/addons/tools/weather.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/transform.d.ts +91 -0
- package/dev-dist/types/hj-gis-sdk/addons/transform.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/addons/world.d.ts +76 -0
- package/dev-dist/types/hj-gis-sdk/addons/world.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/core/ue-rpc.d.ts +54 -0
- package/dev-dist/types/hj-gis-sdk/core/ue-rpc.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/index.d.ts +27 -0
- package/dev-dist/types/hj-gis-sdk/index.d.ts.map +1 -0
- package/dev-dist/types/hj-gis-sdk/utils.d.ts +16 -0
- package/dev-dist/types/hj-gis-sdk/utils.d.ts.map +1 -0
- package/dev-dist/types/src/animation.d.ts +2 -0
- package/dev-dist/types/src/animation.d.ts.map +1 -0
- package/dev-dist/types/src/building.d.ts +2 -0
- package/dev-dist/types/src/building.d.ts.map +1 -0
- package/dev-dist/types/src/common.d.ts +5 -0
- package/dev-dist/types/src/common.d.ts.map +1 -0
- package/dev-dist/types/src/fence.d.ts +2 -0
- package/dev-dist/types/src/fence.d.ts.map +1 -0
- package/dev-dist/types/src/ghost.d.ts +2 -0
- package/dev-dist/types/src/ghost.d.ts.map +1 -0
- package/dev-dist/types/src/heatmap.d.ts +2 -0
- package/dev-dist/types/src/heatmap.d.ts.map +1 -0
- package/dev-dist/types/src/index.d.ts +2 -0
- package/dev-dist/types/src/index.d.ts.map +1 -0
- package/dev-dist/types/src/keyframe.d.ts +2 -0
- package/dev-dist/types/src/keyframe.d.ts.map +1 -0
- package/dev-dist/types/src/measurement.d.ts +2 -0
- package/dev-dist/types/src/measurement.d.ts.map +1 -0
- package/dev-dist/types/src/scatter.d.ts +2 -0
- package/dev-dist/types/src/scatter.d.ts.map +1 -0
- package/dev-dist/types/src/weather.d.ts +2 -0
- package/dev-dist/types/src/weather.d.ts.map +1 -0
- package/dev-dist/weather.esm.js +68 -0
- package/dev-dist/weather.esm.js.map +1 -0
- package/dev-dist/weather.js +70 -0
- package/dev-dist/weather.js.map +1 -0
- package/dist/sdk.esm.js +19 -6
- package/dist/sdk.esm.js.map +1 -1
- package/dist/sdk.js +19 -6
- package/dist/sdk.js.map +1 -1
- package/dist/sdk.umd.js +1 -1
- package/dist/sdk.umd.js.map +1 -1
- package/dist/types/hj-gis-sdk/addons/tools/scatter.d.ts.map +1 -1
- package/dist/types/src/common.d.ts.map +1 -1
- package/hj-gis-sdk/addons/animation/animate-clip.ts +93 -0
- package/hj-gis-sdk/addons/animation/animation-action.ts +93 -0
- package/hj-gis-sdk/addons/animation/animation-mixer.ts +51 -0
- package/hj-gis-sdk/addons/animation/index.ts +17 -0
- package/hj-gis-sdk/addons/camera.ts +173 -0
- package/hj-gis-sdk/addons/clock.ts +85 -0
- package/hj-gis-sdk/addons/commander/context.ts +70 -0
- package/hj-gis-sdk/addons/commander/dispatcher.ts +68 -0
- package/hj-gis-sdk/addons/commander/excutor/base.ts +26 -0
- package/hj-gis-sdk/addons/loader/index.ts +7 -0
- package/hj-gis-sdk/addons/loader/loader.ts +3 -0
- package/hj-gis-sdk/addons/node/base.ts +131 -0
- package/hj-gis-sdk/addons/node/ue-node.ts +147 -0
- package/hj-gis-sdk/addons/proxy.ts +200 -0
- package/hj-gis-sdk/addons/tools/base.ts +11 -0
- package/hj-gis-sdk/addons/tools/building.ts +84 -0
- package/hj-gis-sdk/addons/tools/daytime.ts +14 -0
- package/hj-gis-sdk/addons/tools/fence.ts +105 -0
- package/hj-gis-sdk/addons/tools/ghost.ts +31 -0
- package/hj-gis-sdk/addons/tools/heat-map.ts +95 -0
- package/hj-gis-sdk/addons/tools/index.ts +25 -0
- package/hj-gis-sdk/addons/tools/match-view.ts +35 -0
- package/hj-gis-sdk/addons/tools/measurement.ts +25 -0
- package/hj-gis-sdk/addons/tools/pick-cast.ts +67 -0
- package/hj-gis-sdk/addons/tools/scatter.ts +230 -0
- package/hj-gis-sdk/addons/tools/weather.ts +40 -0
- package/hj-gis-sdk/addons/transform.ts +126 -0
- package/hj-gis-sdk/addons/world.ts +173 -0
- package/hj-gis-sdk/core/ue-rpc.ts +234 -0
- package/hj-gis-sdk/index.ts +26 -0
- package/hj-gis-sdk/utils.ts +52 -0
- package/index.html +48 -0
- package/package-lock.json +7368 -0
- package/package.json +17 -4
- package/rollup.config.dev.js +107 -0
- package/rollup.config.js +52 -0
- package/src/animation.ts +175 -0
- package/src/building.ts +114 -0
- package/src/common.ts +47 -0
- package/src/fence.ts +131 -0
- package/src/ghost.ts +70 -0
- package/src/heatmap.ts +125 -0
- package/src/index.ts +350 -0
- package/src/keyframe.ts +113 -0
- package/src/measurement.ts +80 -0
- package/src/scatter.ts +105 -0
- package/src/weather.ts +86 -0
- package/tsconfig.json +30 -0
- 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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"}
|
package/dev-dist/src.js
ADDED
|
@@ -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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"}
|