Godot 引擎教程

免费开源的游戏引擎


第一章 Godot概述

1.1 什么是Godot

Godot是一款免费开源的2D和3D游戏引擎,由Juan Linietsky和Ariel Manzur开发。

1.2 特点

  • 完全免费开源
  • 节点系统
  • GDScript脚本
  • 轻量级

1.3 版本

  • Godot 3.x
  • Godot 4.x(最新)

第二章 界面介绍

2.1 主界面

2.1.1 场景面板

显示项目文件结构。

2.1.2 inspector面板

编辑节点属性。

2.1.3 viewport面板

可视化编辑场景。

2.2 编辑器布局

  • 场景树
  • 文件系统
  • 动画编辑器

第三章 节点系统

3.1 节点类型

3.1.1 2D节点

  • Node2D
  • Sprite
  • AnimatedSprite
  • TileMap
  • Area2D
  • RigidBody2D
  • CharacterBody2D

3.1.2 3D节点

  • Node3D
  • MeshInstance3D
  • Camera3D
  • DirectionalLight3D

3.2 节点树

子节点继承父节点变换。


第四章 场景

4.1 场景概念

场景是节点的层次结构。

4.2 场景文件

.tscn格式

4.3 实例化

  • 拖拽方式
  • 代码方式

第五章 GDScript

5.1 基础语法

extends Node

var health = 100
var speed = 200.0

func _ready():
    print("Game started")

func _process(delta):
    position.x += speed * delta

5.2 变量

  • var
  • @export
  • @onready

5.3 函数

func take_damage(amount):
    health -= amount
    if health <= 0:
        die()

5.4 信号

signal health_changed(new_value)

func die():
    emit_signal("health_changed", 0)
    queue_free()

第六章 2D游戏

6.1 角色移动

extends CharacterBody2D

const SPEED = 200.0

func _physics_process(delta):
    var direction = Input.get_axis("ui_left", "ui_right")
    velocity.x = direction * SPEED
    move_and_slide()

6.2 碰撞检测

  • Area2D
  • CollisionShape2D

6.3 动画

AnimatedSprite2D


第七章 3D游戏

7.1 3D节点

  • MeshInstance3D
  • CollisionShape3D
  • Camera3D

7.2 材质

  • StandardMaterial3D

7.3 光照

  • DirectionalLight3D
  • OmniLight3D
  • SpotLight3D

第八章 UI系统

8.1 Control节点

8.2 常用控件

  • Label
  • Button
  • TextureRect
  • ProgressBar

8.3 布局

  • HBoxContainer
  • VBoxContainer
  • GridContainer

第九章 物理

9.1 2D物理

  • RigidBody2D
  • StaticBody2D
  • CharacterBody2D

9.2 3D物理

  • RigidBody3D
  • StaticBody3D
  • CharacterBody3D

第十章 动画

10.1 AnimationPlayer

10.2 动画状态机

AnimationTree


第十一章 音效

11.1 AudioStreamPlayer

11.2 背景音乐

11.3 音效


第十二章 项目导出

12.1 导出预设

  • Windows
  • macOS
  • Linux
  • Android
  • iOS
  • HTML5

12.2 导出流程

  1. 添加预设
  2. 配置选项
  3. 导出项目

笔记整理:AI助手
更新时间:2026-03-19