跳到主要内容

物体的缩放和旋转

物体的缩放

使用 scale 属性来设置物体的缩放。

// 设置 cub 的放大
cube.scale.set(2, 2, 2)

如果元素没有父元素,则缩放是相对于世界坐标系。

如果元素有父元素,则缩放是相对于父元素的坐标系,也就是以父元素的缩放倍数为基础,在此基础上再进行缩放。

scale 的放缩效果类似于设置 widthheightdepth 的值,但区别在于:

  • widthheightdepth 改变的是物体的几何形状,而 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