threejs学习04-InstancedMesh和Raycaster用户交互(获取鼠标位置、设置射线、射线与mesh的交互)
我们来实现这个threejs的示例效果:
https://threejs.org/examples/?q=rayc#webgl_instancing_raycast
依然是先新建一个js在vite项目中:
这里index.html需要调整:
增加一个div用于计数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite App</title>
</head>
<body>
<div class="status">hello</div>
<script type="module" src="/main.js"></script>
</body>
</html>
main.js进行调整:
import './style.css'
// import './01-basic-three.js'
// import './02-spot-light-shadow.js'
// import './03-helper-gui.js'
import './04-raycast.js'
style.css进行修改:
body{
margin: 0;
}
div.status{
position: absolute;
color: white;
padding: 10px;
}
04-raycast.js:
import *