三维模型加载器组件("Tri"代指3D/Three.js)

基本用法

<template>
  <kq-tri-loader />
</template>

属性

属性 说明 类型 默认值
scene 场景设置 object 场景设置
grid 坐标格辅助对象 object 坐标格设置
camera 相机设置 object 相机设置
orbitCtrl 轨道器器设置 object 加载器设置
models 模型列表 array 模型配置
lights 灯光列表 array 灯光配置
highlight 高亮配置 object 高亮配置
transparent 透明配置 object 透明配置
terrain 地形,当有地形模型时,不设置此值 object 地形配置
skybox 天空盒子,需要指定路径和文件格式。文件名不能变,文件格式根据指定文件格式来。例如:px.jpg, nx.jpg, py.jpg, ny.jpg, pz.jpg, nz.jpg object 天空盒子配置

事件

属性 说明 参数
loaded 模型加载完成 { renderer, scene, camera, handler }
models-progress 模型加载中 { count, total }
object-click 对象点击 { object, handler }
object-mouseover 鼠标经过对象 { object, intersects, handler }
loaded 加载完成 { renderer, scene, camera, handler }
orbitctrl-start 轨道器开始操作 { orbitCtrl, camera }
orbitctrl-change 轨道器操作中 { orbitCtrl, camera }
orbitctrl-end 轨道器操作结束 { orbitCtrl, camera }
orbitctrl-rotating 轨道器自动旋转中 { orbitCtrl, count, angle}
orbitctrl-rotated 轨道器自动旋转结束 { orbitCtrl, count, angle}
keydown 键盘按下 { key}
keyup 键盘抬起 { key}

方法

