概述
3D Builder
3D Builder在win10应用商店可以下载到,可以把2D图像转化成3D。
center 不在中央的问题。可以用mashlab来修复。或者使用box来移动。
var bbox = new THREE.Box3().setFromObject(object);
var x = (bbox.max.x - bbox.min.x)/2 ;
var y = (bbox.max.y - bbox.min.y)/2;
var z = (bbox.max.z - bbox.min.z)/2
var mat4 = new THREE.Matrix4();
mat4.makeTranslation(-x,-y,-z);
object.applyMatrix(mat4);
测试一下发现,x轴有偏移。这个偏移量怎么找出来呢(原来是我的图片虽然是png的但是左边有空白的,所以出现了这个偏移。应该刚好裁剪到图像的大小,不留空白。)。想设置geometry.center,但是子对象比较复杂。
所以我又添加了一个BoxHelper.
var bbox = new THREE.Box3().setFromObject(object);
var boxHelp = new THREE.BoxHelper(object);
var x = boxHelp.geometry.boundingSphere.center.x;
var y = boxHelp.geometry.boundingSphere.center.y;
var z = boxHelp.geometry.boundingSphere.center.z;
这么看来,我是用Box3计算出了盒子的8个顶点的x,y,z的最大值,和最小值,共六个值。但是没有center的值,这个值可以用来作为缩放物体的参数。
我用BoxHelper找出了盒子的中心,然后安装这个坐标移动物体到原点。
还不知道怎么更新本地坐标系。所以我添加一个新的object。把物体add进去,以后再操作这个object就可以了,不用管子对象的矩阵了。
最后
以上就是美满吐司为你收集整理的3D Builder3D Builder的全部内容,希望文章能够帮你解决3D Builder3D Builder所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复