LoadGltf Tutorial
1. LoadGltf Tutorial#
In Vue environment.
Create a container
<template> <div id="bg" ref="base_container"></div> </template> <style> #bg { width: 100vw; height: 100vh; } </style>
load
GLTFmodelimport * as Copper from "gltfloader-plugin-test"; import { getCurrentInstance, onMounted } from "vue"; let refs = null; let appRenderer; onMounted(() => { let { $refs } = getCurrentInstance().proxy; refs = $refs; const bg = refs.base_container; appRenderer = new Copper.copperRenderer(bg, { guiOpen: true }); loadModel("your gltf model url", "identify a name for this model's scene"); appRenderer.animate(); });
function loadModel(url, name) { let scene1 = appRenderer.getSceneByName(name); if (scene1 == undefined) { const scene = appRenderer.createScene(name); if (scene) { appRenderer.setCurrentScene(scene); scene.loadGltf(url); /*scene.loadViewUrl("/your viewpoint.json");*/ /*scene.updateBackground("#5454ad", "#18e5a7");*/ } /*Copper.setHDRFilePath("venice_sunset_1k.hdr");*/ /*appRenderer.updateEnvironment();*/ } else { appRenderer.setCurrentScene(scene1); } }
Expansion
load your model viewpoint Data structure
{ nearPlane: number = 0.1; // camera near farPlane: number = 2000.0; // camera far eyePosition: Array<number> = [0.0, 0.0, 0.0]; //camera position targetPosition: Array<number> = [0.0, 0.0, 0.0]; // camera target (look at) upVector: Array<number> = [0.0, 1.0, 0.0]; // camera up }
scene.loadViewUrl("/your viewpoint.json");
update the default background color
scene.updateBackground("#5454ad", "#18e5a7");
If you want setup your background environment
prepare a .hdr file
load .hdr file
Copper.setHDRFilePath("venice_sunset_1k.hdr"); appRenderer.updateEnvironment();