新增相机限制

This commit is contained in:
2026-05-20 16:40:47 +08:00
parent 8dc9371cc5
commit b5b70251e2
7 changed files with 177 additions and 78 deletions

View File

@ -29,8 +29,7 @@ export class AppCamera extends Monobehiver {
this.object.panningSensibility = 0;
// 限制垂直角范围,实现上帝视角
// this.object.upperBetaLimit = Tools.ToRadians(60); // 最大垂直角接近90度避免万向锁
// this.object.lowerBetaLimit = Tools.ToRadians(60); // 最小垂直角
this.object.upperBetaLimit = Tools.ToRadians(90); // 最大垂直角接近90度避免万向锁
this.object.position = new Vector3(-0, 10, 0);
this.setTarget(0, 2, 0);

View File

@ -12,7 +12,7 @@ export const AppConfig = {
envPath: '/hdr/sanGiuseppeBridge.env',
intensity: 1.5,
rotationY: 0,
background: true,
background: false,
},
gizmo: {
position: true,

View File

@ -554,6 +554,24 @@ export class AppModel extends Monobehiver {
return undefined;
}
/**
* 获取所有模型的元数据
* @returns 所有模型的元数据数组
*/
getAllModelMetadata(): ModelMetadata[] {
const keys = this.modelDic.Keys();
const metadataList: ModelMetadata[] = [];
for (const key of keys) {
const metadata = this.modelMetadataDic.Get(key);
if (metadata) {
metadataList.push(metadata);
}
}
return metadataList;
}
private getModelTransformTargets(meshes: AbstractMesh[]): AbstractMesh[] {
const meshSet = new Set<AbstractMesh>(meshes);
const rootMeshes = meshes.filter(mesh => !mesh.parent || !meshSet.has(mesh.parent as AbstractMesh));