Godot学习日志Day1

【Godot4自学手册】第一节配置Godot运行环境 Godot是一款自由开源、由社区驱动的 2D 和 3D 游戏引擎!它是一款功能丰富的跨平台游戏引擎,可以通过统一的界面创建 2D 和 3D 游戏。它提供了一套全面的通用工具,因此用户可以专注于制作游戏,而无需重新发明轮子。游戏可以一键导出到多个平台,包括主流的桌面平台(Linux、macOS、Windows)、移动平台(Android、iOS)、基于 Web 的平台以及主机平台。 阅读详情

一、引言

        讲道理,用过了Unity与UE后,发现小的创意项目还是Godot强。于是便跟着B站的一位UP主的教程开始了学习。以后,我都将会做出笔记发在优快云上。

        (视频链接:Godot 4 教程《勇者传说》)

二、基础设置

        1、窗口大小

        在项目设置中,将窗口覆盖大小设置为原视口大小,又将视口大小转为原来的三分之一。

                

        2、拉伸模式

                该项目为2D像素,用canvas_items比较合适。

        3、渲染设置

        如果我们为纯像素风的游戏,因将默认纹理过滤设置为Nearest,这样可以避免素材的模糊。

三、场景搭建

        1、新建场景

        选择场景节点,便会创建一个新的场景,我对于Godot的理解,是它把游戏里的一切都看做是一个节点。就像是一颗树一样,最基本的类往下分为很多种子类,子类再往下有分成了许多小类——比如说角色,又或者是场景,这些都被Godot定义为一种节点,同样的,对于节点的利用,也在于给一个角色上刚体或是碰撞体之类的。这应该是Godot的基本定义。

        2、TileMap

        一个2D游戏缺不了TileMap。瓦片地图在Godot里的应用很简单——在世界下创建一个TileMap的节点,并将图片加入。

        在Unity中,创建瓦片地图后,可以直接选择使用TileMap专属的碰撞体,而在Godot里,我觉得会多上几个步骤。

        首选,要选择绘制。在绘制中选择物理层0,选择想要添加碰撞体的单个瓦片,就可以直接使用了。而绘制很简单,左键放置,右键删除,按住Shift还可以拉直线。

四、角色创建

        1、精灵创建

        似乎在Godot里创建角色可以直接忽略掉默认精灵,直接使用动画来创建。

        首选选择其他节点,然后再选择CharacterBody2D节点。

        

        官方对于CharacterBody2D的定义如下:CharacterBody2D是一个专门的类,用于用户控制的物理体。它们完全不受物理影响,但会影响其路径上的其他物理体,主要用于提供高级API来移动对象,除了PhysicsBody2D.move_and_collide()提供的一般碰撞检测外,还带有墙和坡度检测(move_and_slide()方法)。这使得它对于必须以特定方式移动并与世界碰撞的高度可配置的物理体非常有用,这通常是用户控制角色的情况。(官方文档:CharacterBody2D)

        总而言之,它给了我们许多基础的定义。

        2、动画创建

        在角色节点根下创建Sprite2D,然后在Texture下添加切片素材,在Region区中将Enabled选为启用,然后选择编辑区域,选择栅格吸附,并根据自己的素材选择步长(一个格子的长和宽)。我们框出6帧的站立(Idle)动画。

        同时,我们要分解Idle动画,所以选择Hframes(横向帧),并更改为6。

        之后,我们在Character2D的根下创建AnimationPlayer,这将帮助我们创建动画。根据自己的需求,调整总时长与单个帧时长,并决定是否需要循环。

        接着,我们点击动画器,并创建新的动画,名为Idle(自定义)。

        现在,需要添加关键帧(目前对于几个步骤我也不知道是什么意思,后续补充),先点击rect右边的小钥匙,创建。然后再点击Hframes旁的小钥匙,最后就是Frame的,根据单个帧的总量来添加。

        现在,我们拥有了一个动画,同上,我们可以接着创建Jump与Run了。

        3、角色脚本

        目前,我的理解就是,Godot-script就是python的改版,不过它也拥有C#脚本,跟当年的Unity一样,不知道会不会被取代——可能随着Godot的升级换代,功能变多,恐怕就需要C#来开发了。

        点击Character2D上的小图标。

        现在我们添加键盘映射。

   

        我们在代码中写下程序:

#类的继承
extends CharacterBody2D

#基础常亮数据的定义
const RUNSPEED := 200.0
const JUMPSPEED := -300.0

