Unity转Godot记录(一)

本文介绍了如何在国内快速下载Godot4.2.1,设置新项目参数以适应像素风格游戏,创建Player动画和碰撞检测,以及编写脚本控制Player移动。步骤包括下载、项目配置、动画设计和地图绘制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.下载Godot

国内下载Godot开VPN还是巨慢,还好发现这个链接:https://downloads.tuxfamily.org/godotengine/4.2.1/Godot_v4.2.1-stable_win64.exe.zip

配合IDM下载,还是很快的。

godot4.2.1:https://download.csdn.net/download/python_use/88860828

2.新建项目

我的电脑只支持兼容版的,创建后启动

打开高级设置,窗口覆盖尺寸设为窗口尺寸,之后窗口大小设为原来1/3

这样设置将canvas放大了3倍,适合制作像素风游戏

另外,高级设置中的渲染纹理-》纹理过滤设为nearest,否则素材经过放大会模糊 

之后新建TileSet,点physicsLayer,add, 之后整理素材

3.创建Player动画

(1)把Player的精灵序列图拖到场景中,之后sprite region勾选启用,编辑区域时选择栅格吸附,56x56像素,然后选择idle的六帧动画,之后再Animation中将Hframe设为6。

(2)新建一个collision2D,shape设为rectangle,编辑shape大小为合适大小

(3)新建AnimationPlayer节点,点击“动画”-》新建-》输入idle,该动画共六帧,我希望FPS为10,所以总长为0.6s,点击打开循环,属性值右侧有一个小钥匙一样的东西,点击后即可添加关键帧。新建另外一个动画时,往往需要切换region,只需要修改完region属性后点一下小钥匙,加一下关键帧就好。我们用同样的方式创建动画

(4)给这些东西新建一个character2D节点,为后续写脚本做准备

(4)添加脚本,控制Player行为,选中Player的character2d节点,点击左上方像卷轴的东西,创建脚本。这里我们不使用模板,取消勾选使用模板。我们写入以下代码:

extends CharacterBody2D

#获取重力数值
var gravity := ProjectSettings.get("physics/2d/default_gravity") as float

#在物理更新当中更新速度
#并使用move_and_slide将速度应用在物体移动上
func _physics_process(delta: float) -> void:
	velocity.y += gravity * delta
	move_and_slide()
	

注意:蓝色部分是相机范围,画出范围预览时就什么也看不到了 (点击右上方的三角形Play)

4.绘制地图

(1)新建TileMap,新建TileSet图集,把图片拖入底部,弹出窗框点击否,右侧点击物理层,之后新建 

(2)点击绘制,物理层0,画在TileSet的地块上,之后TileMap选择地块绘制,左键绘制,右键删除,按住shift键可拖出一条直线。

(3)physics layers设为1,之后player的physics layer也记得设为1,否则检测不到碰撞

编写个3D小游戏是个复杂但有趣的项目。以下是个基本的步骤指南,帮助你开始编写3D小游戏: ### 1. 选择开发引擎 选择个适合的3D游戏引擎是第步。常见的3D游戏引擎包括: - **Unity**:使用C#编程语言,适合初学者和专业人士。 - **Unreal Engine**:使用C++和蓝图(Blueprint)可视化脚本,适合高质量图形需求。 - **Godot**:开源引擎,使用GDScript(类似Python),适合独立开发者。 ### 2. 学习基础知识 在开始编写游戏之前,确保你对选择的游戏引擎有基本的了解。学习如何使用引擎的编辑器、场景管理、物理系统、输入处理等。 ### 3. 设计游戏 在编写代码之前,设计你的游戏。确定游戏类型、故事情节、角色、关卡设计、用户界面等。制作个游戏设计文档(GDD)来记录所有设计细节。 ### 4. 创建基本场景 在游戏引擎中创建个基本场景,包括地形、角色、摄像机等。确保你可以控制角色并在不同视角之间切换。 ### 5. 实现游戏机制 根据游戏设计文档,实现游戏的核心机制。例如,角色移动、跳跃、攻击、碰撞检测等。 ### 6. 添加图形和音效 为游戏添加3D模型、纹理、动画和音效。使用引擎的资源管理工具导入和管理这些资源。 ### 7. 测试和调试 不断测试游戏,修复发现的bug和性能问题。邀请朋友或测试人员试玩,获取反馈并进行改进。 ### 8. 发布游戏 完成开发后,编译游戏并发布到目标平台。常见的发布平台包括PC(Steam、Itch.io)、移动设备(App Store、Google Play)和游戏主机(PlayStation、Xbox)。 ### 示例代码(使用Unity和C#) 以下是个简单的角色控制器脚本示例: ```csharp using UnityEngine; public class PlayerController : MonoBehaviour { public float speed = 5f; public float jumpForce = 5f; private Rigidbody rb; private bool isGrounded; void Start() { rb = GetComponent<Rigidbody>(); } void Update() { float moveHorizontal = Input.GetAxis("Horizontal"); float moveVertical = Input.GetAxis("Vertical"); Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical); rb.AddForce(movement * speed); if (Input.GetButtonDown("Jump") && isGrounded) { rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse); } } void OnCollisionEnter(Collision collision) { if (collision.gameObject.CompareTag("Ground")) { isGrounded = true; } } void OnCollisionExit(Collision collision) { if (collision.gameObject.CompareTag("Ground")) { isGrounded = false; } } } ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值