4.Godot图片素材的获取和编辑

该博客围绕Godot游戏引擎展开,介绍了游戏开发中图片素材的处理方法。包括推荐国外图片素材资源网站,阐述2D图片准备、切割、合并的方式,以及图片与渲染器的关系,如Sprite节点用于显示图片等信息技术相关内容。

游戏开发中经常遇到图片素材的需求

1. 图片素材的准备
  • 术语:Sprite 精灵,游戏开发中指一张图片
  • 来源不明的图片,切勿在商业用途使用,以免引起版权风险。
1. 在学习阶段,可以百度或者从一些资源网站获取,这种方式只能用在学习交流但是无法商用
2. 在正式工作时,公司会有专门的美术人员提供素材
3. 比较大的资源素材商店是是Unity Store
4. 独立开发者可以外包给第三方团队完成
5. 可以从一些素材网站获取正版授权的图片素材,还有一些免版权的网站一样可以获取到
6. 到一些个人外包网站如万能的淘宝或者猪八戒网,外包给大学生或其他找副业赚钱的人
  • 推荐几个国外比较好的资源网站,国内的资源网站现在还比较稀缺,需要科学上网
  • 一般人很难即精通程序也精通美术,这两种的思维方式不一样。上帝为你打开了一扇门,他同时也很可能关闭了一扇窗户
  • 2D 图片的要求:
1 背景图片,一般为 JPG
2 人物、道具等其他图片,一般为PNG ,背景透明

PS处理一张图片,去掉背景,做成可用的素材
![[Pasted image 20240414154931.png]]

![[Pasted image 20240414155851.png]]

用魔棒工具选中白色背景
点击delete
![[Pasted image 20240414155939.png]]

![[Pasted image 20240414155959.png]]

快速导出为png
导入godot
![[Pasted image 20240414160255.png]]

可以发现png素材和jpg素材的不同

2. 图片的切割
  • 一个 PNG 图片中,可能包含多个素材,使用时需要切割一下
    • 第一种方式,将图片用ps之类的工具切割好以后,重新导入godot中使用
    • 第二种方式,导入godot中通过Region指定使用的图片,做间接切割
  • 一个图片未经切割时,则只包含一个 Sprite素材
    ![[Pasted image 20240414161720.png]]

点击Region,点击启用
点击编辑区域
![[Pasted image 20240414162116.png]]

选择自动裁剪
再点击图片就可以了
![[Pasted image 20240414162320.png]]

xy指位置,w指宽,h指高
![[Pasted image 20240414162438.png]]

先关闭region,测量一下,
![[Pasted image 20240414162615.png]]

region就是区域的意思,使用区域,就是用切割的方式使用这张图片里包含的图片

3. 图片的合并
  • 有时图片太多不好管理,想合并成一整张图片去使用
    • 第一种方式,将图片用ps之类的工具合并好以后,重新导入godot中使用
    • 第二种方式,在godot中选中多张资源,然后已AtlasTexture的方式重写reimport
  • 重写reimport导入过后,也可以把之前的图片删除掉,已节省游戏的包体积和目录文件
    ![[Pasted image 20240414163419.png]]

先选中要合并的图片
在上方的导入中选TextureAtlas
![[Pasted image 20240414163605.png]]

点击地址,填入文件名字
![[Pasted image 20240414163637.png]]

点击重新导入,点击确定
![[Pasted image 20240414163718.png]]

等编辑器重启之后,就得到一张合成后的图片
具体使用可以使用切割的方式

4. 图片与渲染器
  • godot是基于节点的,节点有不同的种类,不同种类的节点代表了不同的功能
  • Sprite节点继承于Node2D节点,所以包含Node2D节点的所有属性
  • Sprite节点,用于显示一个Sprite,把一张图片渲染出来
  • 节点的种类表示一种功能,而 Sprite 的功能就是显示图片
1 添加一个对象,显示图片1
2 观察 Sprite 的属性值
3 让 Sprite Renderer 更换显示另一张图片,通过拖拽方式或者通过选择文件的方式
4 通过创建一个节点的方式创建Sprite节点

![[Pasted image 20240414164435.png]]

创建一个sprite节点
![[Pasted image 20240414164516.png]]

将左下角的icon.svg拖到右边Texture选项的后边

