简体中文
主题
简体中文
主题
这一页聚焦 3D 渲染层最基础、最常用的一组能力。
const camera = await api.getDefaultCamera();注意,这是3D渲染中的透视相机概念,不是手机上的摄像头硬件。
const fov = await api.getCameraFov(camera);
await api.setCameraFov(camera, 55);
const aspect = await api.getCameraAspect(camera);
await api.setCameraAspect(camera, aspect);
await api.updateCameraProjectionMatrix();还支持:
getCameraNear() / setCameraNear()getCameraFar() / setCameraFar()getCameraWorldDirection()await api.setEnableMask(obj);
await api.setDisableMask(obj);await api.setObjectAlpha(obj, 'blend', 0.5);setObjectAlpha() 更适合配合已有对象做透明度和裁切相关处理。
除了blend,还支持:
none - 不透明blend - 透明 / 半透明clip-legacy - Kivicube平台的旧版本透明裁切实现,仅作兼容,不建议使用clip - 标准的透明裁切实现cutOff = 0.5参数,代表裁切透明度的阈值。
setGLState() 可以直接修改一部分材质级渲染状态。
await api.setGLState(obj, 'transparent', true, true);
await api.setGLState(obj, 'opacity', 0.6, true);当前支持的字段有:
sideshadowSideblendingtransparentopacityalphaTestdepthTestdepthWritecolorWrite第四个参数 recursive 为 true 时,会递归应用到子节点。
适合:
如果你发现自己在宿主层频繁改很多底层渲染状态,通常意味着: