threejs 物体重置锚点到物体中心

/**
 * 锚点重置到中心
 * @param {Object3D} mesh 
 */
function reAnchorCenter(mesh) {
  const geometry = mesh.geometry
  const position = mesh.position
  geometry.computeBoundingBox()
  const center = new THREE.Vector3();
  geometry.boundingBox.getCenter(center);
  const m = new THREE.Matrix4();
  m.set(1, 0, 0, center.x-position.x,
    0, 1, 0, center.y - position.y,
    0, 0, 1, center.z - position.z,
    0, 0, 0, 1)
  geometry.center();

  mesh.position.applyMatrix4(m)
}

该方法可以用于因为通过曲线,点阵生成物体,如管线,车削物体后锚点被设置在原点处,需要将锚点设置到物体中间时使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Cocos Creator是一个强大的游戏开发引擎,它提供了许多工具和功能来创建高品质的游戏。如果你想修改一个物体点,可以按照以下步骤进行操作: 1. 选中你想要修改的物体,在属性检查器中找到“Transform”组件。 2. 在“Transform”组件中,你可以看到“Anchor Point”的选项,它是一个包含两个浮点数的向量。 3. 修改“Anchor Point”的值,来修改物体点位。 需要注意的是,修改物体点可能会对游戏中其他部分的布局产生影响。如果你不想让这些部分受到影响,可以通过修改父级节点的点位来达到你的目的。 ### 回答2: 在Cocos Creator中修改物体点有两种方式。 第一种方式是通过代码修改点。在脚本中,我们可以通过访问节点的`anchorX`和`anchorY`属性来修改物体点。这两个属性的取值范围是0到1,表示相对于节点自身宽度和高度的比例。例如,将点设为(0, 0)表示使用节点左下角作为点,将点设为(0.5, 0.5)表示使用节点中心点作为点。以下是一个示例代码: ``` // 获取节点 var node = cc.find("Canvas/NodeName"); // 修改点 node.anchorX = 0.5; node.anchorY = 0.5; ``` 第二种方式是通过编辑器修改点。在Cocos Creator的编辑器中,选择需要修改点的节点,然后在“属性检查器”面板中找到“Transform”部分的“Anchor Point”属性。通过改变这两个滑块的位,我们可以实时地修改节点的点。在滑块的左上角是(0, 1),右上角是(1, 1),左下角是(0, 0),右下角是(1, 0)。通过调整滑块的位,我们可以直观地修改节点的点。 无论使用哪种方式,修改了物体点后,它的位和缩放都会相应地受到影响。因此,在修改点后,需要确认位和缩放是否需要进行调整,以确保整个物体的显示效果符合预期。 ### 回答3: 在Cocos Creator中修改物体点可以通过以下步骤实现: 1. 打开Cocos Creator编辑器并选择要修改点的物体。 2. 在编辑器的层级管理器中选择该物体,并在属性检查器中找到“节点”组件。 3. 在“节点”组件的属性中找到“点”选项,该选项控制物体点位。 4. 可以通过直接输入坐标值来修改点的位。例如,若想修改点位于物体底部中心,则可以将X轴的值设为0.5,Y轴的值设为0。 5. 也可以通过拖动图形化的点位调整器来修改点位。在“点”选项对应的调整器上有一个可移动的小点表示点的位,通过拖动该点来实时修改点。 6. 根据需求不断调整点位,直到达到想要的效果。 需要注意的是,修改点会对物体的显示方式产生影响。点决定了物体的旋转、缩放和位调整的基准点。默认情况下,点位于物体中心,即X轴和Y轴都为0.5。若点位被修改后,物体将围绕该点进行变换操作。 修改物体点可能会对整个场景中其他相关元素的布局和位产生影响,因此在修改点之前需要谨慎考虑,并根据实际需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值