 			PhysicsWorld@ world = node.scene.GetComponent("PhysicsWorld");
 
 			Vector3 origin = node.position + Vector3::UP;
-			Vector3 target = node.position + debugDirection_ * 2 + Vector3::UP;
+			Vector3 moveTarget = origin + debugDirection_ * 2;
+			Vector3 faceTarget = (modelNode_.rotation * Vector3::FORWARD) * 3 + origin;
 
-			debugRenderer.AddLine(origin, target, Color(1.0, 0, 0));
+			debugRenderer.AddLine(origin, faceTarget, Color(0, 1, 0));
+			debugRenderer.AddLine(origin, moveTarget, Color(1.0, 0, 0));
 			world.DrawDebugGeometry(debugRenderer, true);
 		}
 	}


	void DelayedStart()
	{
		cameraMount_ = node.GetChild("CameraMount", true);
	}

	void Update(float timestep)
	{
		const float MOVEMENT_STRENGTH = 20.0f;
		const float MOUSE_SENSITIVITY = 0.1f;

		IntVector2 mouseMove = input.mouseMove;
		yaw_ += MOUSE_SENSITIVITY * mouseMove.x;
		pitch_ += MOUSE_SENSITIVITY * mouseMove.y;
		pitch_ = Clamp(pitch_, -15.0f, 15.0f);
		cameraMount_.rotation = Quaternion(pitch_, yaw_, 0.0f);

		Vector3 direction = Vector3::ZERO;
		if (input.keyDown[KEY_W] || input.keyDown[KEY_UP])


	float pitch_;
	float yaw_;
	Quaternion modelRotation_;
	Node@ cameraMountNode_;
	Node@ modelNode_;

	Vector3 debugDirection_;

