[0]怎么用可配置约束模拟悬挂效果?
我想用可配置约束实现模拟悬挂效果,
两个刚体物体,球是运动刚体,方块是动力学刚体,
添加ConfigurableConstraint约束连接这两个刚体,设置如下:
let ys = new Laya.ConfigurableConstraint();
let rigid1 = <Laya.Rigidbody3D>ball.getComponent(Laya.Rigidbody3D);
let rigid2 = <Laya.Rigidbody3D>cube.getComponent(Laya.Rigidbody3D);
//设置两个物体位置
ball.transform.position = new Laya.Vector3(0, 6, 0);
cube.transform.position = new Laya.Vector3(1, 6, 1);
//球设置为运动刚体
rigid1.isKinematic = true;
//设置方块质量
rigid2.mass = 10;
//添加设置约束
this.scene3d.addComponentIntance(ys);
ys.setConnectRigidBody(rigid1, rigid2);
ys.connectAnchor = new Laya.Vector3(0, 0.5, 0);
ys.minLinearLimit = new Laya.Vector3(-3, -3, -3);
ys.maxLinearLimit = new Laya.Vector3(3, 3, 3);
ys.linearBounce = new Laya.Vector3(0.1, 0.1, 0.1);
ys.XMotion = ys.YMotion = ys.ZMotion = Laya.ConfigurableConstraint.CONFIG_MOTION_TYPE_LIMITED;
ys.minAngularLimit = new Laya.Vector3(-0.5, -0.5, -0.5);
ys.maxAngularLimit = new Laya.Vector3(0.5, 0.5, 0.5);
ys.angularBounce = new Laya.Vector3(0.1, 0.1, 0.1);
ys.angularXMotion = ys.angularYMotion = ys.angularZMotion = Laya.ConfigurableConstraint.CONFIG_MOTION_TYPE_LIMITED;
但模拟的效果并不像悬挂,方块不会回到球的下方:
请问我该如何做?
两个刚体物体,球是运动刚体,方块是动力学刚体,
添加ConfigurableConstraint约束连接这两个刚体,设置如下:
let ys = new Laya.ConfigurableConstraint();
let rigid1 = <Laya.Rigidbody3D>ball.getComponent(Laya.Rigidbody3D);
let rigid2 = <Laya.Rigidbody3D>cube.getComponent(Laya.Rigidbody3D);
//设置两个物体位置
ball.transform.position = new Laya.Vector3(0, 6, 0);
cube.transform.position = new Laya.Vector3(1, 6, 1);
//球设置为运动刚体
rigid1.isKinematic = true;
//设置方块质量
rigid2.mass = 10;
//添加设置约束
this.scene3d.addComponentIntance(ys);
ys.setConnectRigidBody(rigid1, rigid2);
ys.connectAnchor = new Laya.Vector3(0, 0.5, 0);
ys.minLinearLimit = new Laya.Vector3(-3, -3, -3);
ys.maxLinearLimit = new Laya.Vector3(3, 3, 3);
ys.linearBounce = new Laya.Vector3(0.1, 0.1, 0.1);
ys.XMotion = ys.YMotion = ys.ZMotion = Laya.ConfigurableConstraint.CONFIG_MOTION_TYPE_LIMITED;
ys.minAngularLimit = new Laya.Vector3(-0.5, -0.5, -0.5);
ys.maxAngularLimit = new Laya.Vector3(0.5, 0.5, 0.5);
ys.angularBounce = new Laya.Vector3(0.1, 0.1, 0.1);
ys.angularXMotion = ys.angularYMotion = ys.angularZMotion = Laya.ConfigurableConstraint.CONFIG_MOTION_TYPE_LIMITED;
但模拟的效果并不像悬挂,方块不会回到球的下方:
请问我该如何做?
没有找到相关结果
已邀请:
要回复问题请先登录
1 个回复
小小泽
赞同来自:
如果还是不行的话发一个demo