click on 3d object ok
This commit is contained in:
+30
-2
@@ -68,18 +68,22 @@ export default {
|
|||||||
},
|
},
|
||||||
mixins: [mixins],
|
mixins: [mixins],
|
||||||
data () {
|
data () {
|
||||||
|
// const envcolor = 0xffffff
|
||||||
let renderer = new THREE.WebGLRenderer({ alpha: false, antialias: true })
|
let renderer = new THREE.WebGLRenderer({ alpha: false, antialias: true })
|
||||||
renderer.setClearColor(0x000000, 0)
|
renderer.setClearColor(0x000000, 0)
|
||||||
|
|
||||||
// scene obj is well overwrited but background color not visible
|
// scene obj is well overwrited but background color not visible
|
||||||
let scene = new THREE.Scene()
|
let scene = new THREE.Scene()
|
||||||
scene.background = new THREE.Color(0x000000)
|
scene.background = new THREE.Color(0x000000)
|
||||||
scene.fog = new THREE.Fog(scene.background, 1, 5000)
|
scene.fog = new THREE.Fog(scene.background, 50, 200)
|
||||||
console.log('myScene', scene)
|
console.log('myScene', scene)
|
||||||
return {
|
return {
|
||||||
debug: true,
|
debug: true,
|
||||||
myRenderer: renderer,
|
myRenderer: renderer,
|
||||||
myScene: scene
|
myScene: scene,
|
||||||
|
mouse: new THREE.Vector2(),
|
||||||
|
camera: null,
|
||||||
|
raycaster: new THREE.Raycaster()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -98,12 +102,36 @@ export default {
|
|||||||
this.getProjects()
|
this.getProjects()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
mounted () {
|
||||||
|
console.log('mounted', this)
|
||||||
|
this.camera = this.$children[0].global.camera
|
||||||
|
|
||||||
|
document.addEventListener('mousemove', this.onMouseMove, false)
|
||||||
|
document.addEventListener('click', this.onDocumentClick, false)
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions({
|
...mapActions({
|
||||||
getProjects: 'Projects/getProjects'
|
getProjects: 'Projects/getProjects'
|
||||||
}),
|
}),
|
||||||
handleScene (scene) {
|
handleScene (scene) {
|
||||||
console.log('handlescene', scene)
|
console.log('handlescene', scene)
|
||||||
|
},
|
||||||
|
onMouseMove (e) {
|
||||||
|
// update the mouse variable
|
||||||
|
this.mouse.x = (e.clientX / window.innerWidth) * 2 - 1
|
||||||
|
this.mouse.y = -(e.clientY / window.innerHeight) * 2 + 1
|
||||||
|
},
|
||||||
|
onDocumentClick (e) {
|
||||||
|
console.log('onDocumentClick', e)
|
||||||
|
|
||||||
|
// update the picking ray with the camera and mouse position
|
||||||
|
this.raycaster.setFromCamera(this.mouse, this.camera)
|
||||||
|
// calculate objects intersecting the picking ray
|
||||||
|
var intersects = this.raycaster.intersectObjects(this.myScene.children)
|
||||||
|
|
||||||
|
for (var i = 0; i < intersects.length; i++) {
|
||||||
|
intersects[i].object.material.color.set(0xff0000)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user