1
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
yinsx
2026-01-05 16:40:08 +08:00
parent 260c7e706c
commit 99da97fcb4
8 changed files with 35 additions and 36 deletions

View File

@ -2,6 +2,7 @@ import { ArcRotateCamera } from '@babylonjs/core/Cameras/arcRotateCamera';
import { Vector3 } from '@babylonjs/core/Maths/math.vector';
import { Tools } from '@babylonjs/core/Misc/tools';
import { Monobehiver } from '../base/Monobehiver';
import { AppConfig } from './AppConfig';
/**
* 相机控制类- 负责创建和控制弧形旋转相机
@ -17,7 +18,7 @@ export class AppCamera extends Monobehiver {
/** 初始化相机 */
Awake(): void {
const scene = this.mainApp.appScene.object;
const canvas = this.mainApp.appDom.renderDom;
const canvas = AppConfig.container;
if (!scene || !canvas) return;
// 创建弧形旋转相机水平角70度垂直角80度距离5目标点(0,1,0)

View File

@ -6,7 +6,7 @@ type ErrorCallback = ((error?: unknown) => void) | null | undefined;
* 共享运行时配置对象
*/
export const AppConfig = {
container: 'renderDom',
container: document.querySelector('#renderDom') as HTMLCanvasElement,
modelUrlList: [] as string[],
env: {
envPath: '/hdr/sanGiuseppeBridge.env',

View File

@ -1,5 +1,6 @@
import { Engine } from '@babylonjs/core/Engines/engine';
import { Monobehiver } from '../base/Monobehiver';
import { AppConfig } from './AppConfig';
/**
* 渲染引擎管理类 - 负责创建和管理3D渲染引擎
@ -15,7 +16,7 @@ export class AppEngin extends Monobehiver {
}
Awake(): void {
this.canvas = this.mainApp.appDom.renderDom;
this.canvas = AppConfig.container;
if (!this.canvas) {
throw new Error('Render canvas not found');
}

View File

@ -44,7 +44,7 @@ export class MainApp {
* @param config 配置对象
*/
loadAConfig(config: any): void {
AppConfig.container = config.container || 'renderDom';
AppConfig.container = config.container ;
AppConfig.modelUrlList = config.modelUrlList || [];
AppConfig.env = config.env;
}

View File

@ -37,23 +37,10 @@ const kernel = {
init: async function (params: InitParams): Promise<void> {
if (!params) { console.error('params is required'); return; }
if (params.apiConfig) {
await configurator.init(params.apiConfig);
if (params.apiConfig.name) {
const userInfo = await auth.login(params.apiConfig.name);
if (!userInfo) {
console.error('failed to fetch user');
return;
}
}
}
mainApp = new MainApp();
mainApp.loadAConfig({
container: params.container || 'renderDom',
container: params.container || document.querySelector(params.container),
modelUrlList: params.modelUrlList || [],
success: params.onSuccess ?? null,
error: params.onError ?? null,
env: params.env
});