文档

创建子场景

更新时间:

子场景(subScene)是场景(scene)的子级,一个子场景为一张全景图或视频,本文介绍如何创建子场景。

须知:

  • 3D模型、全景图片类型场景:只可创建图片类型的子场景。

  • 视频类型场景:只可创建视频类型的子场景。

  • 混合类型场景:视频、图片类型的子场景都可创建。

创建子场景流程如下:

调用流程

1、以下代码用于创建子场景(AddSubScene)接口调用。lyjClient的初始化见:初始化

 // 场景ID
 String sceneId = "sdjhuseiuiuew****";
 // 子场景名称
 String subSceneName = "sdjhuseiuiuew****";

 AddSubSceneRequest request = new AddSubSceneRequest();
 request.setSceneId(sceneId);
 request.setName(subSceneName);
 // sdk调用
 AddSubSceneResponse addSubSceneResponse = lyjClient.addSubScene(request);
 // 响应数据
 AddSubSceneResponseBody response = addSubSceneResponse.getBody();

请求参数和响应数据字段说明详见新增子场景

2、以下代码用于获取上传凭据。lyjClient的初始化见:初始化

 //这里的子场景ID来源于上一步AddSunScene接口的调用
 String subSceneId ="sdjkiuiduy****";
 GetOssPolicyRequest request = new GetOssPolicyRequest();
 request.setSubSceneId(subSceneId);
 GetOssPolicyResponse response = lyjClient.getOssPolicy(request);
 GetOssPolicyResponseBody response = response.getBody();
 // 返回oss上传凭据
  {
  "accessId": "LTAI5t9k9*****",
  "callback": null,
  "dir": "pano_src/100070-****/images/",
  "expire": 1640315464,
  "host": "https://lyj-algo-cloud.oss-cn-hangzhou.aliyuncs.com",
  "policy": "leHBpcmF0aW9uIjoiMjAyMS0xMi0****=",
  "signature": null
}

请求参数和响应数据字段说明详见获取OSS授权

3、oss上传采用上传凭据的形式直传,参考代码如下:

// post formData请求
const ossOptions = {
   name: example.jpg
   key: pano_src_temp/100070-test-***/images/example.jpg
   policy: eyJleHBpcmF0aW9uIjoiMjAyMS0xMi0****=
   OSSAccessKeyId: LTAI5t9k9*****
   success_action_status: 200
   signature: jWKqD535lRRxCRsQUNiq****=
   file: (binary)
   expire: 1640315464
}
请求的host 为上个接口返回的host

vue或react有上传组件,可直接使用。

4、以下代码用于关联子场景资源(LinkImage)接口调用。lyjClient的初始化见:初始化

 //这里的子场景ID来源于AddSunScene接口的调用
 String subSceneId ="sdjkiuiduy****";
 // 上传文件名(后缀为mp4/jpg)
 String fileName = "example.jpg"
 // 若是图片可以传递一个相机高度,默认160
 Integer cameraHeight = 160;

 LinkImageRequest request = new LinkImageRequest();
 request.setSubSceneId(subSceneId);
 request.setFileName(fileName);
 if(cameraHeight != null && cameraHeight > 0){
   request.setCameraHeight(cameraHeight);
 }
 // sdk调用
 LinkImageResponse linkImageResponse = lyjClient.linkImage(request);
 // 响应数据
 LinkImageResponseBody response = linkImageResponse.getBody();

请求参数和响应数据字段说明详见关联图片到子场景

  • 本页导读 (0)
文档反馈