简体中文
主题
简体中文
主题
相关参考:Scene API / 光照
Web 高级 API 允许你读取默认灯光,也可以在运行时新建灯光对象。
const ambient = await api.getDefaultAmbientLight();const left = await api.getDefaultDirectionalLightLeft();
const right = await api.getDefaultDirectionalLightRight();这些默认灯光是场景内部现成的灯光入口,适合做轻量调优。
const ambient = await api.createAmbientLight('#ffffff', 1.2);
await api.add(ambient);const directional = await api.createDirectionalLight('#ffffff', 2);
await api.add(directional);// [0-1]之间的浮点数。可乘于255转换为8bit-RGB
const [r, g, b] = await api.getLightColor(directional);
const intensity = await api.getLightIntensity(directional);await api.setLightColor(directional, '#ffd27f');
await api.setLightIntensity(directional, 1.5);方向光还有一个目标对象可用于控制照射方向:
const target = await api.getDirectionalLightTarget(directional);
await api.setPosition(target, 0, 0, 0);如果只是想把模型调亮一点、冷一点或暖一点,优先改默认灯光即可。
运行时新增灯光虽然灵活,但也会增加调试复杂度和性能消耗(过多的灯光会严重拖累性能)。
灯光效果通常和以下能力一起调:
在 PBR 模型场景中,这三者通常需要配套调试。