【Godot_4.3】2d俯视角下的move_and_slide()

Godot 4 2D游戏场景构建:碰撞检测与动态遮挡实现详解 在2D游戏开发中,碰撞检测与渲染排序是构建可信交互世界的两大基石。碰撞检测基于物理引擎的层与掩码系统,通过CharacterBody2D与CollisionShape2D实现物体间的阻挡逻辑,确保角色移动符合物理规则。渲染排序则依赖Y轴排序(YSort)与Z-index机制,根据物体在场景中的垂直位置动态决定绘制顺序,形成自然的视觉层次。这两项技术的结合,为俯视角、平台跳跃等类型游戏提供了核心的场景交互框架。本文以Godot 4引擎为例,深入解析如何通过TileMap分层、YSort节点配置及碰撞层设置,系 阅读详情
AI摘要

本文介绍在Godot 2D俯视角项目中设置墙和玩家的方法。墙使用StaticBody2D添加形状和颜色;玩家用CharacterBody2D添加形状和图片,玩家代码中‘move_and_slide()’很关键,还说明了角色移动计算乘delta的情况,最终玩家会被墙挡住。

关键词:Godot,4.3,2d,俯视角,move_and_slide(),角色,移动



在Godot的2d俯视角项目中,想要拥有【一面不可移动的墙】和【一名玩家】,要怎么做呢?

1、墙

①墙是静止的,所以用StaticBody2D,并添加形状(和颜色)。操作很简单,这里不过多赘述。

在这里插入图片描述

2、玩家

①添加玩家,用CharacterBody2D,并添加形状、图片(Sprite2d)。

在这里插入图片描述

②玩家代码,如下图所示。其中最重要的是“move_and_slide()”,以下是说明:

(1)一般情况下角色移动时计算不需要乘以delta,引擎会根据物理步骤(即每秒钟的物理更新次数)自动将速度转换为移动距离(例子:土豆兄弟)

(2)特殊情况才要乘以delta,比如2d平台跳跃游戏里的垂直速度(velocity.y)受重力影响,通常需要额外的时间增量(delta)来确保帧率独立(例子:马里奥)
在这里插入图片描述


最终效果

玩家被墙挡住,无法继续前进。
至此,本篇结束。
在这里插入图片描述

Godot4 2D游戏角色遮挡透明化:Area2D与TileMapLayer实战方案 在2D游戏开发中,角色与场景元素的视觉遮挡是影响玩家体验的关键问题。其核心原理是通过碰撞检测判断角色与遮挡物的空间关系,进而动态调整渲染属性以实现视觉穿透。这项技术能显著提升游戏的可玩性与专业度,广泛应用于俯视角RPG、农场模拟、横版卷轴等需要清晰角色状态的场景。本文聚焦于Godot4引擎,深入探讨如何结合Area2D的碰撞检测与TileMapLayer的图层管理,实现高效、精准的遮挡物透明度动态控制,并提供了完整的可运行实例与常见问题排查指南,为开发者解决类似交互难题提供了经过验证的工程实践路径。 阅读详情

相关推荐

Godot物理碰撞优化:从基础到高级的性能提升实战

碰撞检测是游戏物理引擎的核心基础,它决定了物体间交互的准确性与效率。其原理通常分为宽相位与窄相位两个阶段,宽相位快速筛选潜在碰撞对,窄相位进行精确几何测试。这项技术的核心价值在于平衡模拟精度与运行性能,确保游戏体验流畅。在游戏开发中,碰撞检测广泛应用于角色移动、武器命中、物体拾取等场景。针对Godot引擎,开发者常面临高速物体穿透、碰撞响应不精确等挑战。通过优化碰撞形状选型,如优先使用凸包形状,并精细配置层与掩码系统,可以显著提升性能。这些优化策略特别适用于弹幕射击、物理解谜等对碰撞精度要求高的项目,帮助开

weixin_30776545的博客 444

Godot Engine:KinematicBody中move_and_slide的返回值不是闹着玩的