<think> 我们正在解决用户提出的“没有project.godot文件”的问题。根据之前的对话历史,用户可能在使用Godot引擎时遇到了问题。 根据引用[1]提到Godot在世界各地使用,支持Unicode字体处理,但这不是当前问题的直接相关引用。 引用[2]是关于在Linux系统上编译Godot Mono版本的步骤,也与当前问题无关。 引用[3]提到通过ProjectSettings单例获取项目设置,这暗示了project.godot文件的重要性,因为该文件存储了项目的配置。 用户当前的问题是没有project.godot文件,我们需要提供解决办法。 在Godot引擎中,project.godot文件是项目的核心配置文件,它位于项目根目录下。如果缺失,会导致项目无法被识别。 可能的原因及解决办法: 1. **项目目录错误**:用户可能没有在正确的目录下查找。该文件应该在项目根目录(即包含游戏资源的文件夹)下。 - 解决办法:检查当前目录是否正确,确保在项目根目录下查找。 2. **文件被隐藏或误删**:在文件系统中,该文件可能被隐藏(以点开头),或者被意外删除。 - 解决办法:显示隐藏文件(在Linux/macOS下使用`ls -a`,在Windows下在文件资源管理器中设置显示隐藏文件)。如果被删除,尝试从回收站恢复。 3. **未初始化项目**:如果这是一个新项目,可能还没有创建project.godot文件。 - 解决办法:通过Godot编辑器创建项目。打开Godot,选择“新建项目”,指定项目路径,Godot会自动生成project.godot文件。 4. **项目损坏**:项目文件可能损坏。 - 解决办法:尝试新建一个项目,然后将原项目的资源(如scenes、scripts等文件夹)复制到新项目中,并重新配置项目设置。 5. **使用版本控制忽略**:如果项目使用版本控制(如Git),可能将project.godot添加到.gitignore中忽略了。 - 解决办法:检查.gitignore文件,确保没有忽略project.godot。如果忽略了,移除该规则并重新提交。 6. **Godot版本不匹配**:使用不同版本的Godot可能导致项目文件不被识别。 - 解决办法:使用与创建项目相同版本的Godot打开项目。如果不知道版本,可以尝试用最新版本的Godot打开,但可能会有兼容性问题。 步骤指南: 步骤1:确认项目目录结构 一个典型的Godot项目目录结构如下: ``` my_project/ ├── project.godot ├── icon.png ├── default_env.tres ├── scenes/ │ └── main.tscn └── scripts/ └── player.gd ``` 确保你在正确的位置查找project.godot。 步骤2:重新创建project.godot(如果丢失) 如果确定文件丢失且无法恢复,可以手动创建: - 在项目根目录下创建一个名为`project.godot`的文本文件。 - 写入基本配置(以下是一个示例): ``` [application] config/name="My Game" config/icon="res://icon.png" [rendering] environment/default_environment="res://default_env.tres" ``` - 注意:具体配置取决于项目,可以参照其他项目或Godot文档。 步骤3:通过Godot编辑器恢复 打开Godot编辑器,选择“导入”项目,选择项目目录,Godot可能会尝试重新生成配置文件。 步骤4:从备份恢复 如果有备份(如版本控制、快照等),恢复文件。 注意事项: - 在Godot中,项目设置可以通过编辑器中的“项目”->“项目设置”修改,这些设置会保存在project.godot中。 - 如果没有project.godotGodot无法识别该项目。 生成相关问题: §§相关问题§§ 1. 如何迁移Godot项目到另一台电脑? 2. Godot项目设置有哪些重要参数? 3. 如何解决Godot无法识别项目的问题? </think> 以下是解决 Godot 项目中缺失 `project.godot` 文件的完整方案: --- ### 🔍 问题原因分析 `project.godot` 是 Godot 项目的核心配置文件[^3],缺失会导致: 1. **项目无法识别**:Godot 编辑器无法加载项目资源 2. **设置丢失**:窗口尺寸、输入映射等配置失效[^3] 3. **资源路径错误**:所有 `res://` 路径引用失效 --- ### ✅ 解决方案(逐步操作) #### 方法 1:手动创建配置文件(推荐) 1. 在项目根目录创建新文件 `project.godot` 2. 写入基础配置: ```ini [application] config/name="你的项目名称" config/icon="res://icon.png" # 可选图标路径 [rendering] quality/driver/driver_name="GLES3" [input] # 示例:跳跃键设置 jump={ "deadzone": 0.5, "events": [ InputEventKey.new_with_scancode(KEY_SPACE) ] } ``` 3. 通过编辑器加载项目: ```bash godot --path /你的/项目/路径 ``` #### 方法 2:从备份恢复 1. 检查备份位置: - Windows: `%APPDATA%/Godot/projects/` - Linux: `~/.config/godot/projects/` - macOS: `~/Library/Application Support/Godot/projects/` 2. 查找 `.godot/project.json` 文件(编辑器自动备份) #### 方法 3:重建项目结构 1. 新建标准目录: ``` /你的项目/ ├── project.godot # 配置文件 ├── scenes/ # 场景目录 ├── scripts/ # 脚本目录 ├── assets/ # 资源目录 └── .godot/ # 编辑器缓存(自动生成) ``` 2. 关键参数参考: ```ini [display] window/size/width=1280 window/size/height=720 window/stretch/mode="2d" window/stretch/aspect="keep" [physics] 2d/default_gravity=980 ``` --- ### ⚠️ 关键注意事项 1. **路径规范**: - 所有路径使用 `res://` 前缀(如 `res://scenes/main.tscn`) - 避免使用绝对路径(`C:/` 或 `/home/`) 2. **版本兼容**: - Godot 3.x 使用 `.gd` 格式 - Godot 4.x 使用 `.godot` 格式(文本文件) 3. **动态获取配置**: 通过代码读取设置(避免硬编码)[^3]: ```gdscript # 获取窗口宽度 var screen_width = ProjectSettings.get_setting("display/window/size/width") print("屏幕宽度:", screen_width) ``` --- ### 🔧 故障排除 当文件存在但加载失败时: 1. 检查文件编码(必须为 UTF-8 无 BOM) 2. 验证基础语法: ```diff # 错误示例(缺少括号) - input jump={ + input jump={ ``` 3. 清除缓存: ```bash rm -rf .godot/ # Linux/macOS del /s/q .godot # Windows ``` --- ### 🌐 跨平台路径处理 | 系统 | 项目配置路径 | 备份位置 | |---------|----------------------------------|-----------------------------------| | Windows | `C:\YourProject\project.godot` | `%APPDATA%\Godot\projects\` | | Linux | `/home/user/project/project.godot`| `~/.config/godot/projects/` | | macOS | `/Users/user/project/project.godot` | `~/Library/Application Support/Godot/projects/` | --- ### 📚 相关引用 > Godot 的配置系统允许动态获取项目参数[^3],这是避免硬编码的最佳实践 > 跨平台开发时需注意路径规范[^1]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值