Godot Engine 3.xのGDScriptでコメントされた一人称コントローラースクリプトは、キネマティックボディノードに適用されます。

`` `
＃キネマティックボディノードからスクリプトを拡張します
キネマティックボディを拡張します

＃移動速度、重力、ジャンプ速度変数を定義する
var速度= 5
Var Gravity = 9.8
var Jump_speed = 8

＃物理学の更新を処理する機能
func _physics_process（delta）：
    ＃vector3変数を作成して、速度を保存します
    var velocity = vector3（）

    ＃プレーヤーが床にいる場合は、重力を適用します
    is_on_floor（）の場合：
        velocity.y = -gravity

    ＃プレーヤーがアップアローキーを押すかどうかを確認します
    input.is_action_pressed（ "ui_up"）の場合：
        ＃速度変数によってz軸の速度を減らす
        Velocity.Z- =速度

    ＃プレーヤーがダウンアローキーを押すかどうかを確認します
    input.is_action_pressed（ "ui_down"）の場合：
        ＃速度変数によってz軸の速度を上げる
        velocity.z +=速度

    ＃プレーヤーが左矢印キーを押すかどうかを確認します
    input.is_action_pressed（ "ui_left"）の場合：
        ＃速度変数によってx軸の速度を減らす
        velocity.x  -  =速度

    ＃プレーヤーが右矢印キーを押すかどうかを確認します
    input.is_action_pressed（ "ui_right"）の場合：
        ＃速度変数によってx軸の速度を上げる
        velocity.x +=速度

    ＃プレーヤーがジャンプキーを押して床にあるかどうかを確認します
    input.is_action_just_pressed（ "ジャンプ"）およびis_on_floor（）の場合：
        ＃ジャンプ速度変数によってy軸の速度を上げる
        velocity.y = Jump_Speed

    ＃move_and_slide関数を使用して速度の変更を適用し、衝突を処理します
    move_and_slide（velocity）


`` `


そして、Godot Engine 4.xのGDScriptのコメントされた一人称コントローラースクリプトは、rigidbodyノードに適用されます。


`` `
＃rigidbodyノードからスクリプトを拡張します
剛体を拡張します

＃移動速度、重力、ジャンプ速度変数を定義する
var速度= 5
Var Gravity = 9.8
var Jump_speed = 8

＃物理学の更新を処理する機能
func _physics_process（delta）：
    ＃vector3変数を作成して、速度を保存します
    var velocity = vector3（）

    ＃プレーヤーが床にいる場合は、重力を適用します
    is_on_floor（）の場合：
        velocity.y = -gravity

    ＃プレーヤーがアップアローキーを押すかどうかを確認します
    input.is_action_pressed（ "ui_up"）の場合：
        ＃速度変数によってz軸の速度を減らす
        Velocity.Z- =速度

    ＃プレーヤーがダウンアローキーを押すかどうかを確認します
    input.is_action_pressed（ "ui_down"）の場合：
        ＃速度変数によってz軸の速度を上げる
        velocity.z +=速度

    ＃プレーヤーが左矢印キーを押すかどうかを確認します
    input.is_action_pressed（ "ui_left"）の場合：
        ＃速度変数によってx軸の速度を減らす
        velocity.x  -  =速度

    ＃プレーヤーが右矢印キーを押すかどうかを確認します
        input.is_action_pressed（ "ui_up"）の場合：
        Velocity.Z- =速度
#Here、is_action_pressedメソッドは、「ui_up」アクションが現在プレーヤーによって押されているかどうかを確認するために使用されます。もしそうなら、Z方向の速度は速度変数によって減少します。これにより、プレイヤーキャラクターがシーンで前進します。

    input.is_action_pressed（ "ui_down"）の場合：
        velocity.z +=速度
＃同様に、これは「UI_Down」アクションが現在押されているかどうかをチェックし、もしそうなら、速度変数によってZ方向の速度を増加させます。これにより、プレーヤーのキャラクターがシーンで後方に移動します。

    input.is_action_pressed（ "ui_left"）の場合：
        velocity.x  -  =速度
＃これは、「UI_LEFT」アクションが現在押されているかどうかを確認し、もしそうなら、速度変数によってX方向の速度を減少させます。これにより、プレイヤーキャラクターがシーン内で左に移動します。

    input.is_action_pressed（ "ui_right"）の場合：
        velocity.x +=速度

＃これは、「UI_RIGHT」アクションが現在押されているかどうかを確認し、もしそうなら、速度変数によってX方向の速度を増加させます。これにより、プレーヤーのキャラクターがシーンで正しく移動します。

    input.is_action_just_pressed（ "ジャンプ"）およびis_on_floor（）の場合：
        velocity.y = Jump_Speed
＃極端に、これは「Jump」アクションが押されたばかりであるかどうか（is_action_just_pressedを使用）とプレーヤー文字が現在フロアにあるか（is_on_floorを使用）かどうかをチェックします。両方の条件が満たされている場合、y方向の速度がJump_speed変数に設定され、プレーヤーの文字がジャンプします。

    move_and_slide（velocity）
#the Move_and_slideメソッドは、速度ベクトルで呼び出され、プレーヤーの入力に基づいてシーン内のプレーヤー文字を移動します。

`` `
Here's the commented first-person controller script in GDscript for Godot Engine 3.x, applied to a KinematicBody node:

