Просмотр исходного кода

Add legacy support for loading tonemap settings and camera properties

master
Palash Bansal 2 лет назад
Родитель
Сommit
47a021a124
Аккаунт пользователя с таким Email не найден

+ 1
- 1
examples/tweakpane-editor/script.ts Просмотреть файл

@@ -23,7 +23,7 @@ async function init() {
rgbm: true,
dropzone: {
addOptions: {
clearSceneObjects: false,
clearSceneObjects: false, // clear the scene before adding new objects on drop.
},
},
})

+ 1
- 1
src/assetmanager/IExporter.ts Просмотреть файл

@@ -22,7 +22,7 @@ export type ExportFileOptions = {
/**
* Export and bundle the viewer config (scene settings).
* only works for rootSceneModelRoot and supported only in GLTFExporter2 {@link GLTFExporter2Options.viewerConfig}
* @default true
* {@default true}
*/
viewerConfig?: boolean,


+ 16
- 2
src/core/camera/PerspectiveCamera2.ts Просмотреть файл

@@ -253,9 +253,23 @@ export class PerspectiveCamera2 extends PerspectiveCamera implements ICamera {
}

fromJSON(data: any, meta?: any): this | null {
if (data.camOptions || data.aspect === 'auto')
data = {...data}
if (data.camOptions) {
// todo
console.error('todo: old file camOptions')
const op = data.camOptions
if (op.fov) data.fov = op.fov
if (op.focus) data.focus = op.focus
if (op.zoom) data.zoom = op.zoom
if (op.aspect) data.aspect = op.aspect
// todo: add support for this
// if (op.left) data.left = op.left
// if (op.right) data.right = op.right
// if (op.top) data.top = op.top
// if (op.bottom) data.bottom = op.bottom
// if (op.frustumSize) data.frustumSize = op.frustumSize
// if (op.controlsMode) data.controlsMode = op.controlsMode
// if (op.controlsEnabled) data.controlsEnabled = op.controlsEnabled
delete data.camOptions
}
if (data.aspect === 'auto') {
data.aspect = this.aspect

+ 8
- 2
src/plugins/postprocessing/TonemapPlugin.ts Просмотреть файл

@@ -161,9 +161,15 @@ export class TonemapPlugin extends AViewerPluginSync<''> implements MaterialExte
delete data.extension.enabled
delete data.pass
}
// legacy
if (data.extension) {
console.error('TODO: old file')
return null
data = {...data, ...data.extension}
delete data.extension
if (data.clipBackground !== undefined) {
if (this._viewer) this._viewer.renderManager.screenPass.clipBackground = data.clipBackground
else console.warn('TonemapPlugin: no viewer attached, clipBackground ignored')
delete data.clipBackground
}
}
return super.fromJSON(data, meta)
}

Загрузка…
Отмена
Сохранить