文章目录方法概述缘起一个BUG解决办法 方法概述 KinematicBody中move_and_slide方法,它的原型是下面这样的 Vector3 move_and_slide(linear_velocity: Vector3, up_direction: Vector3 = Vector3( 0, 0, 0 ), stop_on_slope: bool = false, max_slides: int = 4, floor_max_angle: float = 0.785398, infinite_in

开发游戏的老王 2533

Godot4 回合制开发实战:基础场景搭建与Player角色控制

本文详细介绍了使用Godot4开发回合制游戏的基础场景搭建与Player角色控制实战技巧。通过TileMapLayer系统实现高效地图编辑,结合CharacterBody2D节点实现精准角色控制,并分享动画系统、相机控制等进阶配置方案,帮助开发者快速构建稳定的回合制游戏基础架构。

weixin_33686714的博客 587

Godot GDScript 实现CharacterBody2D推动2D碰撞物体(被动移动)

​ 环境、版本及语言:Windows10,Godot4.2.1.stable,GDScript 一、move_and_slide()及力度优化 Character2D内置方法move_and_slide(): 根据 velocity 移动该物体。该物体如果与其他物体发生碰撞,则会沿着对方滑动(默认只在地板上滑动),不会立即停止移动。如果对方是 CharacterBody2D 或 RigidBody2D,还会受到对方运动的影响。可以用于制作移动、旋转的平台,也可用于推动其他节点。

苟灵梦的博客 1770

Godot 4.3开发指南:构建类星露谷游戏的玩家移动系统

在2D游戏开发中,玩家移动系统是交互体验的核心基础,它直接关系到操作手感和游戏沉浸感。其原理通常涉及输入处理、物理模拟与动画状态机的协同工作。通过合理的技术实现,开发者可以确保角色响应精准、动画流畅,并为后续的交互逻辑奠定基础。在类似《星露谷物语》的农场模拟经营游戏中,一个稳定且可扩展的移动系统尤为重要,它需要支持八方向行走、碰撞检测及与未来工具使用、NPC对话等功能的平滑衔接。本文以热门的Godot 4.3引擎为实践环境,详细解析如何使用CharacterBody2D和AnimatedSprite2D等核

weixin_33965305的博客 391

Godot碰撞体实战指南:从核心概念到性能优化

碰撞体是游戏物理引擎的基础组件,它定义了游戏对象的物理边界和体积,是实现物体交互、碰撞检测的核心机制。其原理是通过几何形状(如矩形、圆形、多边形)的数学计算,判断物体间的重叠或接触,从而驱动物理响应或逻辑触发。在游戏开发中,碰撞体的价值在于构建可信的游戏世界,确保角色移动、物体交互符合玩家预期。应用场景广泛,从平台跳跃的角色控制、射击游戏的命中判定,到解谜游戏的机关触发都离不开它。本文聚焦Godot引擎,深入解析2D碰撞体的类型选择、配置技巧与性能优化,特别是针对CharacterBody2D的移动处理以及

weixin_30972263的博客 244

Godot3游戏引擎入门之十二:Godot碰撞理论以及KinematicBody2D的两个方法

一、前言 这篇文章是为后续小游戏的开发做理论铺垫的。嗯,我们前面已经陆陆续续讨论了很多 Godot 中的一些基础元素、基本功能,最后也顺理成章地完成了两个小 Demo : 金币收集小游戏 太空射击小游戏 这两个游戏实际上并没有很大的区别,都是简单地进行上下左右移动并完成一些特定功能,所以我打算接下来做一个更常见,更流行的 2D 游戏: 2D Platformer Game ,即所谓的平台游戏...

SpkingR的博客 5223

Godot Camera2D 平滑跟随与边界限制:2D游戏镜头控制实战

在2D游戏开发中,镜头控制是影响玩家体验的核心技术之一。其基本原理是通过摄像机节点动态调整视口,以跟随游戏角色并展示关键的游戏世界区域。从技术价值上看,优秀的镜头系统能显著提升游戏的沉浸感和操作舒适度,避免因镜头抖动、越界或延迟导致的体验问题。在工程实践中,这涉及到平滑插值、边界约束、视口适配等多个技术点的结合。常见的应用场景包括平台跳跃、横版卷轴、俯视角探索等各类2D游戏。本文以Godot引擎的Camera2D节点为例,深入解析如何通过**位置平滑**和**拖拽区域**实现丝滑的角色跟随,并利用**边界限

weixin_33892359的博客 411

游戏开发中的物理之使用KinematicBody2D

游戏开发中的物理之使用KinematicBody2D介绍什么是运动机构?运动与碰撞move_and_collidemove_and_slidemove_and_slide_with_snap检测碰撞使用哪种运动方式?例子机芯和墙壁弹跳/反射平台运动 介绍 Godot提供了多个碰撞对象以提供碰撞检测和响应。试图确定要为您的项目使用哪个选项可能会造成混淆。如果您了解每个问题的工作原理和优点和缺点,则可以避免这些问题并简化开发。在本教程中,我们将研究 KinematicBody2D节点,并显示一些使用它的示例。

努力是为了站在万人之中,成为别人的光 8506

Godot引擎CharacterBody2D角色移动实现:从基础原理到平台跳跃实战

在游戏开发中,角色移动系统是交互体验的核心基础,其本质是处理玩家输入与物理碰撞的实时响应。从原理层面看,这涉及到运动学、碰撞检测与响应等计算机图形学基础概念。通过封装物理交互逻辑,开发者可以在尊重物理规则的同时,精确控制角色的运动行为,这对于提升游戏手感和沉浸感具有重要技术价值。在2D平台跳跃、俯视角RPG等应用场景中,稳定可靠的地面检测、斜坡处理和跳跃机制是关键需求。本文聚焦于Godot引擎的CharacterBody2D节点,深入解析其作为角色控制专用物理体的设计哲学,并详细演示如何实现包含加速度模拟、

weixin_33769125的博客 851

Godot 4 TileMap 从入门到精通:2D游戏关卡地图高效搭建指南

TileMap是2D游戏开发中的核心技术概念,它基于瓦片拼接原理,将小型图片单元组合成完整地图。这种技术通过网格化管理和资源复用机制,大幅提升了关卡设计效率与维护性。在游戏引擎中,TileMap的价值在于支持自动地形生成、碰撞检测、导航系统集成等高级功能,广泛应用于平台跳跃、RPG、策略游戏等场景。Godot 4对TileMap系统进行了重构,引入多层管理和地形自动拼接等特性,结合物理碰撞与导航区域配置,为开发者提供了完整的2D地图解决方案。本文以Godot 4为例,详细解析TileMap的工作流程和常见问

weixin_30460489的博客 430

Godot引擎 4.0 文档 - 第一个 3D 游戏

你的第一个 3D 游戏在这个循序渐进的教程系列中,您将使用 Godot 创建您的第一个完整的 3D 游戏。到本系列结束时,您将拥有自己的一个简单但已完成的项目,就像下面的动画 gif 一样。我们将在此处编写的游戏类似于,但有一点不同:您现在可以跳跃,您的目标是压扁小兵。这样,您既可以识别在上一教程中学到的,又可以使用新代码和功能您将学习:使用跳跃机制处理 3D 坐标。使用运动体移动 3D 角色并检测它们何时以及如何发生碰撞。使用物理层和一个组来检测与特定实体的交互。

drgraph的博客 3933

Godot 4.2入门实战:从零开发2D躲避游戏《Dodge the Creeps!》

游戏引擎是游戏开发的核心工具,它通过封装底层图形、物理和音频等模块,为开发者提供高效的创作环境。其工作原理基于场景图(Scene Graph)和实体组件系统(ECS),将游戏对象抽象为可组合的节点(Node),通过脚本驱动逻辑。Godot作为一款开源、轻量且功能完整的引擎,其设计理念清晰,学习曲线平缓,特别适合独立开发者和初学者快速上手。在2D游戏开发中,Godot的节点树结构和GDScript脚本语言能高效处理玩家输入、物理碰撞、游戏状态管理等核心模块。本教程以经典的2D躲避游戏《Dodge the Cr

weixin_30512089的博客 419

Godot 4 3D游戏开发实战:从2D到3D的系统性进阶指南

游戏引擎是构建虚拟世界的核心工具,其原理在于通过节点树、物理引擎和渲染管线等模块协同工作,模拟出交互式的数字环境。掌握引擎技术对于独立开发者和小团队而言,能极大提升开发效率与作品表现力。Godot引擎以其开源免费和轻量化的特性,在3D游戏开发领域提供了从场景搭建、角色控制到光照渲染的完整解决方案,尤其适合用于构建第三人称动作、探索解谜等类型的游戏原型。本文聚焦于Godot 4的3D功能,通过拆解一个完整的第三人称角色控制器项目,系统性地阐述了从2D思维向3D开发的跃迁,涵盖了CharacterBody3D移

weixin_30410119的博客 410

Godot_FPC_Base:Godot 3.x的第一人称相机基础项目,可帮助任何人快速入门

Lei-Get的Godot 3.0.x第一人称摄影机项目 FPC(第一人称相机)运动学播放器参考,并用作您的项目的基础。 百科: 手册: 如果手册或Wiki中有任何问题,请通过在打开问题来通知我。 注意:关于更高版本的Godot 3.x中的“ move_and_slide()” 请注意,在Godot 3.0.2中,“ move_and_slide() ”函数具有5个参数,但是在最新的GitHub版本(截至2018年3月7日)中,它具有6个参数,添加的参数位于第3位,并且是“ bool infinite_inertia” = true ”。 如果此选项为true,则意味着没有其他对象可以旋转角色。 如果为假,则可以施加足够的力量。” “ bool infinite_inertia = true ”表示无法旋转角色,因为这样做需要的惯性是无限的。 来自

vietjetair 航空的webpack多参数生成学习

工作内不是特别多,居安思危,有一个抓机票信息的公司面试前竟然需要做面试题,这就是一个题。看了下,有点麻烦,webpack 最初不得要领,看了下资料,找了个框架,练了两个简单的,搞这个吧。入库需要自己找,有几个参数不是明文的,算法不是很复杂,位置不太好找。整体难度一般。

liu_yueyang的博客 1510

Godot官方示例项目精讲:从核心模块拆解到实战开发心法

游戏开发引擎是构建互动体验的核心工具,其原理在于通过节点化架构和场景树管理游戏对象与逻辑。掌握引擎的核心模块,如物理系统、动画状态机与输入处理,能极大提升开发效率与技术价值。Godot引擎以其轻量、开源和易上手的特点,在独立游戏和原型开发场景中广受欢迎。本文聚焦Godot官方示例项目库(godot-demo-projects),深入解析其如何通过**KinematicBody2D**实现精准的2D角色移动与碰撞,并利用**AnimationTree**管理复杂的角色动画状态切换,为新手和转引擎开发者提供了一

weixin_34354945的博客 458

Windows系统3D Gaussian Splatting环境搭建全攻略:从零开始到成功运行

本文详细介绍了在Windows系统上搭建3D Gaussian Splatting环境的完整流程,包括CUDA 12.6安装、Anaconda环境配置、代码获取与依赖安装等关键步骤。针对Windows平台特有的环境配置问题,提供了实用的解决方案和常见错误排查方法,帮助开发者快速实现3D Gaussian Splatting的成功运行。

weixin_30832143的博客 454

Godot引擎 4.0 实战 - 从零构建3D平台跳跃游戏

本文详细介绍了如何使用Godot引擎4.0从零开始构建3D平台跳跃游戏。内容涵盖引擎入门、场景搭建、角色控制、跳跃机制、敌人AI等核心开发环节,特别适合独立开发者学习。Godot 4.0的Vulkan渲染和CharacterBody3D节点大幅提升了3D游戏开发效率,是替代商业引擎的优质开源选择。

weixin_33686714的博客 538

Ruoyi-Cloud-Plus新手必看:Gateway启动失败的两种解决方案(Nacos配置空间问题)

本文详细解析了Ruoyi-Cloud-Plus框架中Gateway启动失败的常见原因及解决方案,重点围绕Nacos配置空间问题展开。针对新手开发者,提供了两种实用方案:快速切换到public空间或规范创建dev空间并迁移配置,帮助开发者高效解决网关启动故障,确保微服务项目顺利运行。

weixin_30872499的博客 492

Cadence OrCAD Capture 原理图中创建差分对约束的两种常用方法

本文介绍在原理图设计阶段,添加差分对的方法。

fydar的博客 3932

Godot Shape2D 详解:2D 物理碰撞形状基类、自定义 Solver Bias 与碰撞检测 API 实战

Shape2D 是 Godot 引擎中所有 2D 物理碰撞形状的抽象基类,本身不可直接实例化,而是通过 `CircleShape2D`、`RectangleShape2D`、`ConvexPolygonShape2D` 等 8 个具体子类参与碰撞检测。本文以 [class_shape2d.rst](https://link.gitcode.com/i/c1fb026e1657866b3dbd8c2

gitblog_00964的博客 377

深入理解Android音视频同步机制(三)NuPlayer的avsync逻辑

本文深入介绍了NuPlayer的avsync逻辑和原理

张晖的专栏 1万+
上一篇: 【Godot_4.2.2】关于Android的Android SDK、Java SDK、密钥库
下一篇: 【Godot_4.3】2d像素在移动时有抖动/模糊
Gulo_
博客等级 码龄7年 114粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值