UNPKG

@vci/quick-three

Version:

quick three

33 lines (31 loc) 1.66 kB
import { CubeTextureLoader, LinearSRGBColorSpace, NoColorSpace, SRGBColorSpace } from "three"; import { resourceRootAliyun } from "@vci/vci/config/api"; async function createEnvCubeTexture(qt) { const manager = qt.lm ? qt.lm.manager : null; const textureEvn = await new CubeTextureLoader(manager).loadAsync([ `${resourceRootAliyun}/textures/cube-sky-night/px.jpg`, `${resourceRootAliyun}/textures/cube-sky-night/nx.jpg`, `${resourceRootAliyun}/textures/cube-sky-night/py.jpg`, `${resourceRootAliyun}/textures/cube-sky-night/ny.jpg`, `${resourceRootAliyun}/textures/cube-sky-night/pz.jpg`, `${resourceRootAliyun}/textures/cube-sky-night/nz.jpg`, ]); qt.environmentMap = textureEvn; const scene = qt.scene; scene.background = textureEvn; scene.environment = textureEvn; qt.scene.backgroundBlurriness = 0; if (qt.debug && qt.gui) { qt.gui.guis.env && qt.gui.gui().removeFolder(qt.gui.guis.env); qt.gui.guis.env = qt.gui.gui().addFolder("环境贴图").close(); qt.gui.guis.env.add({ visibleBg: true }, "visibleBg").name("显示环境").onChange(e => e ? qt.scene.background = qt.environmentMap : qt.scene.background = null); qt.gui.guis.env.add(qt.scene, "backgroundBlurriness", 0, 1, 0.01).name("环境模糊度"); qt.gui.guis.env.add(textureEvn, "colorSpace", { "NoColorSpace": NoColorSpace, "SRGBColorSpace": SRGBColorSpace, "LinearSRGBColorSpace": LinearSRGBColorSpace }).name("colorSpace").onChange(e => { textureEvn.colorSpace = e; textureEvn.needsUpdate = true; }).listen(); } return textureEvn; } export { createEnvCubeTexture };