Three.js修改模型中心点
需求中需要修改模型的中心点到其他位置,用于实现一些模型的对齐。
本文使用三种方式实现修改模型的中心点:
一、通过为模型添加父物体,再移动模型的相对位置,之后的位移旋转等通过父物体来操作。
这个方法相对简单,但一方面不是“真正”地修改模型中心点,也会给模型的管理增加难度。
二、通过移动模型的顶点实现修改中心点位置
这个方法通过矩阵将模型所有顶点的位置全部修改了,同理,需要整体缩放模型顶点位置、角度,都可以通过这种形式,代码如下:
geometry.applyMatrix( new THREE.Matrix4().makeTranslation(x, y, z) );
三、通过geometry.translate修改中心点位置
事实上,Three.js早就提供好了这个API可以直接调用了,但无奈相关资料少,官方文档也写的不太清楚,所以才花了我这么多时间。geometry.translate也是直接移动顶点来实现的,但移动完顶点后,会将模型的位置再相对地移动回来,所以看起来就是仅中心点移动到预期位置了,代码如下:
geometry.translate(x, y, z);
http://www.taodudu.cc/news/show-4042510.html
相关文章:
- Android 改变View的中心点
- leaflet怎么获取矩形的中心点位 getCenter()
- Unity 计算模型的中心点的方法
- cesium获取当前屏幕中心点坐标
- 通过多个点,计算出中心点
- JS调用Arcgis实现地图中心点画圆
- java根据经纬度得出中心点的经纬度
- 聚类算法之k-均值,k-中心点
- Opencv求轮廓的中心点坐标
- Scratch中设置物体的中心点
- unity 更改模型的中心点
- 工业机器人工具中心点标定的意义_如何理解工业机器人的工具中心点(TCP)?...
- Python期末考试-中心点问题
- 获取一组坐标的中心点
- Scratch角色的绘制与中心点
- 如何求一个平面区域中心点问题--编程实现
- 聚类分析--k中心点算法
- K-中心点聚类算法(K-Medoide)
- 计算多边形中心点坐标的方法
- 中心点的计算
- Timer 和TimerTask分析
- python通过线程实现定时器timer的方法
- Java语言 Timer 定时器的四种使用方式
- JDK 1.8 中的 Timer 类
- Timer的使用
- java timer异常_JAVA Timer的缺陷以及解决办法
- c# timer 销毁_.NET中Timer 如何正确地被Dispose
- C#的Timer
- java定时器timer 取消_JAVA定时器Timer的使用
- java timer 销毁_java.util.Timer用法须知
Three.js修改模型中心点相关推荐
- UE4中修改模型的中心点
UE4系列文章目录 文章目录 UE4系列文章目录 前言 一.增加scenen空组件 前言 在UE4中的模型中心点一般都在模型的中点,如果是门这样的模型,我们就不能绕中心点旋转了,不然会觉得很奇怪.但是 ...
- Three.js OBJ模型的剖切
一. 由于项目需要,我进行了模型剖切功能方面的研究,如果单纯实现模型剖切效果,我相信你会从这篇文章中得到收获. 二. 我对模型剖切功能的研究主要基于three.js中的webgl_clipping_s ...
- three.js 树模型_与three.js的圣诞树
three.js 树模型 Christmas tree with three.js Today's article refers to the Christmas and new year in th ...
- 05定制后台和修改模型
技术交流QQ群:1027579432,欢迎你的加入! 本教程来源于B站杨仕航Django2.0开发视频教程,如需转载,必须注明来源! 1.定制admin后台 admin后台定制有两个地方需要设置: 设 ...
- php 修改select标签,JS修改input,textarea,select标签的可读可写属性
通过JS修改input,textarea,select标签的可读可写属性 首先,控制input,与textarea只读属性是 readonly 在js中 可以这样去改变,这里要注意js中O要大写 re ...
- xaml修改后台代码的值_Django定制后台和修改模型
滑稽研究所 Django定制后台和修改模型 哈喽,大家好呀,我是滑稽君.和标题一样,我们今天来看看如何使用Django定制后台,修改模型.首先你需要知道如何新建自己的项目,并添加一个APP.这是我们开 ...
- 在Safari里也能像Chrome里一样,通过执行js修改变量的值,在debugger里立即生效
在Safari里也能像Chrome里一样,通过执行js修改变量的值,在debugger里立即生效. 和Chrome里的network tab一样,Safari里通过network request一样能 ...
- 直接修改html文本页面没变化,VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析...
本文实例讲述了VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法.分享给大家供大家参考,具体如下: 业务场景 我们在使用vue 编写 代码时,我们有一个 多行文本框控件,希望在页面 ...
- JS修改标签中的文本且不影响其中标签
/********************************************************************** JS修改标签中的文本且不影响其中标签* 说明:* 需要修 ...
- core修改模型属性中的默认单位
今天记录croe如何修改模型属性的默认单位.我们都知道,单纯修改模型属性中的单位选项,只对本次打开的模型起到作用,当我们关闭该模型或关闭软件时,又需要重新设置单位值.不废话,直接上图: 1.点击选项 ...
最新文章
- 基于简化点云地图的语义边缘对齐的单目定位方法
- NTT高级科学家:光子是深度学习的未来!光子有望替代电子计算机加速神经网络计算...
- python语言程序设计教程-Python语言程序设计(视频教程)
- Linux-编写Shell的几个技巧
- 自动化测试|录制回放效果差异检测
- AI入门:不用任何公式把推荐系统讲清楚
- Swift:用UICollectionView整一个瀑布流
- 基于Xml 的IOC 容器-分配注册策略
- python4发布_Python 3.4.1 发布
- Gensim加载word2vec模型与简易使用
- SURF 与 SIFT的共同点与区别
- python和java的区别-python和java的区别,看了这个就会区分了!
- pybind11用python调用C++代码
- mac苹果画图软件_苹果Mac绘图软件 OmniGraffle for Mac v7.15.1 中文免费版
- 记录阿里云增加二级域名步骤[同三级]
- P2882 [USACO07MAR]Face The Right Way G 【贪心 + 差分】
- Java的JVM,GC是什么?
- 使用树莓派实现微信远程监控
- 权限维持:DSRM 域控权限维持
- vb.net 简单登录界面(三层架构思想)