javascript - 带有弹出窗口的 3D 动画
问题描述
我有一个小问题,我真的不知道如何以简单的方式解决它。
我想使用 javascript 开发一个 3D 动画 Hous。我想360度移动房子,但看不到底部。此外,应该会出现一些弹出窗口。例如,如果您将鼠标移到窗口或屋顶上,应该会出现一个消息弹出窗口,描述窗口(或屋顶)。有可能以一种简单的方式开发它吗?
请帮忙
(我已经开发了一个可以自己移动的小型 3D 房子)
.html 文件
<script src="./three.js"></script>
<script src="./GLTFLoader.js"></script>
<script src="./app.js"></script>
应用程序.js
设置变量
let container;
let camera;
let render;
let scene;
let house;
函数 init() { 容器 = document.querySelector('.Haus');
板条箱场景
scene = new THREE.Scene();
const fov = 35;
const aspect = container.clientWidth / container.clientHeight
const near = 0.1
const far = 500;
相机设置
camera = new THREE.PerspectiveCamera(fov, aspect, near, far);
camera.position.set(-3,5,30)
const ambient = new THREE.AmbientLight(0x404040, 3)
scene.add(ambient)
const light = new THREE.DirectionalLight(0xffffff, 20)
light.position.set(10,10,150)
scene.add(light)
渲染器
renderer = new THREE.WebGLRenderer({antialias: true, alpha: true})
renderer.setSize(container.clientWidth, container.clientHeight)
renderer.setPixelRatio(window.devicePixelRatio)
container.appendChild(renderer.domElement)
加载模型
那就是我正在使用的3d房子,那一刻房子只是360度循环
let loader = new THREE.GLTFLoader();
loader.load('./3d/scene.gltf', function(gltf){
scene.add(gltf.scene);
house = gltf.scene.children[0];
renderer.render(scene,camera)
animate();
})
}
function animate () {
requestAnimationFrame(animate);
house.rotation.z += 0.005;
renderer.render(scene,camera)
}
init()
解决方案
推荐阅读
- google-cloud-platform - 使用大桶大小的 bash 检查谷歌存储桶是否成功创建/不为空
- angularjs - 测试失败,因为 AngularJS 没有及时初始化
- python - 如何使用 Python 中的 Rest API 对 Azure 数据目录进行身份验证并从中获取目录
- dynamics-crm - 保存时单击Dimensions 域记录错误
- symfony - 时间类型样式
- assembly - 汇编指令修改被调用函数内的返回地址
- codeigniter - 获取下拉列表的对应值
- javascript - 使用用户脚本单击表中的 td
- ruby-on-rails - logger.info 在 Rails 模型中不起作用
- selenium - 测试项目中的Selion依赖