物体的缩放和旋转
物体的缩放
使用 scale
属性来设置物体的缩放。
// 设置 cub 的放大
cube.scale.set(2, 2, 2)
如果元素没有父元素,则缩放是相对于世界坐标系。
如果元素有父元素,则缩放是相对于父元素的坐标系,也就是以父元素的缩放倍数为基础,在此基础上再进行缩放。
scale
的放缩效果类似于设置width
、height
、depth
的值,但区别在于:
width
、height
、depth
改变的是物体的几何形状,而scale
是对物体的变形(Transform),不会改变物体的几何形状。- 物体的几何形状定义后,无法在后续渲染过程中改变,只能通过重新创建-然后替代的方式,开销比较大。
scale
会影响其他属性,比如物理计算、碰撞检测、子对象继承变形等。
示例代码:https://github.com/wukaipeng-dev/threejs-demo/blob/main/02-basic/src/main-scale.ts
物体的旋转
// 设置 cub 的旋转
cube.rotation.x = Math.PI / 4
注意这里使用弧度制,关于弧度制可以参考 角度制和弧度制
示例代码:https://github.com/wukaipeng-dev/threejs-demo/blob/main/02-basic/src/main-rotate.ts