.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the ARVROrigin.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.

.. _class_ARVROrigin:

ARVROrigin
==========

**Inherits:** :ref:`Spatial<class_spatial>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`

**Category:** Core

Brief Description
-----------------

Our origin point in AR/VR.

Member Functions
----------------

+----------------------------+--------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>`  | :ref:`get_world_scale<class_ARVROrigin_get_world_scale>`  **(** **)** const                                  |
+----------------------------+--------------------------------------------------------------------------------------------------------------+
| void                       | :ref:`set_world_scale<class_ARVROrigin_set_world_scale>`  **(** :ref:`float<class_float>` world_scale  **)** |
+----------------------------+--------------------------------------------------------------------------------------------------------------+

Member Variables
----------------

- :ref:`float<class_float>` **world_scale**

Description
-----------

This is a special node within the AR/VR system that maps the physical location of the center of our tracking space to the virtual location within our game world.

There should be only one of these nodes in your scene and you must have one. All the ARVRCamera, ARVRController and ARVRAnchor nodes should be direct children of this node for spatial tracking to work correctly.

It is the position of this node that you update when you're character needs to move through your game world while we're not moving in the real world. Movement in the real world is always in relation to this origin point.

So say that your character is driving a car, the ARVROrigin node should be a child node of this car. If you implement a teleport system to move your character, you change the position of this node. Etc.

Member Function Description
---------------------------

.. _class_ARVROrigin_get_world_scale:

- :ref:`float<class_float>`  **get_world_scale**  **(** **)** const

Get the world scale applied to our positioning.

.. _class_ARVROrigin_set_world_scale:

- void  **set_world_scale**  **(** :ref:`float<class_float>` world_scale  **)**

Changes the world scaling factor.

Most AR/VR platforms will assume a unit size of 1 unit in your game world = 1 meter in the real world. This scale allows you to adjust this to the unit system you use in your game. 

Note that this method is a passthrough to the ARVRServer itself.


