@anov/3d 0.0.4-alpha23 → 0.0.4-alpha24

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.
@@ -141,12 +141,12 @@ var Camera = /*#__PURE__*/function () {
141
141
  var _this2$caclCurrentPos = _this2.caclCurrentPos(currentPos, 0),
142
142
  lastPosition = _this2$caclCurrentPos.lastPosition,
143
143
  lastLookat = _this2$caclCurrentPos.lastLookat;
144
- _this2.moveCameraTo(lastPosition, lastLookat, moveOptions());
144
+ _this2.moveCameraTo(lastPosition, lastLookat, pitch, moveOptions());
145
145
  } else {
146
146
  var _currentPos = position;
147
147
  var _lastPosition = _this2.caclSingleCoordinate(_this2.controls.target, _this2.camera.position, new Vector3().fromArray(_currentPos));
148
148
  var _lastLookat = _this2.caclTargetByPitch(0, new Vector3().fromArray(_currentPos), _lastPosition);
149
- _this2.moveCameraTo(_lastPosition, _lastLookat, moveOptions());
149
+ _this2.moveCameraTo(_lastPosition, _lastLookat, pitch, moveOptions());
150
150
  }
151
151
  });
152
152
  }
@@ -161,7 +161,7 @@ var Camera = /*#__PURE__*/function () {
161
161
  var _this3 = this;
162
162
  return new Promise(function (res, _) {
163
163
  var _ref3;
164
- _this3.moveCameraTo(new Vector3(params.position[0], params.position[1], params.position[2]), new Vector3(params.target[0], params.target[1], params.target[2]), {
164
+ _this3.moveCameraTo(new Vector3(params.position[0], params.position[1], params.position[2]), new Vector3(params.target[0], params.target[1], params.target[2]), 0, {
165
165
  duration: (_ref3 = params.duration && params.duration * 1000) !== null && _ref3 !== void 0 ? _ref3 : 1000,
166
166
  onUpdate: function onUpdate(_ref4) {
167
167
  var position = _ref4.position,
@@ -206,8 +206,10 @@ var Camera = /*#__PURE__*/function () {
206
206
  */
207
207
  }, {
208
208
  key: "moveCameraTo",
209
- value: function moveCameraTo(position, target, options) {
209
+ value: function moveCameraTo(position, target) {
210
210
  var _this4 = this;
211
+ var pitch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
212
+ var options = arguments.length > 3 ? arguments[3] : undefined;
211
213
  var currentPoition = this.camera.position.clone();
212
214
  var currentPositionInterpolation = new Vector3();
213
215
  if ((options === null || options === void 0 ? void 0 : options.duration) === 0) {
@@ -218,18 +220,24 @@ var Camera = /*#__PURE__*/function () {
218
220
  }
219
221
  new TWEEN.Tween({
220
222
  t: 0,
221
- lookat: this.controls.target.clone()
223
+ lookat: this.controls.target.clone(),
224
+ p: 0
222
225
  }).to({
223
226
  t: 1,
224
- lookat: target
227
+ lookat: target,
228
+ p: -this.camera.rotation.x + (pitch ? MathUtils.degToRad(-pitch) : 0)
225
229
  }, (options === null || options === void 0 ? void 0 : options.duration) || 1000).onStart(function () {
226
230
  (options === null || options === void 0 ? void 0 : options.onStart) && options.onStart();
227
231
  _this4.controls.enabled = false;
228
232
  _this4.isTransitionPeriod = true;
229
233
  }).easing(TWEEN.Easing.Quadratic.InOut).onUpdate(function (_ref5) {
230
234
  var t = _ref5.t,
231
- lookat = _ref5.lookat;
235
+ lookat = _ref5.lookat,
236
+ p = _ref5.p;
232
237
  _this4.controls.target.copy(lookat);
238
+ if (pitch)
239
+ // @ts-ignore
240
+ _this4.camera.rotationParent.x = p;
233
241
  var currentPosition = currentPositionInterpolation.lerpVectors(currentPoition, position, t);
234
242
  _this4.camera.position.copy(currentPosition);
235
243
  (options === null || options === void 0 ? void 0 : options.onUpdate) && options.onUpdate({
@@ -1 +1 @@
1
- {"version":3,"names":["Box3","MathUtils","Vector3","TWEEN","MessageType","sendToMessage","EMessageStatus","Camera","camera","controls","handleChanged","currentPos","pitch","box","setFromPoints","map","item","center","getCenter","size","getSize","halfDiagonal","length","maxDistance","Math","tan","fov","PI","cameraToCenterDistance","directionVector","position","clone","sub","target","normalize","lastPosition","multiplyScalar","add","lastLookat","caclTargetByPitch","subVectors","upVector","localPitchAxis","crossVectors","applyAxisAngle","degToRad","distance","distanceTo","newTarget","prevTarget","prevPosition","lastTarget","addEventListener","isTransitionPeriod","lookat","Event","Success","undefined","toArray","params","Promise","res","duration","moveOptions","onUpdate","onComplate","isTrigger","userInput","Array","isArray","caclCurrentPos","moveCameraTo","caclSingleCoordinate","fromArray","_","x","y","z","options","currentPoition","currentPositionInterpolation","copy","Tween","t","to","onStart","enabled","easing","Easing","Quadratic","InOut","currentPosition","lerpVectors","onComplete","setTimeout","start"],"sources":["../../../src/module/camera/index.ts"],"sourcesContent":["import type { OrbitControls, PerspectiveCamera } from '@anov/3d-core'\nimport { Box3, MathUtils, Vector3 } from '@anov/3d-core'\nimport * as TWEEN from '@tweenjs/tween.js'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\n\ntype vector3Array = [number, number, number]\ninterface ChangeCameraPresetOptions {\n duration?: number\n onUpdate?: (params: { position: Vector3; lookat: Vector3 }) => void\n onStart?: () => void\n onComplate?: () => void\n}\n\nclass Camera {\n private camera: PerspectiveCamera\n private controls: OrbitControls\n private isTransitionPeriod = false\n\n constructor(camera: PerspectiveCamera, controls: OrbitControls) {\n this.camera = camera\n this.controls = controls\n\n this.handleChanged()\n }\n\n /**\n * caclCurrentPos\n * @param currentPos\n * @returns\n */\n private caclCurrentPos(currentPos: vector3Array[], pitch: number) {\n const box = new Box3()\n\n box.setFromPoints(currentPos.map(item => new Vector3(item[0], item[1], item[2])))\n\n const center = box.getCenter(new Vector3())\n const size = box.getSize(new Vector3())\n const halfDiagonal = size.length() * 0.5\n\n const maxDistance = halfDiagonal / Math.tan(this.camera.fov / 2 * Math.PI / 180)\n const cameraToCenterDistance = maxDistance\n const directionVector = (this.camera.position.clone()).sub(this.controls.target).normalize() // 相机指向物体中心的向量\n\n const lastPosition = directionVector.multiplyScalar(cameraToCenterDistance).add(center)\n const lastLookat = this.caclTargetByPitch(pitch, center, lastPosition)\n\n return {\n lastPosition,\n lastLookat,\n }\n }\n\n /**\n * caclTargetByPitch\n * @param pitch\n * @param target\n * @param position\n * @returns\n */\n private caclTargetByPitch(pitch: number, target: Vector3, position: Vector3) {\n const directionVector = new Vector3().subVectors(target, position)\n const upVector = new Vector3(0, 1, 0)\n const localPitchAxis = new Vector3().crossVectors(directionVector, upVector).normalize()\n\n directionVector.applyAxisAngle(localPitchAxis, MathUtils.degToRad(pitch))\n\n const distance = position.distanceTo(target)\n const newTarget = position.clone().add(directionVector.normalize().multiplyScalar(distance))\n\n return newTarget\n }\n\n /**\n * caclSingleCoordinate\n * @param prevTarget\n * @param prevPosition\n * @param lastTarget\n * @returns\n */\n private caclSingleCoordinate(prevTarget: Vector3, prevPosition: Vector3, lastTarget: Vector3) {\n const directionVector = lastTarget.clone().sub(prevTarget).normalize()\n return directionVector.multiplyScalar(lastTarget.distanceTo(prevTarget)).add(prevPosition)\n }\n\n /**\n * handle camera changed\n */\n private handleChanged() {\n this.controls.addEventListener('change', () => {\n if (!this.isTransitionPeriod) {\n const lookat = this.controls.target\n const position = this.camera.position\n\n sendToMessage(MessageType.Event, 'onCameraChanged', EMessageStatus.Success, undefined, {\n position: position.toArray(),\n target: lookat.toArray(),\n })\n }\n })\n }\n\n /**\n * focus On Position\n * @param params\n */\n focus(params: { target: vector3Array | vector3Array[]; pitch?: number; duration?: number }) {\n return new Promise((res) => {\n const { target: position, pitch, duration } = params\n const moveOptions = () => ({\n duration: (duration && duration * 1000) ?? 1000,\n onUpdate: ({ position, lookat }) => {\n sendToMessage(MessageType.Event, 'onCameraChanged', EMessageStatus.Success, undefined, {\n position: position.toArray(),\n target: lookat.toArray(),\n })\n },\n onComplate: () => {\n res({\n position: this.camera.position.toArray(),\n target: this.controls.target.toArray(),\n isTrigger: true,\n duration: params.duration ?? 0,\n userInput: true,\n pitch: pitch ?? 40,\n })\n },\n }) as ChangeCameraPresetOptions\n\n if (Array.isArray(position[0])) {\n const currentPos = position as vector3Array[]\n const { lastPosition, lastLookat } = this.caclCurrentPos(currentPos, 0)\n\n this.moveCameraTo(\n lastPosition,\n lastLookat,\n moveOptions(),\n )\n }\n else {\n const currentPos = position as vector3Array\n const lastPosition = this.caclSingleCoordinate(this.controls.target, this.camera.position, new Vector3().fromArray(currentPos))\n const lastLookat = this.caclTargetByPitch(0, new Vector3().fromArray(currentPos), lastPosition)\n\n this.moveCameraTo(\n lastPosition,\n lastLookat,\n moveOptions(),\n )\n }\n })\n }\n\n /**\n * set camera\n * @param params\n */\n set(params: { position: vector3Array; target: vector3Array; isTrigger?: boolean; duration?: number }) {\n return new Promise ((res, _) => {\n this.moveCameraTo(\n new Vector3(params.position[0], params.position[1], params.position[2]),\n new Vector3(params.target[0], params.target[1], params.target[2]),\n {\n duration: (params.duration && params.duration * 1000) ?? 1000,\n onUpdate: ({ position, lookat }) => {\n params.isTrigger\n && sendToMessage(MessageType.Event, 'onCameraChanged', EMessageStatus.Success, undefined, {\n position: position.toArray(),\n target: lookat.toArray(),\n })\n },\n onComplate: () => {\n res({\n position: this.camera.position.toArray(),\n target: this.controls.target.toArray(),\n isTrigger: true,\n duration: params.duration ?? 0,\n userInput: true,\n })\n },\n })\n })\n }\n\n /**\n * get Camera info\n * @returns\n */\n get() {\n return {\n position: [this.camera.position.x, this.camera.position.y, this.camera.position.z],\n target: [this.controls.target.x, this.controls.target.y, this.controls.target.z],\n }\n }\n\n /**\n * interpolation move camera\n * @param position\n * @param target\n * @param options\n */\n private moveCameraTo(position: Vector3, target: Vector3, options?: ChangeCameraPresetOptions) {\n const currentPoition = this.camera.position.clone()\n const currentPositionInterpolation = new Vector3()\n\n if (options?.duration === 0) {\n this.camera.position.copy(position)\n this.controls.target.copy(target)\n\n options?.onComplate && options.onComplate()\n return\n }\n\n new TWEEN.Tween({ t: 0, lookat: this.controls.target.clone() }).to({ t: 1, lookat: target }, options?.duration || 1000)\n .onStart(() => {\n options?.onStart && options.onStart()\n this.controls.enabled = false\n this.isTransitionPeriod = true\n })\n .easing(TWEEN.Easing.Quadratic.InOut)\n .onUpdate(({ t, lookat }) => {\n this.controls.target.copy(lookat)\n\n const currentPosition = currentPositionInterpolation.lerpVectors(currentPoition, position, t)\n this.camera.position.copy(currentPosition)\n options?.onUpdate && options.onUpdate({ position: currentPosition, lookat })\n })\n .onComplete(() => {\n options?.onComplate && options.onComplate()\n this.controls.enabled = true\n\n setTimeout(() => {\n this.isTransitionPeriod = false\n })\n })\n .start()\n }\n}\n\nexport default Camera"],"mappings":"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"}
1
+ {"version":3,"names":["Box3","MathUtils","Vector3","TWEEN","MessageType","sendToMessage","EMessageStatus","Camera","camera","controls","handleChanged","currentPos","pitch","box","setFromPoints","map","item","center","getCenter","size","getSize","halfDiagonal","length","maxDistance","Math","tan","fov","PI","cameraToCenterDistance","directionVector","position","clone","sub","target","normalize","lastPosition","multiplyScalar","add","lastLookat","caclTargetByPitch","subVectors","upVector","localPitchAxis","crossVectors","applyAxisAngle","degToRad","distance","distanceTo","newTarget","prevTarget","prevPosition","lastTarget","addEventListener","isTransitionPeriod","lookat","Event","Success","undefined","toArray","params","Promise","res","duration","moveOptions","onUpdate","onComplate","isTrigger","userInput","Array","isArray","caclCurrentPos","moveCameraTo","caclSingleCoordinate","fromArray","_","x","y","z","options","currentPoition","currentPositionInterpolation","copy","Tween","t","p","to","rotation","onStart","enabled","easing","Easing","Quadratic","InOut","rotationParent","currentPosition","lerpVectors","onComplete","setTimeout","start"],"sources":["../../../src/module/camera/index.ts"],"sourcesContent":["import type { OrbitControls, PerspectiveCamera } from '@anov/3d-core'\nimport { Box3, MathUtils, Vector3 } from '@anov/3d-core'\nimport * as TWEEN from '@tweenjs/tween.js'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\n\ntype vector3Array = [number, number, number]\ninterface ChangeCameraPresetOptions {\n duration?: number\n onUpdate?: (params: { position: Vector3; lookat: Vector3 }) => void\n onStart?: () => void\n onComplate?: () => void\n}\n\nclass Camera {\n private camera: PerspectiveCamera\n private controls: OrbitControls\n private isTransitionPeriod = false\n\n constructor(camera: PerspectiveCamera, controls: OrbitControls) {\n this.camera = camera\n this.controls = controls\n\n this.handleChanged()\n }\n\n /**\n * caclCurrentPos\n * @param currentPos\n * @returns\n */\n private caclCurrentPos(currentPos: vector3Array[], pitch: number) {\n const box = new Box3()\n\n box.setFromPoints(currentPos.map(item => new Vector3(item[0], item[1], item[2])))\n\n const center = box.getCenter(new Vector3())\n const size = box.getSize(new Vector3())\n const halfDiagonal = size.length() * 0.5\n\n const maxDistance = halfDiagonal / Math.tan(this.camera.fov / 2 * Math.PI / 180)\n const cameraToCenterDistance = maxDistance\n const directionVector = (this.camera.position.clone()).sub(this.controls.target).normalize() // 相机指向物体中心的向量\n\n const lastPosition = directionVector.multiplyScalar(cameraToCenterDistance).add(center)\n const lastLookat = this.caclTargetByPitch(pitch, center, lastPosition)\n\n return {\n lastPosition,\n lastLookat,\n }\n }\n\n /**\n * caclTargetByPitch\n * @param pitch\n * @param target\n * @param position\n * @returns\n */\n private caclTargetByPitch(pitch: number, target: Vector3, position: Vector3) {\n const directionVector = new Vector3().subVectors(target, position)\n const upVector = new Vector3(0, 1, 0)\n const localPitchAxis = new Vector3().crossVectors(directionVector, upVector).normalize()\n\n directionVector.applyAxisAngle(localPitchAxis, MathUtils.degToRad(pitch))\n\n const distance = position.distanceTo(target)\n const newTarget = position.clone().add(directionVector.normalize().multiplyScalar(distance))\n\n return newTarget\n }\n\n /**\n * caclSingleCoordinate\n * @param prevTarget\n * @param prevPosition\n * @param lastTarget\n * @returns\n */\n private caclSingleCoordinate(prevTarget: Vector3, prevPosition: Vector3, lastTarget: Vector3) {\n const directionVector = lastTarget.clone().sub(prevTarget).normalize()\n return directionVector.multiplyScalar(lastTarget.distanceTo(prevTarget)).add(prevPosition)\n }\n\n /**\n * handle camera changed\n */\n private handleChanged() {\n this.controls.addEventListener('change', () => {\n if (!this.isTransitionPeriod) {\n const lookat = this.controls.target\n const position = this.camera.position\n\n sendToMessage(MessageType.Event, 'onCameraChanged', EMessageStatus.Success, undefined, {\n position: position.toArray(),\n target: lookat.toArray(),\n })\n }\n })\n }\n\n /**\n * focus On Position\n * @param params\n */\n focus(params: { target: vector3Array | vector3Array[]; pitch?: number; duration?: number }) {\n return new Promise((res) => {\n const { target: position, pitch, duration } = params\n const moveOptions = () => ({\n duration: (duration && duration * 1000) ?? 1000,\n onUpdate: ({ position, lookat }) => {\n sendToMessage(MessageType.Event, 'onCameraChanged', EMessageStatus.Success, undefined, {\n position: position.toArray(),\n target: lookat.toArray(),\n })\n },\n onComplate: () => {\n res({\n position: this.camera.position.toArray(),\n target: this.controls.target.toArray(),\n isTrigger: true,\n duration: params.duration ?? 0,\n userInput: true,\n pitch: pitch ?? 40,\n })\n },\n }) as ChangeCameraPresetOptions\n\n if (Array.isArray(position[0])) {\n const currentPos = position as vector3Array[]\n const { lastPosition, lastLookat } = this.caclCurrentPos(currentPos, 0)\n\n this.moveCameraTo(\n lastPosition,\n lastLookat,\n pitch,\n moveOptions(),\n )\n }\n else {\n const currentPos = position as vector3Array\n const lastPosition = this.caclSingleCoordinate(this.controls.target, this.camera.position, new Vector3().fromArray(currentPos))\n const lastLookat = this.caclTargetByPitch(0, new Vector3().fromArray(currentPos), lastPosition)\n\n this.moveCameraTo(\n lastPosition,\n lastLookat,\n pitch,\n moveOptions(),\n )\n }\n })\n }\n\n /**\n * set camera\n * @param params\n */\n set(params: { position: vector3Array; target: vector3Array; isTrigger?: boolean; duration?: number }) {\n return new Promise ((res, _) => {\n this.moveCameraTo(\n new Vector3(params.position[0], params.position[1], params.position[2]),\n new Vector3(params.target[0], params.target[1], params.target[2]),\n 0,\n {\n duration: (params.duration && params.duration * 1000) ?? 1000,\n onUpdate: ({ position, lookat }) => {\n params.isTrigger\n && sendToMessage(MessageType.Event, 'onCameraChanged', EMessageStatus.Success, undefined, {\n position: position.toArray(),\n target: lookat.toArray(),\n })\n },\n onComplate: () => {\n res({\n position: this.camera.position.toArray(),\n target: this.controls.target.toArray(),\n isTrigger: true,\n duration: params.duration ?? 0,\n userInput: true,\n })\n },\n })\n })\n }\n\n /**\n * get Camera info\n * @returns\n */\n get() {\n return {\n position: [this.camera.position.x, this.camera.position.y, this.camera.position.z],\n target: [this.controls.target.x, this.controls.target.y, this.controls.target.z],\n }\n }\n\n /**\n * interpolation move camera\n * @param position\n * @param target\n * @param options\n */\n private moveCameraTo(position: Vector3, target: Vector3, pitch = 0, options?: ChangeCameraPresetOptions) {\n const currentPoition = this.camera.position.clone()\n const currentPositionInterpolation = new Vector3()\n\n if (options?.duration === 0) {\n this.camera.position.copy(position)\n this.controls.target.copy(target)\n\n options?.onComplate && options.onComplate()\n return\n }\n\n new TWEEN.Tween({ t: 0, lookat: this.controls.target.clone(), p: 0 }).to({ t: 1, lookat: target, p: (-this.camera.rotation.x + (pitch ? MathUtils.degToRad(-pitch) : 0)) }, options?.duration || 1000)\n .onStart(() => {\n options?.onStart && options.onStart()\n this.controls.enabled = false\n this.isTransitionPeriod = true\n })\n .easing(TWEEN.Easing.Quadratic.InOut)\n .onUpdate(({ t, lookat, p }) => {\n this.controls.target.copy(lookat)\n\n if (pitch)\n // @ts-ignore\n this.camera.rotationParent.x = p\n\n const currentPosition = currentPositionInterpolation.lerpVectors(currentPoition, position, t)\n this.camera.position.copy(currentPosition)\n options?.onUpdate && options.onUpdate({ position: currentPosition, lookat })\n })\n .onComplete(() => {\n options?.onComplate && options.onComplate()\n this.controls.enabled = true\n\n setTimeout(() => {\n this.isTransitionPeriod = false\n })\n })\n .start()\n }\n}\n\nexport default Camera"],"mappings":"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"}
package/dist/sdkEntry.js CHANGED
@@ -64,6 +64,8 @@ var Anov3D = /*#__PURE__*/_createClass(function Anov3D(opts) {
64
64
  });
65
65
  (_scene$controls = scene.controls) === null || _scene$controls === void 0 ? void 0 : _scene$controls.target.copy(camera.target ? new Vector3().fromArray(camera.target) : object2Vector3(defaultCameraParams.lookAt));
66
66
  utils.emitter.emit('scene-completed', scene);
67
+
68
+ // 不考虑 tree-shaking
67
69
  this.sceneControl = scene;
68
70
  this.environment = new Environment(opts.environment);
69
71
  this.poi = new Poi();
@@ -1 +1 @@
1
- {"version":3,"names":["PMREMGenerator","SceneControl","Vector3","lib","use","utils","Poi","Environment","EventBus","Camera","EWeatherType","object2Vector3","Scene","Model","defaultCameraParams","RoomEnvironment","Anov3D","opts","camera","cameraParams","fov","near","far","position","fromArray","scene","orbitControls","defCameraOps","aspect","size","width","container","clientWidth","height","clientHeight","rendererOps","shadowMap","reset","css3DRenderer","ambientLight","render","useframe","renderer","controls","target","copy","lookAt","emitter","emit","sceneControl","environment","poi","eventBus","model","load","pmremGenerator","compileEquirectangularShader","roomEnvironment","fromScene","texture","storeManagement","set"],"sources":["../src/sdkEntry.ts"],"sourcesContent":["import { PMREMGenerator, SceneControl, Vector3, lib, use, utils } from '@anov/3d-core'\nimport { Poi } from '@anov/3d-ability'\nimport Environment from './module/environment'\nimport EventBus from './module/eventBus'\nimport Camera from './module/camera'\nimport { EWeatherType } from './module/environment/weather/type'\nimport type { InitOptions } from './applicationApi'\nimport { object2Vector3 } from './utils/index'\nimport { Scene } from './module/scene'\nimport Model from './module/model'\nimport { defaultCameraParams } from './index'\n\nexport type Override<P, S> = Omit<P, keyof S> & S\n\ntype Anov3DOptions = {\n container: HTMLElement\n size?: {\n width: number\n height: number\n }\n camera?: InitOptions['camera']\n environment?: InitOptions['environment']\n model?: InitOptions['model']\n}\n\nconst { RoomEnvironment } = lib\n\nclass Anov3D {\n private opts: Anov3DOptions\n sceneControl: SceneControl\n environment: Environment\n eventBus: EventBus\n EWeatherType: typeof EWeatherType = EWeatherType\n poi: Poi\n camera: Camera\n scene: Scene\n model: Model\n\n constructor(opts: Anov3DOptions) {\n this.opts = opts\n const { camera = {} } = opts || {}\n\n const cameraParams = {\n fov: camera.fov ?? defaultCameraParams.fov,\n near: camera.near ?? defaultCameraParams.near,\n far: camera.far ?? defaultCameraParams.far,\n position: camera.position ? new Vector3().fromArray(camera.position) : object2Vector3(defaultCameraParams.position),\n }\n\n const scene = new SceneControl({\n orbitControls: true,\n defCameraOps: {\n aspect: (opts?.size?.width ?? opts.container.clientWidth) / (opts?.size?.height ?? opts.container.clientHeight),\n ...cameraParams,\n fov: 60,\n },\n rendererOps: {\n shadowMap: true,\n size: {\n width: opts?.size?.width ?? opts.container.clientWidth,\n height: opts?.size?.height ?? opts.container.clientHeight,\n },\n },\n reset: true,\n css3DRenderer: true,\n ambientLight: true,\n })\n\n scene.render(opts.container)\n\n use.useframe(() => {\n scene.renderer!.render(scene.scene!, scene.camera!)\n })\n\n scene.controls?.target.copy(camera.target ? new Vector3().fromArray(camera.target) : object2Vector3(defaultCameraParams.lookAt))\n\n utils.emitter.emit('scene-completed', scene)\n\n this.sceneControl = scene\n this.environment = new Environment(opts.environment)\n this.poi = new Poi()\n this.eventBus = new EventBus()\n this.camera = new Camera(scene.camera!, scene.controls!)\n this.scene = new Scene()\n this.model = new Model()\n\n if (opts.model) {\n this.model.load(opts.model)\n\n const pmremGenerator = new PMREMGenerator(scene.renderer!)\n pmremGenerator.compileEquirectangularShader()\n\n const roomEnvironment = new (RoomEnvironment as any)()\n scene.scene!.environment = pmremGenerator.fromScene(roomEnvironment, 0.04).texture\n }\n\n utils.storeManagement.set('event-bus', this.eventBus)\n }\n}\n\nexport default Anov3D"],"mappings":"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"}
1
+ {"version":3,"names":["PMREMGenerator","SceneControl","Vector3","lib","use","utils","Poi","Environment","EventBus","Camera","EWeatherType","object2Vector3","Scene","Model","defaultCameraParams","RoomEnvironment","Anov3D","opts","camera","cameraParams","fov","near","far","position","fromArray","scene","orbitControls","defCameraOps","aspect","size","width","container","clientWidth","height","clientHeight","rendererOps","shadowMap","reset","css3DRenderer","ambientLight","render","useframe","renderer","controls","target","copy","lookAt","emitter","emit","sceneControl","environment","poi","eventBus","model","load","pmremGenerator","compileEquirectangularShader","roomEnvironment","fromScene","texture","storeManagement","set"],"sources":["../src/sdkEntry.ts"],"sourcesContent":["import { PMREMGenerator, SceneControl, Vector3, lib, use, utils } from '@anov/3d-core'\nimport { Poi } from '@anov/3d-ability'\nimport Environment from './module/environment'\nimport EventBus from './module/eventBus'\nimport Camera from './module/camera'\nimport { EWeatherType } from './module/environment/weather/type'\nimport type { InitOptions } from './applicationApi'\nimport { object2Vector3 } from './utils/index'\nimport { Scene } from './module/scene'\nimport Model from './module/model'\nimport { defaultCameraParams } from './index'\n\nexport type Override<P, S> = Omit<P, keyof S> & S\n\ntype Anov3DOptions = {\n container: HTMLElement\n size?: {\n width: number\n height: number\n }\n camera?: InitOptions['camera']\n environment?: InitOptions['environment']\n model?: InitOptions['model']\n}\n\nconst { RoomEnvironment } = lib\n\nclass Anov3D {\n private opts: Anov3DOptions\n sceneControl: SceneControl\n environment: Environment\n eventBus: EventBus\n EWeatherType: typeof EWeatherType = EWeatherType\n poi: Poi\n camera: Camera\n scene: Scene\n model: Model\n\n constructor(opts: Anov3DOptions) {\n this.opts = opts\n const { camera = {} } = opts || {}\n\n const cameraParams = {\n fov: camera.fov ?? defaultCameraParams.fov,\n near: camera.near ?? defaultCameraParams.near,\n far: camera.far ?? defaultCameraParams.far,\n position: camera.position ? new Vector3().fromArray(camera.position) : object2Vector3(defaultCameraParams.position),\n }\n\n const scene = new SceneControl({\n orbitControls: true,\n defCameraOps: {\n aspect: (opts?.size?.width ?? opts.container.clientWidth) / (opts?.size?.height ?? opts.container.clientHeight),\n ...cameraParams,\n fov: 60,\n },\n rendererOps: {\n shadowMap: true,\n size: {\n width: opts?.size?.width ?? opts.container.clientWidth,\n height: opts?.size?.height ?? opts.container.clientHeight,\n },\n },\n reset: true,\n css3DRenderer: true,\n ambientLight: true,\n })\n\n scene.render(opts.container)\n\n use.useframe(() => {\n scene.renderer!.render(scene.scene!, scene.camera!)\n })\n\n scene.controls?.target.copy(camera.target ? new Vector3().fromArray(camera.target) : object2Vector3(defaultCameraParams.lookAt))\n\n utils.emitter.emit('scene-completed', scene)\n\n // 不考虑 tree-shaking\n this.sceneControl = scene\n this.environment = new Environment(opts.environment)\n this.poi = new Poi()\n this.eventBus = new EventBus()\n this.camera = new Camera(scene.camera!, scene.controls!)\n this.scene = new Scene()\n this.model = new Model()\n\n if (opts.model) {\n this.model.load(opts.model)\n\n const pmremGenerator = new PMREMGenerator(scene.renderer!)\n pmremGenerator.compileEquirectangularShader()\n\n const roomEnvironment = new (RoomEnvironment as any)()\n scene.scene!.environment = pmremGenerator.fromScene(roomEnvironment, 0.04).texture\n }\n\n utils.storeManagement.set('event-bus', this.eventBus)\n }\n}\n\nexport default Anov3D"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anov/3d",
3
- "version": "0.0.4-alpha23",
3
+ "version": "0.0.4-alpha24",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "MIT",
@@ -20,8 +20,8 @@
20
20
  "@tweenjs/tween.js": "^21.0.0",
21
21
  "localforage": "^1.10.0",
22
22
  "uuid": "^9.0.1",
23
- "@anov/3d-ability": "^0.0.4-alpha6",
24
- "@anov/3d-core": "^0.0.4-alpha17"
23
+ "@anov/3d-ability": "^0.0.4-alpha7",
24
+ "@anov/3d-core": "^0.0.4-alpha18"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/uuid": "^9.0.7"