想做一个动态画物理刚体的功能,画的模型由N个BoxCollider组成一个刚体。
但Cocos不支持根节点为RigidBody,子节点为N个BoxCollider,只能根节点为RigiBody,然后再挂N个BoxCollider,但BoxCollider只能模拟位移跟缩放,旋转是无法模拟,只有一个Center和Size参数,请教怎么处理这个旋转问题。
// 自己重写一个BoxCollider也不行,求教。
import { BoxCollider, Node, RigidBody, _decorator } from 'cc';
const { ccclass, property, type, } = _decorator;
@ccclass('CustomBoxCollider')
export class CustomBoxCollider extends BoxCollider {
@property({ type: RigidBody, readonly: true, override: true })
public get attachedRigidBody(): RigidBody | null {
return findAttachedBody(this.node);
}
}
function findAttachedBody(node: Node): RigidBody | null {
const rb = node.getComponent(RigidBody);
if (rb && rb.isValid) {
return rb;
}
if (node.parent == null) return null;
return findAttachedBody(node.parent);
}
