THREE.JS下添加按钮一键将场景复原至初始状态

  • 问题描述:
  • 解决方案:
  • 感谢:

问题描述:

在three.js中,可能存在这样的需求,即使用者在对场景中的物体进行多次移动、缩放、旋转操作之后,想要物体回归初始状态。


解决方案:

初始化场景的时候记录下相机和控制器以及它们的如下参数。我的程序中使用的是正交投影摄像机和轨迹球控制器,可能在不同的摄像机和控制器下的操作细节会有些许不同,但大同小异。

this.camera = camera;
this.control = control;
this.OricameraUp = scene.up.clone();
this.OricamerPosition = scene.position.clone();
this.OricameraQuaternion = scene.quaternion.clone();
this.OricontrolTarget = control.target.clone();

zoomback即为按钮绑定的函数。
赋值的顺序很重要,顺序不对,可能会产生意想不到的错误。

zoomback(){// console.log(this.camera);this.camera.up.copy(this.OricameraUp);this.camera.position.copy(this.OricamerPosition);this.camera.quaternion.copy(this.OricameraQuaternion);this.camera.lookAt(this.OricontrolTarget);this.control.target.copy(this.OricontrolTarget);this.control.update();this.camera.zoom = 1.0;this.camera.updateProjectionMatrix();
}

感谢:

感谢大佬@Jcccccc7的指点和帮助。

THREE.JS下添加按钮一键将场景复原至初始状态相关推荐

  1. js动态添加按钮,并绑定点击事件

    目录 前言 ftl文件 js文件 前言 任务描述:动态添加按钮,并对每个按钮绑定一个点击事件. ftl文件 <!DOCTYPE html> <html> <head> ...

  2. html在表格添加下拉按钮,Bootstrap-table 使用说明--如何在表格td里增加一个按钮

    如何在表格td里增加一个按钮:如何在列表操作列区域添加按钮 初始化表格 table.bootstrapTable -->columns 增加: { field: 'operate', title ...

  3. 畜牧公众号下添加一键拨号

    畜牧公众号下添加一键拨号 畜牧,是农业离不开得话题,那么养殖人之间如何能快速有效交流 对此我们小程序推出了一键拨号功能.每一个养殖人都可以是一个公众号主 然后再发公众号文章的时候添加一键拨号功能就OK ...

  4. Odoo tree视图使用js添加按钮(以及跳转页面)

    示例1 1.通过qweb模板给相应模块上的tree视图上添加上⾃定义的按钮. 在'static/src/xml'⽂件下创建⼀个xml⽂件,我的是在demo.xml⾥⾯编写如下代码: <?xml ...

  5. 关于FlexPaper 2.1.2版本 二次开发 Logo 、打印、搜索、缩略图、添加按钮、js交互、右键菜单等相关问题...

    原文:关于FlexPaper 2.1.2版本 二次开发 Logo .打印.搜索.缩略图.添加按钮.js交互.右键菜单等相关问题 先废话几句.最近用到文档在线浏览功能,之前用的是print2flash( ...

  6. html 输入框联动显示,js下拉选择框与输入框联动实现添加选中值到输入框的方法...

    本文实例讲述了js下拉选择框与输入框联动实现添加选中值到输入框的方法.分享给大家供大家参考.具体如下: 这里演示js下拉选择框与输入框联动,直接添加选中值到输入框中的效果.这种效果相信不少朋友见到过吧 ...

  7. JComboBox 的下拉按钮添加监听

    JComboBox 的下拉按钮添加监听 1.问题描述 2.需求分析 3.代码示例 4.结果演示 系统:Win10 JDK:1.8.0_333 IDEA:2020.3.4 1.问题描述 在使用一个 JC ...

  8. 手机语音转文字怎么做才简单?按下这个按钮,一键轻松记录

    很多朋友都是语音转文字很困难,其实我们用对方法,语音转文字就特别简单,下面笔者就教大家一个方法,手机按下这个按钮,就能非常轻松的记录了. 方法一:录音机记录 很多朋友都会说录音机记录,到后面还不是要人 ...

  9. ** Vue下js点击按钮元素左右滚动效果 **

    ** Vue下js点击按钮元素左右滚动效果 ** 小程序.前端交流群:609690978 先上效果图 代码: <div id="classifyScroll" :class= ...

最新文章

  1. 扩增子图表解读5火山图:差异OTU的数量及变化规律
  2. 一个切割PDF文件的简单的方法 -只需要chrome浏览器
  3. 获取预制和获取gameObject
  4. 在线网站原型设计工具Cacoo
  5. MySQL创建用户报错 -- ERROR 1396 (HY000): Operation CREATE USER failed for ‘user_name‘@‘localhost‘
  6. Android之NetworkOnMainThreadException异常
  7. 最新的ndkr20编译c_Android NDK-r20 交叉编译 FFmpeg 4.2
  8. 计算机将图像数字化的原理,图像数字化
  9. android手机导入iphone,安卓手机文件怎么传到苹果手机
  10. 多线程抢票_多线程抢票系统浅析
  11. display的contents属性
  12. 软件工程团队项目——搜查令
  13. ImGui实现Button高亮
  14. 宝塔Nginx编译安装headers_more模块
  15. 测试用例怎么写?不会测试用例的看过来,Web测试所涉及的主要测试点
  16. 基于springboot的高校社团管理系统
  17. 联想Y7000P 2019装Ubuntu双系统遇到的问题
  18. 精选C#毕业设计83套——源码+论文完整资源
  19. SEBDB: Semantics Empowered BlockChain DataBase(ICDE‘2019)
  20. 局部性原理——各类优化的基石

热门文章

  1. java runnable 使用_如何调用java Runnable对象的其他方法?
  2. 2013年android智能手机599元大战开战
  3. 【实践题】——设备排班表(排列有先后,组合很公平)
  4. 10分钟带你玩转openpyxl
  5. 免费的HTTPS证书安全吗可以用吗
  6. iOS12的捷径你玩过了吗
  7. 【Python】——concat函数
  8. Git安装教程(Windows11安装)
  9. Created with Cocos | 手游《街霸:对决》重磅登场
  10. Unity动态加载与内存关系2:Resources.Load 篇