<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://c4engine.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Rotation_Controller</id>
	<title>Rotation Controller - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://c4engine.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Rotation_Controller"/>
	<link rel="alternate" type="text/html" href="https://c4engine.com/wiki/index.php?title=Rotation_Controller&amp;action=history"/>
	<updated>2026-04-29T18:54:03Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://c4engine.com/wiki/index.php?title=Rotation_Controller&amp;diff=111&amp;oldid=prev</id>
		<title>Eric Lengyel: Created page with &quot;__NOTOC__ The '''Rotation Controller''' is a type of controller that causes a node to rotate forward or backward through a given angle. The Rotation Controller is built into the core engine, and it is one of four ''kinematic'' controllers that cause an object to follow an exact motion. Rigid bodies controlled by the Physics Manager are able to interact with kinematic objects, but they cannot stop kinematic objects or alter their motions. A kinematic object pushes rigid b...&quot;</title>
		<link rel="alternate" type="text/html" href="https://c4engine.com/wiki/index.php?title=Rotation_Controller&amp;diff=111&amp;oldid=prev"/>
		<updated>2023-07-15T10:42:52Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;__NOTOC__ The &amp;#039;&amp;#039;&amp;#039;Rotation Controller&amp;#039;&amp;#039;&amp;#039; is a type of controller that causes a node to rotate forward or backward through a given angle. The Rotation Controller is built into the core engine, and it is one of four &amp;#039;&amp;#039;kinematic&amp;#039;&amp;#039; controllers that cause an object to follow an exact motion. Rigid bodies controlled by the Physics Manager are able to interact with kinematic objects, but they cannot stop kinematic objects or alter their motions. A kinematic object pushes rigid b...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__&lt;br /&gt;
The '''Rotation Controller''' is a type of controller that causes a node to rotate forward or backward through a given angle. The Rotation Controller is built into the core engine, and it is one of four ''kinematic'' controllers that cause an object to follow an exact motion. Rigid bodies controlled by the Physics Manager are able to interact with kinematic objects, but they cannot stop kinematic objects or alter their motions. A kinematic object pushes rigid bodies out of its way no matter what.&lt;br /&gt;
&lt;br /&gt;
== Settings ==&lt;br /&gt;
&lt;br /&gt;
The following settings are available for Rotation Controllers.&lt;br /&gt;
&lt;br /&gt;
{| {{Table}}&lt;br /&gt;
{{Tablehead|Setting|Description}}&lt;br /&gt;
|-&lt;br /&gt;
{{HeadingSetting|'''Kinematic&amp;amp;nbsp;Controller&amp;amp;nbsp;Settings'''}}&lt;br /&gt;
|-&lt;br /&gt;
{{Setting|'''Wake&amp;amp;nbsp;intersecting&amp;amp;nbsp;rigid&amp;amp;nbsp;bodies'''|Specifies whether sleeping rigid bodies in the path of the kinematic object are detected and awakened. If this is disabled, then the kinematic object will pass straight through any sleeping rigid bodies that it comes in contact with. If this is enabled, then sleeping rigid bodies that intersect the bounding box of the kinematic object are automatically awakened so they can interact with the kinematic object. For best performance, this setting should be disabled if it's known that the kinematic object will not come in contact with sleeping rigid bodies.}}&lt;br /&gt;
|-&lt;br /&gt;
{{HeadingSetting|'''Rotation&amp;amp;nbsp;Controller&amp;amp;nbsp;Settings'''}}&lt;br /&gt;
|-&lt;br /&gt;
{{Setting|'''Rotation angle (deg)'''|The angle through which the target node rotates, measured in degrees.}}&lt;br /&gt;
|-&lt;br /&gt;
{{Setting|'''Rotation speed (deg/s)'''|The speed at which the target node rotates between two angles, measured in degrees of angle per second.}}&lt;br /&gt;
|-&lt;br /&gt;
{{Setting|'''Acceleration time (s)'''|The length of time it takes for the target node to be accelerated to full speed when it starts rotating.}}&lt;br /&gt;
|-&lt;br /&gt;
{{Setting|'''Deceleration time (s)'''|The length of time it takes for the target node to be decelerated to a stop when it stops rotating.}}&lt;br /&gt;
|-&lt;br /&gt;
{{Setting|'''Center position connector key'''|The name of the connector attached to the target node that is connected to the center position for the rotation. The rotation occurs about the ''z'' axis of the connected node. Positive angles represent counterclockwise rotations when the ''z'' is pointing toward you.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Script Functions ==&lt;br /&gt;
&lt;br /&gt;
The Rotation Controller defines the following functions that can be called from a [[Script Editor | script]] using the '''Call Controller Function''' method.&lt;br /&gt;
&lt;br /&gt;
{| {{Table}}&lt;br /&gt;
{{Tablehead|Function|Description}}&lt;br /&gt;
|-&lt;br /&gt;
{{Tablerow|'''Get Rotation Speed'''|Returns the rotation speed and completes immediately.}}&lt;br /&gt;
|-&lt;br /&gt;
{{Tablerow|'''Set Rotation Speed'''|Sets the rotation speed and completes immediately.&lt;br /&gt;
&lt;br /&gt;
* The '''Rotation speed (deg/s)''' setting specifies the new rotation speed in degrees per second.}}&lt;br /&gt;
|-&lt;br /&gt;
{{Tablerow|'''Rotate to Start Angle'''|Begins rotating the target node to the start angle. This function completes when the target node reaches the start angle.}}&lt;br /&gt;
|-&lt;br /&gt;
{{Tablerow|'''Rotate to Finish Angle'''|Begins rotating the target node to the finish angle. This function completes when the target node reaches the finish angle.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [http://c4engine.com/docs/PhysicsMgr/RotationController.html &amp;lt;code&amp;gt;RotationController&amp;lt;/code&amp;gt;] class&lt;br /&gt;
* [[Spin Controller]]&lt;br /&gt;
* [[Movement Controller]]&lt;br /&gt;
* [[Oscillation Controller]]&lt;br /&gt;
* [[Physics]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Physics]]&lt;br /&gt;
[[Category:Controllers]]&lt;/div&gt;</summary>
		<author><name>Eric Lengyel</name></author>
	</entry>
</feed>