@vci/quick-three
Version:
quick three
31 lines (29 loc) • 1.12 kB
JavaScript
import { mergeDeep } from "@vci/helper/src/object";
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 };