LineBasicMaterial
描述
用于绘制纯色线条的基础材质,支持颜色、线宽和纹理映射。常用于THREE.Line
或THREE.LineSegments
几何体。
构造函数 (Constructor)
构造函数 | 参数 | 描述 |
---|---|---|
LineBasicMaterial(parameters?: Object) | parameters | 定义材质外观的对象,可包含所有属性(包括继承自Material 的属性)。特殊处理: color 支持十六进制字符串(如'#ff0000' ),默认0xffffff (白)。 |
属性 (Properties)
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
.color | Color | 0xffffff | 线条颜色(支持Color 所有构造函数格式) |
.fog | Boolean | true | 是否受场景雾效影响 |
.linewidth | Float | 1 | 实际限制:WebGL中通常固定为1 |
.linecap | String | 'round' | 线端样式(butt/round/square ),仅影响Canvas渲染 |
.linejoin | String | 'round' | 线交点样式(round/bevel/miter ),仅影响Canvas渲染 |
.map | Texture? | null | 纹理贴图(需UV坐标支持) |
方法 (Methods)
继承自Material
基类:
方法 | 描述 |
---|---|
.clone() | 返回材质副本 |
.copy(material) | 复制参数材质属性 |
.dispose() | 释放GPU资源 |
.setValues(values) | 批量设置属性 |
示例
// 创建红色虚线材质
const material = new THREE.LineBasicMaterial({
color: '#ff0000', // CSS颜色格式
linewidth: 2, // 注意:WebGL中可能无效
fog: false // 禁用雾效
});
// 应用材质到线段
const points = [
new THREE.Vector3(0, 0, 0),
new THREE.Vector3(10, 5, 0)
];
const geometry = new THREE.BufferGeometry().setFromPoints(points);
const line = new THREE.Line(geometry, material);
scene.add(line);