#重力直接引用系统中的定义
var gravity := ProjectSettings.get("physics/2d/default_gravity") as float

#引用两个节点的方式,可以直接拖拽放入
@onready var sprite_2d: Sprite2D = $Sprite2D
@onready var animation_player: AnimationPlayer = $AnimationPlayer

#移动函数,目前还不是很理解,不过_physics_process()是类里自带的
func _physics_process(delta: float) -> void:
	
	#获取输入阈值(-1~1)
	var direction := Input.get_axis("move_left","move_right")
	
	#velocity是Godot对角色移动的定义
	velocity.x = direction * RUNSPEED
	velocity.y += gravity * delta
	
	#下面的is_on_floor()同样为系统
	if is_on_floor() and Input.is_action_just_pressed("jump"):
		velocity.y = JUMPSPEED
		
	#动画机的改变
	if is_on_floor():
		if is_zero_approx(direction):
			animation_player.play("Idle")
		else:
			animation_player.play("Running")
	else:
		animation_player.play("Jumping")
	
	#角色的面朝方向
	if not is_zero_approx(direction):
		sprite_2d.flip_h = direction < 0
		
	#下面的还不是很理解
	move_and_slide()

        程序里,字符串的部分都是在Godot里定义的,可以更改和自定义。其实乍一看,和Unity也相差不大,很好理解和上手,因为Godot在Character2D类里定义了太多可以直接使用的东西。

        4、碰撞体

        我们直接在角色的根下添加一个名叫CollisionShape2D的节点,碰撞体在本节课中还没有过多的讲解,我们添加即可。

五、结语

        没有太多的话说,第一节课就这么多东西,我们可以点击运行看看自己的成果。

        希望自己能够坚持下去。

Godot引擎 4.0 文档 - 循序渐进教程 - 脚本语言 ¶脚本是包含附加到节点以扩展其功能的代码的文件。Godot 支持四种官方脚本语言,为您提供性能和易用性之间的灵活性。例如,您可以混合使用多种语言,以使用 C 或 C++ 实现要求苛刻的算法,并使用 GDScript 或 C# 编写大部分游戏逻辑。 阅读详情

相关推荐

Godot C#工程化开发:Nuget包管理与项目模板搭建实战

在游戏开发中,依赖管理和项目结构规范化是提升工程效率和代码质量的基础。通过引入成熟的包管理机制,开发者可以便捷地集成日志、数据库、数学计算等通用功能库,避免重复造轮子,并确保依赖版本的一致性。其技术价值在于构建可维护、可协作的代码基座,为长期项目迭代奠定基础。这一实践在需要结构化日志记录、本地数据存储或复杂随机数生成的游戏项目中尤为关键。本文以Godot引擎的C#开发为例,详细阐述了如何利用Nuget生态集成Serilog、Dapper等热词库,并创建可复用的项目模板,从而将Godot C#项目升级为具备工

weixin_34021089的博客 430

别再瞎摸索!Godot 学习超详细保姆级教程来了

作为一个热衷于游戏开发的博主,我接触过不少游戏开发引擎,在众多引擎中,Godot 逐渐成为了我的心头好。我初次邂逅 Godot,是在参与一个小型独立游戏开发项目的时候。当时,项目面临着预算有限、开发周期紧张的困境,在对比了市面上主流的游戏开发引擎后,Godot 以其独特的优势脱颖而出。和 Unity、Unreal Engine 这些广为人知的引擎相比,Godot 有着许多不可忽视的闪光点。首先,它是开源的,这意味着开发者可以自由地查看、修改和分发引擎的源代码。

大雨淅淅的博客 2万+

Godot引擎调试利器:GDShell交互式控制台原理与应用详解

在游戏开发中,调试工具是提升开发效率的关键。REPL(Read-Eval-Print Loop)作为一种交互式编程环境,允许开发者在运行时动态执行代码、检查状态,其核心原理是通过动态编译与即时执行技术,将代码字符串转换为可执行的指令。这种技术为快速原型验证、实时问题排查和动态内容调整提供了强大支持,尤其适用于需要频繁迭代的游戏开发场景。在Godot引擎中,GDShell正是基于这一理念构建的运行时交互式控制台,它通过集成代码补全、上下文感知和自定义命令等功能,让开发者能够直接操作游戏对象、执行GDScrip

weixin_34161083的博客 532

Godot 学习记录

看视频做的笔记 1

conan666666的博客 3508

Godot游戏引擎集成MCP协议:实现AI NPC智能对话与可控交互

