# Motion and Kinematic

Motion axes are modeled by connecting [Drives](https://doc.realvirtual.io/components-and-scripts/motion/drive) to GameObjects. The [Drive](https://doc.realvirtual.io/components-and-scripts/motion/drive) will move the GameObject, including its sub-components, along a defined rotational or linear axis. The [Drive](https://doc.realvirtual.io/components-and-scripts/motion/drive) is a base component with some generic [Drive](https://doc.realvirtual.io/components-and-scripts/motion/drive) behavior but it does not expose a Signal interfaces to a PLC. For this a [Drive Behavior](https://doc.realvirtual.io/components-and-scripts/motion/drive-behavior) script is added in addition to the [Drive](https://doc.realvirtual.io/components-and-scripts/motion/drive) script for the GameObject. The [Drive Behavior](https://doc.realvirtual.io/components-and-scripts/motion/drive-behavior) includes special behaviors (such as pneumatic cylinders or position controlled drives) including any signals supporting the special behavior.

{% hint style="info" %}
The standard units for drive positions in all realvirtual.io components are millimeters for linear drives and degrees for rotational drives. The standard units for speeds are millimeters per second and degrees per second. In Unity, each millimeter is represented as one Unity unit (which means what you see in the Transform component in Unity is in meters). You can adjust the scale in **realvirtualController**, but this is generally not recommended.
{% endhint %}

This Youtube tutorial shows how to define [Drives](https://doc.realvirtual.io/components-and-scripts/motion/drive)

{% embed url="<https://youtu.be/VoAYuNF4kRM>" %}
Tutorial Adding Drives
{% endembed %}

> We supply seveal standard Behavior models, but due to the large variety of automation devices and functionality, it is most likely you will need to add your own behavior models.

The next image gives a good overview of [Drives](https://doc.realvirtual.io/components-and-scripts/motion/drive) moving GameObjects. The [Drive](https://doc.realvirtual.io/components-and-scripts/motion/drive) is contolled by a special Drive Behavior which is connected to one or more Signals. The Signals are then connected to a PLC (using an [Automation Interface](https://game4automation.com/documentation/current/interface.html))

<figure><img src="https://260262196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FpYxFg97YnJX96UzNNTSd%2Fuploads%2Fgit-blob-ed33e9c7c70ba064a5b8fcb34e386df5ae14d7d8%2Fmotion-axis.png?alt=media" alt=""><figcaption></figcaption></figure>

© 2025 realvirtual GmbH [https://realvirtual.io](https://realvirtual.io/) - All rights reserved. No part of this publication may be reproduced, distributed, or transmitted in any form or by any means, including printing, saving, photocopying, recording, or other electronic or mechanical methods, without the prior written permission of the publisher.
