// raycaster 시작
const raycaster = new THREE.Raycaster();
renderer.domElement.addEventListener('mousemove', onMouseMove)
function onMouseMove(e){
const mouse = {
x : (e.clientX / renderer.domElement.clientWidth) * 2 - 1,
y : -(e.clientY / renderer.domElement.clientHeight) * 2 + 1,
}
raycaster.setFromCamera(mouse, camera)
const intersects = raycaster.intersectObjects(scene.children, true);
if(intersects.length > 0){ // 마우스 인
TweenMax.to( ObjGroup.rotation, 1, { //1초동안 ObjGroup을
x: Math.PI * 2,
z: 1
})
TweenMax.to(ObjGroup.scale, 1, {
x: 1800,
y: 1800,
z: 1800
})
} else { // 마우스 아웃
TweenMax.to(ObjGroup.rotation, 1, {
x: 0,
z:0
})
TweenMax.to(ObjGroup.scale, 1, {
x: 1500,
y: 1500,
z: 1500
})
}
}// raycaster 끝
'3Js' 카테고리의 다른 글
threejs + gsap 마우스 스크롤 연동 (1) | 2024.07.23 |
---|---|
threejs, 파티클, 마우스 방향 이동 (0) | 2024.07.23 |
OBJLoader(), MTLLoader(). 블렌더에서 파일 가져오기 (0) | 2024.07.19 |
threejs GLTFloader.load() 블렌더에서 파일 가져오기 (0) | 2024.07.19 |
threejs skybox 배경 (0) | 2024.07.18 |
threejs Fog() 안개 (0) | 2024.07.18 |
OrbitControls(), 마우스휠 확대축소 제한, 로테이션 제한 (0) | 2024.07.18 |
threejs 텍스처 (0) | 2024.07.18 |