Model
Model
继承自 DTModel ,表示三维场景中的三维模型,并可对其进行管理控制,这些操作包括:颜色设置 、旋转 、缩放 、透明度 、位置 、隐藏 、显示 等。
属性
target
目标模型
- 类型: Object3D
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 });
v4.1.6
attach( )添加模型
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);
});
v4.1.6
replace( )替换模型
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);
});