```
# Extend the script from the KinematicBody node
extends KinematicBody

# Define the movement speed, gravity and jump speed variables
var speed = 5
var gravity = 9.8
var jump_speed = 8

# Function to handle the physics update
func _physics_process(delta):
    # Create a Vector3 variable to store the velocity
    var velocity = Vector3()

    # If the player is on the floor, apply gravity
    if is_on_floor():
        velocity.y = -gravity

    # Check if the player presses the up arrow key
    if Input.is_action_pressed("ui_up"):
        # Reduce the velocity in the Z axis by the speed variable
        velocity.z -= speed

    # Check if the player presses the down arrow key
    if Input.is_action_pressed("ui_down"):
        # Increase the velocity in the Z axis by the speed variable
        velocity.z += speed

    # Check if the player presses the left arrow key
    if Input.is_action_pressed("ui_left"):
        # Reduce the velocity in the X axis by the speed variable
        velocity.x -= speed

    # Check if the player presses the right arrow key
    if Input.is_action_pressed("ui_right"):
        # Increase the velocity in the X axis by the speed variable
        velocity.x += speed

    # Check if the player presses the jump key and is on the floor
    if Input.is_action_just_pressed("jump") and is_on_floor():
        # Increase the velocity in the Y axis by the jump speed variable
        velocity.y = jump_speed

    # Use the move_and_slide function to apply the velocity changes and handle collisions
    move_and_slide(velocity)


```


And here's the commented equivalent first-person controller script in GDscript for Godot Engine 4.x, applied to a RigidBody node:


```
# Extend the script from the RigidBody node
extends RigidBody

# Define the movement speed, gravity and jump speed variables
var speed = 5
var gravity = 9.8
var jump_speed = 8

# Function to handle the physics update
func _physics_process(delta):
    # Create a Vector3 variable to store the velocity
    var velocity = Vector3()

    # If the player is on the floor, apply gravity
    if is_on_floor():
        velocity.y = -gravity

    # Check if the player presses the up arrow key
    if Input.is_action_pressed("ui_up"):
        # Reduce the velocity in the Z axis by the speed variable
        velocity.z -= speed

    # Check if the player presses the down arrow key
    if Input.is_action_pressed("ui_down"):
        # Increase the velocity in the Z axis by the speed variable
        velocity.z += speed

    # Check if the player presses the left arrow key
    if Input.is_action_pressed("ui_left"):
        # Reduce the velocity in the X axis by the speed variable
        velocity.x -= speed

    # Check if the player presses the right arrow key
        if Input.is_action_pressed("ui_up"):
        velocity.z -= speed
#Here, the is_action_pressed method is used to check if the "ui_up" action is currently being pressed by the player. If it is, the velocity in the z direction is decreased by the speed variable. This will cause the player character to move forward in the scene.

    if Input.is_action_pressed("ui_down"):
        velocity.z += speed
#Similarly, this checks if the "ui_down" action is currently being pressed and, if so, increases the velocity in the z direction by the speed variable. This will cause the player character to move backward in the scene.

    if Input.is_action_pressed("ui_left"):
        velocity.x -= speed
#This checks if the "ui_left" action is currently being pressed and, if so, decreases the velocity in the x direction by the speed variable. This will cause the player character to move left in the scene.

    if Input.is_action_pressed("ui_right"):
        velocity.x += speed

#This checks if the "ui_right" action is currently being pressed and, if so, increases the velocity in the x direction by the speed variable. This will cause the player character to move right in the scene.

    if Input.is_action_just_pressed("jump") and is_on_floor():
        velocity.y = jump_speed
#Finally, this checks if the "jump" action has just been pressed (using is_action_just_pressed) and if the player character is currently on the floor (using is_on_floor). If both conditions are met, the velocity in the y direction is set to the jump_speed variable, which will cause the player character to jump.

    move_and_slide(velocity)
#The move_and_slide method is called with the velocity vector to move the player character in the scene based on the player's inputs.

```