在游戏开发中,AI对话系统与游戏引擎的整合是一个关键挑战。其核心原理在于通过协议桥接,将概率生成的AI对话与状态驱动的游戏逻辑安全、结构化地连接起来。这项技术的价值在于,它能在保持游戏世界确定性的同时,引入AI的开放性与灵活性,从而创造更具沉浸感和响应性的NPC交互体验。典型的应用场景包括角色扮演游戏中的动态对话、基于环境的智能反应以及任务系统的自适应生成。本文聚焦于利用Model Context Protocol(MCP)这一标准化接口协议,解决游戏上下文(如玩家状态、环境数据)与AI大模型(如Claud

weixin_30654419的博客 304

Godot 4 开发《星露谷物语》类游戏:架构设计与核心系统实现

在游戏开发中,数据驱动架构和状态管理是构建复杂交互系统的核心原理。通过将游戏实体抽象为可配置的资源(Resource),并与表现层(Scene)分离,开发者可以创建高度模块化、易于维护的代码结构。这种设计模式的技术价值在于提升了项目的可扩展性和团队协作效率,尤其适用于模拟经营、角色扮演等包含大量物品、合成配方和NPC交互的游戏类型。在Godot引擎中,TileMap的Data Layers功能为网格化地图状态管理提供了高效解决方案,而信号(Signal)机制和Autoload单例则能有效实现系统间的解耦与全

weixin_33985507的博客 469

Godot学习日志Day3

本文详细介绍了在Godot引擎中使用TileMap进行2D游戏开发的方法。首先,文章对比了Godot与Unity在TileMap功能上的便捷性,强调了Godot的优势。接着,文章讲解了如何创建TileMapLayer,包括TileSet的创建、物理层的设置以及特殊瓦片的处理。此外,文章还介绍了地形与背景的自动补全功能、地形创建、补全规则、绘制与概率分布等技术细节。通过这些步骤,开发者可以高效地构建复杂的2D游戏场景。文章最后指出,这些内容仅是Godot瓦片工具的一部分,鼓励开发者继续深入学习和探索。

Kotomi的博客 2390

第一章-介绍

介绍一般建议什么是游戏引擎?什么是Godot?下载Godot其他安装方法Godot UI概述Project Manager选择文件名编辑器窗口关于节点和场景Godot中的脚本关于GDScript总结 无论你是想要从事的职业还是休闲爱好,游戏开发都是一项有趣而有意义的工作。现在是开始游戏开发的最佳时机。现代化的编程语言和工具使构建高质量的游戏并将其发布到全世界变得比以往任何时候都容易。如果你正在阅读本书,那么你已经踏上了制作梦想中的游戏的道路。 本书是对Godot游戏引擎及其2018年初发布的新3.0版本的介

游戏开发 2112

Godot学习日志Day2

本文介绍了在Godot4引擎中创建和优化2D相机的方法。首先,相机可以直接在角色节点下创建Camera2D。其次,讲解了相机的三个关键属性:Limit(限制相机移动的矩形范围)、Drag(规定相机跟随的矩形范围)和PositionSmoothing(提供平滑移动的速度控制)。最后,为了适应动态变化的地图,提供了一个自动定义相机Limit的脚本,通过获取地图的组件和方块大小来设置相机的边界,并在启动时忽略平滑位移以防止相机出界。总体来说,相机的设置相对简单,但在实际应用中需要根据具体场景进行优化。

Kotomi的博客 993

射频电源与等离子体技术:原理、应用与优化策略

射频电源(RF Power Supply)作为高频交流电信号发生器,在半导体制造和材料处理中扮演关键角色。其核心原理是通过高频电场激发气体产生等离子体,这种电离气体包含电子、离子和活性基团,具有独特的非平衡特性。技术价值体现在等离子体密度和电子温度的可控性上,使得在刻蚀和沉积工艺中能精确调控材料处理效果。应用场景广泛覆盖PECVD、深槽刻蚀等工业流程,其中13.56MHz ISM频段因其全球合规性成为行业标准。优化策略包括双频驱动和阻抗匹配网络设计,可显著提升工艺均匀性和设备效率。

weixin_29163797的博客 389

实用电路精讲系列---仪表放大器

摘要 仪表放大器通过三级运放架构实现高共模抑制比(CMRR>100dB)和精密差分放大,其核心是第一级同相运放提供高输入阻抗和可调增益(G=1+2R/RG),第二级差分运放消除共模干扰。具有低失调(≤50μV)、低温漂(≤0.6μV/℃)特性,广泛应用于智能断路器电流监测、ECG心电信号放大等场景。典型电路采用LTC1049运放,通过匹配电阻网络实现199倍差分增益,结合输出缓冲确保信号稳定性。设计时需注意输入共模电压范围限制和增益电阻精度,优选集成IC(如AD620、INA128)以规避分立元件匹配

weixin_40590799的博客 2072

Godot-3-2D-Day-Night-Cycle 项目教程

Godot-3-2D-Day-Night-Cycle 项目教程 1. 项目的目录结构及介绍 Godot-3-2D-Day-Night-Cycle/ ├── day_night_cycle/ │ ├── project.godot │ ├── src/ │ │ ├── day_night_cycle/ │ │ ├── moon_light/ │ │ └── debug...

gitblog_01001的博客 824

HDR视频技术之七:逆色调映射

HDR 技术说是继 4K 之后视频领域的又一次重大技术突破,不仅提高图像的动态范围,同时也提供了更宽的色域,并提升了画面在高光和暗部的细节信息,带给观看者更加真实的视觉体验。但作为 HDR 产业链的核心,内容短缺的问题仍然是 HDR 普及和成熟的重要限制因素。众多电视厂商将 HDR 技术作为其产品规划中的重要技术,主要是在硬件方面进行提升。而由于 HDR 内容制作对于设备要求较高,对采集、调色、显示等多方面都需要较高的质量要求,内容制作的复杂度和周期长等因素,导致了 HDR 内容的匮乏。

多媒体开发者 2422

[游戏开发日志] day 3 - godot 跑起来

我连godot的界面都不熟,几乎属于他不认识我,我不认识他的陌生人状态,顶多算网友。看吧,AI什么都招了,我就照着这些个步骤一步一步执行(对,我就是那个RPA机器人), 折腾了一天,godot熟练度 + 20%。感觉继续聊下去,各种资源都可以让AI来,不那么严谨的话,我目前这个水平,能用。补充一点,都是 gemini的功劳.作为一个完全没有美术细胞,听音乐只听流行乐的粗鄙理工科生,我实在是没法搞美术资源,没办法,接着AI吧。纯viber coding。不过我马上发现了问题, 这些个贴图什么的,我没有啊。

buttonupAI的博客 448

【花雕学编程】Arduino ESP32 SPP 之使用Servo库控制360度舵机正反转

使用 Servo 库控制 360 度舵机的正反转是 Arduino ESP32 SPP 应用中的一个重要案例,具有简易控制接口、灵活速度调节和高兼容性等特点,广泛应用于机器人、自动化装置和动态艺术等领域。在第三个案例中,使用map()函数将用户输入的速度参数(范围0-100)映射到舵机控制的角度(0-180),使得用户能够以更人性化的方式控制舵机速度。5、创新:Arduino可以让你用电子的方式来表达你的创意和想象,你可以用Arduino来制作各种有趣和有用的项目,如机器人、智能家居、艺术装置等。

雕爷学编程 1469

Scale-up,scale-out技术概述

本文系统分析了Scale-up与Scale-out两种扩展技术在现代计算中的应用与发展。Scale-up通过增强单节点性能,适用于高耦合任务,而Scale-out通过横向扩展节点,实现高可用性和无限扩展。在芯片层面,Chiplet技术推动Scale-up发展;在数据中心层面,二者协同工作构建强大集群。光模块在长距离高带宽传输中发挥关键作用。文章对比了NVIDIA、AMD和Broadcom三家公司的技术路线,指出NVIDIA采用封闭生态,AMD选择开放标准,Broadcom则主导底层连接技术。未来发展方向将聚

元直的博客 1446

[游戏开发日志] day 3 - 把 Godot 的 AI 助手 endpoint 改到 TaoToken 跑起来

Godot 像素风游戏开发中,把编辑器 AI 助手 endpoint 改到 TaoToken 只需填 Base URL、API Key、Model ID 三个值。本文给出可复制的 GDScript 配置片段与 curl 验证请求,并整理 401、local proxy failed、reading choices 等常见报错排查顺序,让独立开发者五分钟接通 AI 辅助编码通道。官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end

weixin_34064233的博客 8

华为OD机试2025C卷 - 精准核酸检测 (C++ & Python & JAVA & JS & GO)

华为OD机试2025C卷 精准核酸检测,提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解

qq_45776114的博客 1707

深入解析 Godot-MCP:用 Claude 通过 MCP 协议驱动 Godot 编辑器开发游戏

Godot-MCP 是一套将 Godot 引擎与 AI 助手(如 Claude)通过 Model Context Protocol(MCP)打通的双向集成方案:AI 既能读取你项目中的脚本、场景与节点资源,也能直接在编辑器中创建节点、修改脚本、管理场景。读完本文,你将掌握从零安装 MCP Server、配置 Claude Desktop、理解 Godot 端 WebSocket 插件工作机制,到用

gitblog_00645的博客 223

24、语料库与科技术语库建设

本文探讨了语料库在科技术语库建设中的关键作用,重点分析了词性标注、索引、搭配、词形还原、频率计数、词汇排序和类型-标记分析等核心技术的应用与挑战。文章以印度语言为例,指出其语料库处理工具匮乏的现状,强调需开发适配本地语言特征的技术,并提出一个整合多种处理步骤的综合流程,旨在推动印度语言科技术语数据库的系统化建设,促进科技语言的发展与应用。

cola5的博客 92

历年安徽省省赛AHOI初中组考点分类汇总考点分类汇总

持续更新中.....

weixin_42358969的博客 818

[游戏开发日志] day 3 - Godot 跑起来:用 TaoToken 统一 Key 接入像素风等距赛博朋克原型

Godot 4 等距像素项目跑起来后,用 TaoToken 统一 Key 接入 AI 出图补美术短板。本文按新建项目、渲染参数、TileMap 等距设置、生成赛博朋克瓦片与角色占位、运行验证像素对齐的顺序,给出可复制配置与 GDScript 骨架,并附常见错排查。官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end

weixin_29885875的博客 190

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

gdsdecomp 完整指南:Godot 项目资源恢复与 GDScript 反编译快速教程

gdsdecomp 是一款免费的 Godot 项目资源恢复工具,能从 PCK、APK、EXE 文件中提取资源,把 .gdc 字节码反编译回可读的 GDScript 源码,让整个项目恢复成可打开的状态。适合逆向工程爱好者,以及需要抢救旧项目资源的开发者。 ## 一分钟看懂这个工具 先对照你的使用场景: - **源码丢失,只剩打包好的 APK** → 把 APK 拖进工具执行 Full Reco

gitblog_00516的博客 338

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

从 PCK、APK 恢复 Godot 工程:gdsdecomp(GDRE Tools)完整操作步骤

你手里只有一个 .pck、.apk 或 .exe,缺里面的 .gd 脚本和 project.godot。gdsdecomp(Godot RE Tools)就是干这件事的:吃进一个打包好的 Godot 项目文件,反编译 GDScript、重建工程文件、还原导入资源,吐出一个可直接编辑的 Godot 工程,支持 Godot 2.x / 3.x / 4.x 项目。 ## 它解决什么问题 输入是 .p

gitblog_06832的博客 178

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Godot PankuConsole高级配置:自定义快捷键与主题优化实战

在游戏开发中,运行时调试工具是提升开发效率的关键组件。其核心原理在于通过内嵌的控制台系统,允许开发者在游戏运行期间动态执行命令、修改变量,实现快速迭代与问题排查。这类工具的技术价值在于显著缩短了“修改-测试”的循环周期,尤其在Godot引擎的敏捷开发流程中,能够无缝衔接编辑与调试阶段。典型的应用场景包括实时调整游戏参数、验证游戏逻辑、以及快速测试特定功能模块。本文聚焦于Godot生态中广受欢迎的PankuConsole插件,针对其默认配置在**快捷键**与**主题**方面的不足,提供了从基础概念到工程实践的

weixin_33796205的博客 548

Godot 3.x 2D游戏动态日夜循环系统实现与集成指南

在2D游戏开发中,动态环境氛围是提升沉浸感的关键技术之一。其核心原理是通过时间驱动,对场景的全局色调、光照与背景进行分层插值控制,而非依赖复杂的3D渲染管线。这一技术方案的价值在于,它能以极低的性能开销,为像素风、手绘风等2D游戏世界注入时间流逝的真实感与生命力。典型的应用场景包括农场模拟、冒险RPG、生存建造等需要表现昼夜更替的游戏类型。本文以开源项目“Godot-3-2D-Day-Night-Cycle”为例,深入剖析了其基于CanvasModulate与数据驱动配置的实现方案,并详细介绍了如何将其集成

weixin_30897079的博客 559
下一篇: Godot学习日志Day2
Kotomi07
博客等级 码龄5年 29粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值