# GetPositionAndRotation3D(Transform, TransformWriteMode, TransformPlane, out Vector3, out Quaternion)

> Get the full 3D position and rotation of the body given the specified PhysicsWorld.TransformWriteMode and PhysicsWorld.TransformPlane. Usually both the write-mode and transform-plane of the world the body is in would be used. This can only be called when a PhysicsBody.transformObject is assigned. Without this, an exception is thrown. See PhysicsWorld.transformWriteMode and PhysicsWorld.transformPlane.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine.LowLevelPhysics2D](/engine/6000.3/script-reference/unityengine/lowlevelphysics2d.md)
* **Assembly:** UnityEngine.Physics2DModule

## GetPositionAndRotation3D(Transform, TransformWriteMode, TransformPlane, Vector3, Quaternion)

```csharp
public void GetPositionAndRotation3D(Transform transform, PhysicsWorld.TransformWriteMode transformWriteMode, PhysicsWorld.TransformPlane transformPlane, out Vector3 position, out Quaternion rotation)
```

### Parameters

**** (\[Transform]\(/engine/6000.3/script-reference/unityengine/transform)): The Transform object to be used as a reference when converting from 2D position/rotation to 3D position/rotation, usually the same as the TransformObject assigned to the PhysicsBody.**** (\[TransformWriteMode]\(/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsworld/transformwritemode)): The transform write mode to use, usually the one currently assigned to the world is used.**** (\[TransformPlane]\(/engine/6000.3/script-reference/unityengine/lowlevelphysics2d/physicsworld/transformplane)): The transform plane to use, usually the one currently assigned to the world is used.**** (\[Vector3]\(/engine/6000.3/script-reference/unityengine/vector3)): The calculated output position.**** (\[Quaternion]\(/engine/6000.3/script-reference/unityengine/quaternion)): The calculated output rotation.
