Browse Source

视角限制,增加纵坐标的限制,以“WAI”节点是世界坐标y为最小相机目标y

dev
刘向辉 3 years ago
parent
commit
12856705e0
  1. 22
      README.md
  2. 3
      src/app/babylon/model/info/model/model-info-building.ts
  3. 36
      src/app/babylon/view/building-window/building-window.ts

22
README.md

@ -1,5 +1,27 @@
# 中国石化加油站项目
## 🌼v1.1.0
### 🌻 简介
> 时间:2022、1、22 周六
> 增加镜头限制、增加吸附功能
### 🌻 详情
> 前端部分
- [🚩 重大变更]
- [🌱 新增]
- [🍀 完善]
> 三维部分
- [🚩 重大变更]
- [🌱 新增] 摄像头旋转时设置限制,避免看到场景的底部
- [🌱 新增] 增加建筑吸附、对齐到场景中的功能,确定对齐规则,使用“WAI”节点作为插槽
- [🍀 完善]
## 🌼v1.0.9
### 🌻 简介

3
src/app/babylon/model/info/model/model-info-building.ts

@ -12,6 +12,7 @@ import { StatusManager } from "src/app/babylon/controller/status/status-manager"
import { BabylonUIStyleTool } from "src/app/babylon/tool/babylon-ui-style-tool";
import { GizmoTool } from "src/app/babylon/tool/gizmo-tool";
import { TsTool } from "src/app/babylon/tool/ts-tool";
import { BuildingWindow } from "src/app/babylon/view/building-window/building-window";
import { FacilityWindow } from "src/app/babylon/view/facility-window/facility-window";
@ -50,7 +51,7 @@ export class ModelInfo_building extends ModelInfo {
for (let i = 0; i < allTransformNode.length; i++) {
if (TsTool.stringContain(allTransformNode[i].name, "WAI")) {
this.neiRoot = allTransformNode[i];
BuildingWindow.instance.setLimitCameraY_min(this.neiRoot.absolutePosition.y);
break;
}
}

36
src/app/babylon/view/building-window/building-window.ts

@ -342,6 +342,7 @@ export class BuildingWindow extends UIBase {
onUpdate() {
this.updateUVAnim();
this.updateLimitCameraY();
}
@ -1091,8 +1092,6 @@ export class BuildingWindow extends UIBase {
}
/**
*
*/
@ -1128,6 +1127,39 @@ export class BuildingWindow extends UIBase {
//#endregion
//#region 限制摄像机Y
/**
* Y高度的限制
*/
limitCameraY_min: number = null;
/**
* target最小Y
* @param value
*/
setLimitCameraY_min(value: number) {
this.limitCameraY_min = value;
}
/**
* Y
*/
updateLimitCameraY() {
if (SceneManager.Instance.defaultCamera != null) {
if (this.limitCameraY_min != null) {
if (SceneManager.Instance.defaultCamera.target.y < this.limitCameraY_min) {
SceneManager.Instance.defaultCamera.target.y = this.limitCameraY_min;
}
}
}
}
//#endregion
}

Loading…
Cancel
Save