对接文档.txt 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. sdk 加一个方法 createAnimationGroup 不传参数放回动画组对象 AnimationGroup
  2. // 动画组对象
  3. type AnimationGroup = {
  4. // 播放
  5. play: () => void;
  6. // 暂停
  7. pause: () => void;
  8. // 添加动画模型
  9. addAnimationModel: (data: AnimationModel) => AnimationModel3D;
  10. // 设置当前时间, 单位为秒
  11. setCurrentTime: (s: number) => void
  12. };
  13. 动画模型传入参数如下
  14. AnimationModel = {
  15. title: string; 模型名称
  16. url: string; 模型路径
  17. showTitle: boolean; 是否显示名称
  18. fontSize: number; 名称字体大小
  19. globalVisibility: boolean; 是否全局可视
  20. visibilityRange: number; 可视范围
  21. }
  22. 动画模型对象
  23. export type AnimationModel3D = {
  24. // 销毁动画模型
  25. destory: () => void;
  26. // 更改动画模型可见性
  27. visibility: (show: boolean) => void;
  28. // 更改动画可见范围 不传为全局可见
  29. changeVisibilityRange: (range?: number) => void;
  30. // 更改模型名称
  31. changeTitle: (name: string) => void;
  32. // 更改名称字体大小
  33. changeFontSize: (size: number) => void;
  34. // 更改名称可见性
  35. visibilityTitle: (show: boolean) => void;
  36. // 添加模型帧
  37. addFrame: (frame: AnimationModelFrame) => AnimationModelFrame3D;
  38. // 添加模型动作
  39. addAction: (frame: AnimationModelAction) => AnimationModelAction3D;
  40. // 添加模型路径
  41. addPath: (frame: Omit<AnimationModelPath, 'pathId'> & {path: Path}) => AnimationModelPath3D;
  42. // 获取当前模型旁白出现的适合位置,传入旁边dom的宽高,返回像素位置
  43. getCurrentSubtitlePixel: (size: {width: number, height: number}) => {x: number, y: number}
  44. // 获取当前时间改模型的姿态
  45. getCurrentMat: () => {
  46. position?: SceneLocalPos;
  47. scale?: number;
  48. rotation?: SceneLocalPos;
  49. originPosition?: SceneLocalPos
  50. }
  51. // 设置当前操控模式, translate rotate scale originTranslate,传undefined则不进入设置
  52. setCurrentMode: (mode?: string) => void
  53. };
  54. 添加模型帧参数如下
  55. export type AnimationModelFrame = {
  56. // 模型帧播放时间
  57. time: number;
  58. // 模型的姿态,
  59. mat: {
  60. position: SceneLocalPos;
  61. scale: number;
  62. rotation: SceneLocalPos;
  63. originPosition: SceneLocalPos
  64. }
  65. };
  66. 返回的模型帧对象
  67. export type AnimationModelFrame3D = {
  68. // 销毁动画模型帧
  69. destory: () => void;
  70. // 修改帧播放时间 单位为秒
  71. changeTime: (s: number) => void
  72. bus: Emitter<{
  73. // 动画帧姿态修改数据,发送的时间,
  74. matChange: {
  75. position?: SceneLocalPos;
  76. scale?: number;
  77. rotation?: SceneLocalPos;
  78. originPosition?: SceneLocalPos
  79. };
  80. }>;
  81. };
  82. 添加模型动作参数如下
  83. export type AnimationModelAction = {
  84. // 幅度
  85. amplitude: number;
  86. // 速度
  87. speed: number;
  88. // 开始播放时间
  89. time: number;
  90. // 播放时长
  91. duration: number;
  92. // 哪个动作,
  93. // "Walk" "走"
  94. // "Run" "跑"
  95. // "Climb" "爬"
  96. // "JumpUp" "向上跳"
  97. // "JumpDown" "向下跳"
  98. // "TurnLeft" "左转"
  99. // "TurnRight" "右转"
  100. // "FallForward" "向前倒地"
  101. // "FallBackward" "向后倒地"
  102. key: string;
  103. };
  104. 返回的模型帧动作对象
  105. export type AnimationModelAction3D = {
  106. // 销毁动画模型动作
  107. destory: () => void;
  108. // 修改动作播放时间 单位为秒
  109. changeTime: (s: number) => void
  110. // 修改动作幅度
  111. changeAmplitude: (n: number) => void
  112. // 修改动作速度
  113. changeSpeed: (n: number) => void
  114. // 修改动持续时间 单位为秒
  115. changeDuration: (n: number) => void
  116. };
  117. 添加模型路径参数如下
  118. export type AnimationModelPath = {
  119. // 是否反向
  120. reverse: boolean;
  121. // 路径对象 之前createPath返回的
  122. path?: object;
  123. // 播放时间
  124. time: number;
  125. // 播放时长
  126. duration: number;
  127. };
  128. 返回路径对象如下
  129. export type AnimationModelPath3D = {
  130. // 销毁动画模型路径
  131. destory: () => void;
  132. // 修改路径 传入参数为你之前返回的路径对象
  133. changePath: (path: Path) => void
  134. // 修改播放是否要反向
  135. changeReverse: (reverse: boolean) => void
  136. // 修改路径播放时间 单位为秒
  137. changeTime: (s: number) => void
  138. // 修改路径续时间 单位为秒
  139. changeDuration: (n: number) => void
  140. };
  141. // -------配准模块-------
  142. 模型对象多一个enterScaleMode 进入缩放状态
  143. 去除右键点击会选中模型操作
  144. sdk增多一个方法
  145. sdk.comeToByLatLng 飞到指定经纬度