属性 说明 参数 返回值
showAxesHelper4Object 显示对象坐标轴 (name) null
hideAxesHelper 隐藏坐标轴 null null
getObjects 获取对象列表,第二个参数是指是否克隆材质,防止多个对象用一个公共材质球 [name], isCloneMaterial = false array[object]
getSceneTreeView 获取场景模型对象列表 null array[{name: null, data:[{object}]}]
getAllChildren4Oject 获取对象所有子对象 name array[object]
getScene 获取场景句柄 null null
getRenderer 获取渲染去句柄 null null
getCameras 获取相机句柄,不指定相机名称返回相机列表句柄 (name/index) null
setObjectsHide 设置对象隐藏 (names) null
setObjectsShow 设置对象显示 (names) null
setObjectsHighlight 设置对象高亮 (names, multiple = true) null
setObjectsUnHighlight 设置不高亮对象 (names) null
clearObjectsHighlight 清除高亮 null null
setObjectsTransparent 设置对象透明 (names) null
setObjectsUnTransparent 清除对象透明 (names) null
setObjectsBaseColor 设置对象基础颜色 (names, color) null
restoreObjectsBaseColor 还原对象基础颜色,当使用setObjectsBaseColor方法后,此方法用的比较多 (names) null
setObjectsMaterialColor 设置对象材质颜色 (names, color) null
restoreObjectsMaterialColor 还原对象材质颜色,当使用setObjectsMaterialColor方法后,此方法用的比较多 (names) null
getObjectsPosition 获取对象平移 (names [{z, y, z}]
setObjectsPosition 设置对象平移 (names, position = {z, y, z}, time = 1000) null
getModels 获取模型列表 null array[model]
setModelsRotation 设置模型轴向 (names, rotation = {z, y, z}, time = 1000) null
getObjectsRotation 获取对象旋转 (names) [{z, y, z}]
setObjectsRotation 设置对象旋转 (names, rotation = {z, y, z}) null
setObjectsRotationOnAxis 设置本地对象旋转(x、y、z一般传递一个值) (names, rotation = {z, y, z}) null
setObjectsLoopRotation 设置对象循环旋转 (names, rotation = {z, y, z}) null
getModelCenter 获取模型中心点 (object) object
getOrbitControls 获取轨道器句柄 null object
autoTweenAnimation 自定义补间动画 参数说明 null
setCameraPosition 设置相机位置 (position, callback) null
setCameraRotation 设置相机角度 (rotation, callback) null
getAnimationsList 获取场景中动画列表 null array[{name, model, animations}]
playAnimationMixer 播放动画 参数说明 array[{name, animation, callback}]
resetRoam 重置漫游(第一人人称相机启用),由于浏览器的安全性,需要通过用户主动触发(点击)才可以起效 (value = true) null
resetRoamDelta 设置漫游速度 (value) null
resetModelCenter 设置模型居中场景 null null
setIsolated 设置高亮对象孤立 null null
setUnIsolated 取消高亮对象孤立 null null
setTopView 设置顶视图 null null
setSideView 设置侧视图 null null
setFrontView 设置前视图 null null
getObjectBox 获取对象盒子 (name) THREE.Box3
getObjectSize 获取对象盒子尺寸 (name) THREE.Vector3
getObjectCenter 获取对象盒子中心点 (name) THREE.Vector3
flyToObject 漫游目标对象 ({position, rotation, name}) null
openLight 开灯 参数说明 null
closeLight 关灯 (names, intensity = 0.1) null
setImageTexture4Object 设置对象贴图 (name, url) null
clearImageTexture4Objects 清除对象贴图 (names) null
appendMarkers 追加覆盖物 (markers = [{icon, code, …}]) null
removeMarkers 删除覆盖物 (markers = [{code, …}]) null
clearMarkers 清除覆盖物 () null
setWireframe4Objects 设置网格显示 (names = [], wireframe = true/false) null
showFPS 显示FPS null null
hideFPS 隐藏FPS null null
setMoveSpeed 设置移动速度 (value) null
setRotatedSpeed 设置旋转速度 (value) null
dispose 模型销毁 null null

场景设置

属性 说明 类型 默认值
background 场景背景颜色/图片 string null
clearColor 前景色 string #ffffff

坐标格设置

属性 说明 类型 默认值
show 显示网格线 boolean false
size 坐标格尺寸 string 300
divisions 坐标格细分次数 string 50
colorCenterLine 中线颜色 string #00ff12
colorGrid 中线颜色 string #ffffff

相机设置

属性 说明 类型 默认值
aspect 相机视锥体 number 浏览器视窗宽高比
fov 视野角度 number null
near 近裁剪面距离 number null
far 远裁剪面距离 number null
name 相机名称,随意命名,唯一值 string null
position 相机位置 object {x: 0, y: 0, z: 0}
rotation 相机旋转角度 object {x: 0, y: 0, z: 0}
lookAt 相机焦点定位 object {x: 0, y: 0, z: 0}

加载器设置

属性 说明 类型 默认值
alpha 加载器缓冲器是否允许透明值 boolean true
antialias 是否启用锯齿处理 boolean true
autoClear 渲染器是否应在渲染每一帧前自动清除 boolean true
orbitCtrl 是否使用轨道器 boolean/object 轨道器配置
pointer 启用指针 boolean true
resize 浏览器窗口变化时,是否改变场景大小 boolean true
shadow 阴影启动 boolean true
width 宽度 number null
height 高度 number null

模型配置

属性 说明 类型 默认值
name 模型名称,随意命名,唯一不可重复 string null
src 模型路径 string null
type 模型类型 string 模型类型
hide 是否隐藏 boolean null

灯光配置

属性 说明 类型 默认值
name 灯光名称,随意命名,唯一不可重复 string null
castShadow 启用投射阴影 boolean true
color 灯光颜色 string/number #ffffff
intensity 亮度 number 1
position 灯光位置 object {x: 0, y: 0, z: 0}
shadowMapSize 灯光投射影长 object {width: 512, height: 512}
type 灯光类型 string 灯光类型

高亮配置

属性 说明 类型 默认值
edgeStrength 描边强度(越大越粗) number 10
blur 是否应该模糊轮廓 boolean false
pulseSpeed 脉冲频率 number 0.1
visibleEdgeColor 可见轮廓颜色(十六进制) color #ffffff
hiddenEdgeColor 被遮挡部分的轮廓颜色 color 0x220090a
useInMouseover 鼠标放置对象上去显示高亮 boolean null
useInClick 点击对象显示高亮 boolean null

透明配置

属性 说明 类型 默认值
color 透明颜色 hex 0x88ccff
opacity 透明度 number 0.5
depthWrite 避免遮挡后面的物体 boolean false
useInMouseover 鼠标放置上去显示透明 boolean null
useInClick 点击显示透明 boolean null

灯光类型

属性 说明 类型 性能消耗
ambient 环形光,基本光照(默认值) string
directional 太阳光, 平行光 string
point 点光源,灯泡、点光源 string
spot 聚光灯,手电筒、聚光灯 string
hemisphere 半球光,户外环境光 string
rectArea 矩形区域光,窗户、灯箱 string

轨道器配置

属性 说明 类型 默认值
autoRotate 自动旋转 boolean false
maxAutoRotations 最大旋转周数,一般和autoRotate结合使用 number null
autoRotateSpeed 自动旋转速速;从顶视图看,正值是逆时针;负值是顺时针 number 2.0
enableDamping 是否启用阻尼惯性 boolean true
dampingFactor 阻尼系数 number 0.05
maxDistance 相机距离目标点的最大距离 number 100
minDistance 相机距离目标点的最小距离 number 1
useRoam 使用漫游(wasd键) boolean null
roamDelta 漫游速度 number 0.2

模型类型

属性 说明 类型 默认值
gltf gltf,不允许大写 string null
glb glb,不允许大写 string null
fbx fbx,不允许大写 string null

自定义补间动画参数说明

属性 说明 类型 默认值
prop 动画属性 null 属性配置
value 目标位置 {x, y, z} null
time 执行时间(ms) number 1000
easing 动画类型 string TWEEN.Easing.Quadratic.Out
callback 动画执行完毕回调函数 function null

模型剪辑动画参数说明

属性 说明 类型 默认值
name 动画名称 string null
start 开始时间(s) number null
time 执行时间(s) number null
timeScale 播放倍速(负值为倒放) number 1000
loop 循环次数 number 1
clamp 是否停留之后一帧 boolean true
callback 动画指定完毕回调 function null

开灯参数说明

属性 说明 类型 默认值
names 对象名称 array null
emissive 灯光贴图路径 string null
hz 灯光赫兹频率 number null
intensity 灯光亮度 number 0.5
light 灯光颜色 color null
callback 回调 function({hz, object}) null

自定义补间动画prop动画属性

属性 说明 类型 默认值
position 平移动画 position null
rotation 旋转动画 rotation null

地形参数

属性 说明 类型 默认值
plane 地形几何体 object 几何体配置
heightmap 高度图/灰度高度图地址 string null

天空盒子

属性 说明 类型 默认值
path 文件路径,例如:/data/skybox/ string null
format 图片格式化 string null
px 正X轴方向(右面) string null
nx 负X轴方向(左面) string null
py 正Y轴方向(上面) string null
ny 负Y轴方向(下面) string null
pz 正Z轴方向(前面) string null
nz 负Z轴方向(后面) string null

地形几何体配置

属性 说明 类型 默认值
width 平面沿 X 轴的宽度(可选) number 200
height 平面沿 Y 轴的高度(可选) number 200
widthSegments 沿宽度方向的分段数(可选) number 100
heightSegments 沿高度方向的分段数(可选) number 100

results matching ""

    No results matching ""