Model

Model 继承自 DTModel ,表示三维场景中的三维模型,并可对其进行管理控制,这些操作包括:颜色设置旋转缩放透明度位置隐藏显示 等。

属性

target

目标模型

modelId

模型id

  • 类型: string

color

模型颜色

  • 类型: string

  • 说明: 设置颜色的格式为: "yellow 0.5" ,以空格为分隔符,前面是颜色,后面是透明度;支持threejs color的所有格式;若传入空字符串,则还原模型颜色。

opacity

模型透明度

  • 类型: number

disabled

模型是否禁用,禁用后无法设置为selected

  • 类型: boolean

selected

模型是否选中

  • 类型: boolean

方法

add( )

添加模型

function add: async (model: WebglModel) => Promise<void>
  • 参数

    • model: 模型对象
  • 返回值

    • Promise<void>
  • 示例

import * as THREE from "three";
...省略获取meta实例的步骤...

const component = meta.get("ModelId");
const model = component.model;
const geometry = new THREE.BoxGeometry(5, 5, 5);
const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
const cube = new THREE.Mesh(geometry, material);
model.add({ target: cube });

attach( ) v4.1.6

添加模型

function attach: async (model: WebglModel) => Promise<void>
  • 参数

    • model: 模型对象
  • 返回值

    • Promise<void>
  • 示例

...省略获取meta实例的步骤...

const component = meta.get("ModelId")!;
const model = component.model;
meta.createComponent("/model_2.glb").then((target: any) => {
    //设置target对应的坐标
  target.model.position.set(7, 5, 100); 
  model.attach(target.model);
});

replace( ) v4.1.6

替换模型

function replace: (model: WebglModel) => void
  • 参数

    • model: 模型对象
  • 返回值

    • void
  • 示例

...省略获取meta实例的步骤...

const component = meta.get("ModelId")!;
const model = component.model;
meta.createComponent("/model_2.glb").then((target: any) => {
    //设置target对应的坐标
  target.model.position.set(7, 5, 100); 
  model.replace(target.model);
});
上次更新:
贡献者: zhengqian, huangcx708, yanhao, yangxun