12345678910111213141516171819202122232425262728293031323334353637383940 |
- ; (function (Cesium) {
- checkSkyScenery(Cesium);
- function addTree(jsonUrl, gltfUrl) {
- return new Promise((resolve, reject) => {
- $.getJSON(jsonUrl, function (obj) {
- let keyArr = Object.keys(obj);
- let objectArr = Object.values(obj);
- let primitiveArr = keyArr.map(function (key, index) {
- return loadBigDataGltf(objectArr[index].positions, key, gltfUrl);
- });
- resolve(primitiveArr);
- });
- });
- }
- // 加载大批量gltf文件
- function loadBigDataGltf(array, gltfName, gltfUrl) {
- let instances = [];
- for (let i = 0; i < array.length; i++) {
- let modelMatrix = Cesium.Transforms.headingPitchRollToFixedFrame(
- Cesium.Cartesian3.fromRadians(array[i], array[i + 1], 5),
- new Cesium.HeadingPitchRoll(0, 0, 0)
- );
- Cesium.Matrix4.multiplyByUniformScale(modelMatrix, 1, modelMatrix); // 缩放
- instances.push({
- modelMatrix: modelMatrix,
- });
- }
- let primitive = new Cesium.ModelInstanceCollection({
- // url: "./static/gltf/" + gltfName + ".gltf",
- url: gltfUrl + gltfName + ".gltf",
- instances: instances,
- });
- return primitive
- // globalVariable.viewer.scene.primitives.add(primitive);
- }
- Cesium.addTree = addTree;
- }(SkyScenery))
|