worldScaling
空间场景的初始化属性之一,worldScaling 会影响空间场景创建后被用户拖拽在水平方向上移动时的行为。
只有 volume 类型的空间场景才支持 worldScaling。
适用范围与设置方式
| 项目 | 内容 |
|---|---|
| 适用于 | 仅适用于 volume 类型空间场景。 |
| 新场景 | 通过 initScene 设置。 |
| 起始场景 | 通过 Web App Manifest 设置。 |
| 默认值 | "automatic" |
类型定义
"automatic" | "dynamic"
示例
使用 initScene
通过 initScene 设置新场景的 worldScaling
import { initScene } from "@webspatial/react-sdk";
initScene("newSceneName", defaultConfig => {
return {
...defaultConfig,
type: "volume",
worldScaling: "dynamic",
};
});
window.open(newSceneUrl, "newSceneName");
使用 Web App Manifest
Manifest 属性命名
在 Web App Manifest 里,建议把 worldScaling 这样的驼峰属性名改成 world_scaling 这样的全小写下划线写法。
通过 Web App Manifest 设置起始场景的 world_scaling
{
"name": "example app",
"start_url": "/",
"xr_main_scene": {
"type": "volume",
"world_scaling": "dynamic"
}
}
默认值
"automatic"
可接受的值
| 取值 | 含义 |
|---|---|
"automatic" | 移动时会产生近大远小的缩放效果,更像现实世界中的物体。 |
"dynamic" | 移动时始终相对于用户视野保持大小不变,和 window 类型空间场景的默认行为一致。 |