跳到主要内容

模型分间标签

ModelRoomLabelPlugin

功能说明

模型分间标签插件 集成了一套能够在模型状态下快速查看房间名称 & 快速访问房间全景的交互。

详细功能点如下:

  • 在模型态下,用标签展示对应的房屋名称。
  • 当标签标记的房间被其他房屋所遮挡时,自动隐藏此标签。
  • 移动模型时,对应标签也能跟随模型移动。
  • 点击标签时,从模型状态切换到全景,并移动到对应的房间中心的点位上。
  • 切换到房间时,相机视角会朝向房间中心。

效果展示

点击空间总览按钮,查看空间总览模态下的房屋标签效果。

安装引用

请按需选择 yarnnpm 安装方式:

npm install @realsee/dnalogel

通过 es 引用:

import { ModelRoomLabelPlugin } from "@realsee/dnagel";

开发指南

初始化

在初始化 Five 实例时,将 ModelRoomLabelPlugin 配置在初始化插件参数即可。

import { Five } from "@realsee/five";
import { ModelRoomLabelPlugin } from "@realsee/dnalogel";

const five = new Five({
plugins: [
[
ModelRoomLabelPlugin,
"modelRoomLabelPlugin", // 自定义插件名称
{
// 参数配置
},
],
],
});

React 初始化

在创建 FiveProvider 时,将 ModelRoomLabelPlugin 配置在初始化插件参数即可。

import { ModelRoomLabelPlugin } from "@realsee/dnalogel";
import { createFiveProvider, FiveCanvas } from "@realsee/five/react";

const FiveProvider = createFiveProvider({
plugins: [
[
ModelRoomLabelPlugin,
"modelRoomLabelPlugin", // 自定义插件名称
{
// 参数配置
},
],
],
});

Vue 初始化

在使用 FiveProvider 时,将 ModelRoomLabelPlugin 配置在初始化插件参数即可。

<template>
<FiveProvider :fiveInitArgs="fiveInitArgs"> </FiveProvider>
</template>
<script setup>
import ModelRoomLabelPlugin from "@realsee/dnalogel/libs/ModelRoomLabelPlugin";
import { FiveProvider, FiveCanvas } from "@realsee/five/vue";
const fiveInitArgs = {
plugins: [
[
ModelRoomLabelPlugin,
"modelRoomLabelPlugin", // 自定义插件名称
{
// 参数配置
},
],
],
};
</script>

载入数据

// 获取插件实例,其中 `modelRoomLabelPlugin` 是初始化时自定义的名称
const pluginInstance = five.plugins.modelRoomLabel;

// 调用 `load` 方法载入模型房屋标签数据
pluginInstance.load(modelRoomLabels);

节点挂载

// 调用 appendTo(wrapper: Element) 方法挂载 DOM 节点
five.plugins.modelRoomLabel.appendTo(wrapper);

// 示例
React.useEffect(() => {
// plugin-full-screen-container 即为提前准备好的挂载节点
const wrapper = document.querySelector(".plugin-full-screen-container");
if (wrapper) {
five.plugins.modelRoomLabelPlugin.appendTo(wrapper);
}
}, []);

核心方法

  • load(data: ModelRoomLabelPluginData) 载入插件数据

您需要手动载入插件数据,数据来源请阅读如视开放平台 API

  • appendTo(wrapper: Element) 挂载 DOM 节点

您可以将插件 DOM 模块载入您的 HTML 结构中。

demo 源码参考

demo 源码参考