> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/godotengine/godot/llms.txt
> Use this file to discover all available pages before exploring further.

# Node3D

# Node3D

**Inherits:** Node \< Object

## Description

Base object in 3D space. All other 3D nodes inherit from this class. The Node3D node is the base representation of a node in 3D space.

## Properties

<ResponseField name="position" type="Vector3" default="Vector3(0, 0, 0)">
  Position (translation) of this node in parent space.
</ResponseField>

<ResponseField name="rotation" type="Vector3" default="Vector3(0, 0, 0)">
  Rotation of this node as Euler angles, in radians.
</ResponseField>

<ResponseField name="scale" type="Vector3" default="Vector3(1, 1, 1)">
  Scale of this node in local space.
</ResponseField>

<ResponseField name="transform" type="Transform3D">
  The local transformation of this node, in parent space.
</ResponseField>

<ResponseField name="global_transform" type="Transform3D">
  The transformation of this node, in global space.
</ResponseField>

<ResponseField name="visible" type="bool" default="true">
  If true, this node can be visible.
</ResponseField>

## Methods

### translate

```gdscript theme={null}
void translate(offset: Vector3)
```

Adds the given translation offset to the node's position, in local space.

### rotate

```gdscript theme={null}
void rotate(axis: Vector3, angle: float)
```

Rotates this node's basis around the axis by the given angle, in radians.

### look\_at

```gdscript theme={null}
void look_at(target: Vector3, up: Vector3 = Vector3(0, 1, 0))
```

Rotates the node so that the local forward axis (-Z) points toward the target position.

### to\_global

```gdscript theme={null}
Vector3 to_global(local_point: Vector3)
```

Returns the local\_point converted from this node's local space to global space.

### to\_local

```gdscript theme={null}
Vector3 to_local(global_point: Vector3)
```

Returns the global\_point converted from global space to this node's local space.

## Example Usage

<Tabs>
  <Tab title="GDScript">
    ```gdscript theme={null}
    var node = Node3D.new()
    node.position = Vector3(10, 5, 0)
    node.rotation = Vector3(0, deg_to_rad(45), 0)

    # Rotate around Y axis
    node.rotate(Vector3.UP, deg_to_rad(90))

    # Look at a target
    node.look_at(Vector3(0, 0, 0))

    # Convert coordinates
    var global_pos = node.to_global(Vector3(1, 0, 0))
    ```
  </Tab>

  <Tab title="C#">
    ```csharp theme={null}
    var node = new Node3D();
    node.Position = new Vector3(10, 5, 0);
    node.Rotation = new Vector3(0, Mathf.DegToRad(45), 0);

    // Rotate around Y axis
    node.Rotate(Vector3.Up, Mathf.DegToRad(90));
    ```
  </Tab>
</Tabs>
