vue-three-box
install
npm install vue-three-box
global use
// src/main.js
import VueThreeBox from 'vue-three-box'
Vue.use(VueThreeBox)
local use
import { ThreeScene, ThreeCamera, ThreeLight, ThreeFbxModel } from '../packages/index.js'
export default {
components: { ThreeScene, ThreeCamera, ThreeLight, ThreeFbxModel }
}
mixin, not a component
Props
name | type | default | other |
---|
position | Array | [0,0,0] | --- |
rotation | Array | [0,0,0] | in 'XYZ' order |
scale | Array | [1,1,1] | --- |
invisible | Boolean | false | --- |
Usage
<three-fbx-model src="path/to/modelfile"
:position=[0,100,0]
:rotation=[0,90,0]
:scale=[1,1,1]
invisible></three-fbx-model>
ThreeScene
base container put other components in it
Props
name | type | default | other |
---|
width | Number | 500 | |
height | Number | 500 | |
background | Number | 0xffffff | use hexadecimal |
Events
name | description |
---|
onLoad | triggered on load finish |
onProgress | triggered during loading |
onError | triggerd when error happend |
Usage
<three-scene
:width=500 :height=500
:background=0xaabbcc></three-scene>
ThreeCamera
PerspectiveCamera component
Props
name | type | default | other |
---|
fov | Number | 45 | |
near | Number | 1 | |
far | Number | 2000 | |
Usage
<three-scene>
<three-camera :fov=50
:near=10 :far=1000></three-camera>
</three-scene>
ThreeLight
Light component
Props
name | type | default | other |
---|
type | String | | required |
color | Number | 0xffffff | use hexadecimal |
intensity | Number | 1 | |
Types
type | LightType |
---|
ambient | AmbientLight |
directional | DirectionalLight |
hemisphere | HemisphereLight |
point | PointLight |
spot | SpotLight |
Usage
<three-scene>
<!-- add ambient light to the scene -->
<three-light type="ambient"
:color="0xaabbcc" :intensity="0.2"></three-light>
<three-camera :fov=50
:near=10 :far=1000>
<!-- add two directional light to camera -->
<three-light type="directional" :position="[270, 250, 280]" :intensity="1"></three-light>
<three-light type="directional" :position="[-114, 290, -62]" :intensity="0.4"></three-light>
</three-camera>
</three-scene>
ThreeFbxModel
Model component for .fbx file
Props
name | type | default | other |
---|
src | String | | required |
animated | Boolean | false | |
Usage
<three-scene>
<!-- add fbx model to the scene and set to animated -->
<three-fbx-model
:position="[0,0,100]"
src="/path/to/fbxFile"
animated></three-fbx-model>
</three-scene>