From 5061738cc940c26ff293e79a6c44f6a3fc483f69 Mon Sep 17 00:00:00 2001 From: zhuxudong Date: Fri, 28 Jun 2024 17:30:32 +0800 Subject: [PATCH 1/2] fix: add missed textureFillMode (#2132) --- packages/loader/src/SceneLoader.ts | 1 + .../resources/schema/SceneSchema.ts | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/loader/src/SceneLoader.ts b/packages/loader/src/SceneLoader.ts index 1c357357b..623ca6dba 100644 --- a/packages/loader/src/SceneLoader.ts +++ b/packages/loader/src/SceneLoader.ts @@ -92,6 +92,7 @@ class SceneLoader extends Loader { scene.background.texture = texture; }); promises.push(backgroundPromise); + scene.background.textureFillMode = background.textureFillMode ?? scene.background.textureFillMode; } break; } diff --git a/packages/loader/src/resource-deserialize/resources/schema/SceneSchema.ts b/packages/loader/src/resource-deserialize/resources/schema/SceneSchema.ts index 7370a3ba4..bf490d00c 100644 --- a/packages/loader/src/resource-deserialize/resources/schema/SceneSchema.ts +++ b/packages/loader/src/resource-deserialize/resources/schema/SceneSchema.ts @@ -1,4 +1,11 @@ -import { BackgroundMode, DiffuseMode, FogMode, ShadowCascadesMode, ShadowResolution } from "@galacean/engine-core"; +import { + BackgroundMode, + BackgroundTextureFillMode, + DiffuseMode, + FogMode, + ShadowCascadesMode, + ShadowResolution +} from "@galacean/engine-core"; import type { IReferable } from "@galacean/engine-core/types/asset/IReferable"; import type { IColor, IPrefabFile, IVector3 } from "./BasicSchema"; @@ -13,6 +20,7 @@ export interface IScene extends IPrefabFile { mode: BackgroundMode; color: IColor; texture?: IReferable; + textureFillMode?: BackgroundTextureFillMode; skyMesh?: IReferable; skyMaterial?: IReferable; }; From a90061cbe0eb5d4770ee7a5244d8b8f4d3ccfd8f Mon Sep 17 00:00:00 2001 From: zhuxudong Date: Fri, 28 Jun 2024 17:31:33 +0800 Subject: [PATCH 2/2] fix: scene.nodes may be undefined (#2141) --- packages/loader/src/gltf/GLTFSchema.ts | 2 +- packages/loader/src/gltf/parser/GLTFSceneParser.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/loader/src/gltf/GLTFSchema.ts b/packages/loader/src/gltf/GLTFSchema.ts index 974ef1e6f..1909e54d6 100644 --- a/packages/loader/src/gltf/GLTFSchema.ts +++ b/packages/loader/src/gltf/GLTFSchema.ts @@ -731,7 +731,7 @@ export interface IScene extends IChildRootProperty { /** * The indices of each root node */ - nodes: number[]; + nodes?: number[]; } /** diff --git a/packages/loader/src/gltf/parser/GLTFSceneParser.ts b/packages/loader/src/gltf/parser/GLTFSceneParser.ts index 9d3aebee3..ed5ffaef2 100644 --- a/packages/loader/src/gltf/parser/GLTFSceneParser.ts +++ b/packages/loader/src/gltf/parser/GLTFSceneParser.ts @@ -27,7 +27,7 @@ export class GLTFSceneParser extends GLTFParser { const engine = glTFResource.engine; const isDefaultScene = scene === index; - const sceneNodes = sceneInfo.nodes; + const sceneNodes = sceneInfo.nodes || []; let sceneRoot: Entity; if (sceneNodes.length === 1) {