UNPKG

@vci/quick-three

Version:

quick three

31 lines (29 loc) 1.08 kB
import { mergeDeep } from "@vci/helper"; import { AmbientLight, Color } from "three"; import { createLightHelper } from "./createLightHelper"; function createAmbientLight(option) { const { qt, name, parent, intensity, color } = mergeDeep({ qt: null, name: null, parent: null, color: "#fff", intensity: 1 }, option); const ambientLight = new AmbientLight(color, intensity); if (qt) { const key = `ambientLight@${ambientLight.uuid}`; qt.lights.set(key, ambientLight); qt.scene.add(ambientLight); const op = parent || qt.scene; if (qt.debug && qt.gui) { qt.gui.guis[key] = qt.gui.guis.light.addFolder(name || key); qt.gui.guis[key].addColor({ color: ambientLight.color.getHex() }, "color").name("光照颜色").onChange(e => ambientLight.color = new Color(e)); qt.gui.guis[key].add(ambientLight, "intensity").name("光强").step(0.1).listen(); qt.gui.guis[key].close(); } // 创建光照助手 createLightHelper(qt, ambientLight, op); } return ambientLight; } export { createAmbientLight };