import { ContextManager } from '@zcomponent/core'; import { Group } from '@zcomponent/three'; /** * RigidbodyTransform sets the transform of a specified RigidBody behavior to match the transform of this component. * * This component is specifically designed for dynamic rigidbodies. It changes the body velocity such that in the next physics step, it would reach the target transform. This approach * is more accurate than using kinematic bodies, as dynamic bodies can still be prevented from reaching the target * transform by collisions and constraints. * * Kinematic objects essentially teleport every frame, which can cause fast-moving objects to pass through other * objects without colliding. In contrast, the RigidbodyTransform component uses an impulse to correctly reach the * target destination, which is the transform of this component. * * Note: The RigidbodyTransform component should not be childed to a RigidBody, and a RigidBody should not be childed * to the RigidbodyTransform component. * * @zcomponent * @ztag three/Object3D/Physics/RigidbodyTransform * @zparents three/Object3D/** * @zgroup Physics Transforms * @zicon sync_alt */ export declare class RigidbodyTargetTransform extends Group { /** * The RigidBody behavior to synchronize with this component's transform. * @zprop * @zvalues behaviorids three/Object3D/Physics/RigidBody */ rigidbody: string; private _worldPos; private _worldQuat; constructor(contextManager: ContextManager, props: {}); private useOnPhysicsStart; private _onEditorPause; private _updateTransformInEditor; private _frame; dispose: () => never; }