# ResetView toturial - To use this function, you should make sure each model has same `default` viewpoint. - And this function is often used in conjunction with the shared view method. - setup html ```html ``` - setup environment ```ts import * as Copper from "gltfloader-plugin-test"; import { getCurrentInstance, onMounted } from "vue"; let refs = null; let appRenderer: Copper.copperRenderer; let viewpoint: Copper.CameraViewPoint | undefined; let scene: Copper.copperScene | undefined; let allScenes: Array = []; onMounted(() => { let { $refs } = (getCurrentInstance() as any).proxy; refs = $refs; const bg: HTMLDivElement = refs.base_container; appRenderer = new Copper.copperRenderer(bg, { guiOpen: true }); appRenderer.animate(); }); ``` - load model ```ts function loadModel(url: string, name: string) { if (scene) { sharePosition(scene); } scene = appRenderer.getSceneByName(name); if (scene == undefined) { scene = appRenderer.createScene(name); allScenes.push(scene as Copper.copperScene); if (scene) { appRenderer.setCurrentScene(scene); scene.loadGltf(url, () => { if (viewpoint) { scene && scene.updateCamera(viewpoint); } }); scene.loadViewUrl("/noInfarct_view.json"); scene.updateBackground("#5454ad", "#18e5a7"); } Copper.setHDRFilePath("venice_sunset_1k.hdr"); appRenderer.updateEnvironment(); } else { if (viewpoint) scene.updateCamera(viewpoint); appRenderer.setCurrentScene(scene); } } ``` - reset model ```ts function sharePosition(scene: Copper.copperScene) { const target = [-0.9551143646240234, 2.91867446899414, 2.7563438415527344]; viewpoint = scene.setViewPoint(scene.camera, target); } function reset() { viewpoint = undefined; allScenes.forEach((scene) => { scene.resetView(); }); } ```