镜头移动在游戏开发中非常重要。因此,在这篇 Godot 4 教程中,我想解释有关 Camera2D 节点的所有知识。从如何使用它、它是什么、我们可以创建的相机效果,以及如何按照您的想象在游戏中实现它。该视频应该可以让您更深入地了解 Godot 中的相机节点。项目源码:https://devw
和2D场景不一样,3D场景必须要一个摄像机节点才能在游戏运行时渲染画面。 我们之前已经了解到2D场景中可以加入一个Camera2D节点用来控制2D游戏的画面,类似地,我们有一个Camera3D节点。 加入Camera3D节点后选中它,在3D视图中可以看到一个Preview(预览)按钮: 勾选后编辑器的3D视口中可以预览透过此摄像机看到的画面。 ...
这时候就需要使用一个新的节点 Remote Transform2D ,它将用于远程跟随。 添加步骤: 首先将 Camera2D 从角色子节点移出,可以移动到根节点下。 接着为角色节点添加子节点 Remote Transform2D。 选中Remote Transform2D 节点,为 Remote Path 选择我们的 Camera2D 节点。 保存后再次运行。 可以看到,镜头仍然在跟随,但当...
因为分辨率的原因,2D 场景经常会出现锯齿现象。 尤其是在 Linea2D,Polygon2D,TextureProgressBar 中最为明显,部分 Custom Drawing 也会。 3.5.1 Line2D,Polygon2D 和 Custom Drawing 上的抗锯齿属性 部分节点会提供一个 Antiliased 的属性,这个属性对性能影响很小,是最推荐的方式。 这个属性并不要求打开 MSAA,也...
选中Camera2D 节点,添加一个新的脚本。 还是先从变量开始。 首先,需要设置一个可视屏幕,也是一个网格的大小,根据我们的素材情况,设置为320*184。 同时,为了便于判断角色是否移动到屏幕外,在x轴和y轴上都记录一下屏幕移动的次数。 最后,引用player节点进来。 var grid_size = Vector2(320, 184) var grid_x ...
怎么使用camera..设置了camera2d节点的limit_left和limit_right后,左右移动它,屏幕不会越过limit,但是position仍然会变化,其子节点会移动出屏幕。怎么让节点一直跟着camera2d
var viewport_center = get_viewport().size / 2.0 var origin = camera.project_ray_origin(viewport_center) # TODO 理论上应该这样写没错。但是实际上在我们的情况下origin就始终等于摄像机的global_position。你可以试着给project_ray_origin传入任意值,只要摄像机不动,这个结果就应该是不变的。
我tilemap的size是16 CAB1B9E2 GDScript 7 extends Camera2D export (NodePath) onready var player = get_node(player) onready var game_size := Vector2(1024, 768) onready var window_scale := (OS.window_size / game_size).x onready var actual_cam_pos := global_position func ...
我们之前已经了解到2D场景中可以加入一个Camera2D节点用来控制2D游戏的画面,类似地,我们有一个Camera3D节点。 加入Camera3D节点后选中它,在3D视图中可以看到一个Preview(预览)按钮: 勾选后编辑器的3D视口中可以预览透过此摄像机看到的画面。 然而,启动游戏我们会发现画面中虽然有我们的场景,但是是黑乎乎的。
Viewport的属性 Viewport.canvas_transform 属性,改变这个属性可以用于改变其内部所有 canvasItem 节点在屏幕上的位置。Camera2D正是运用这个特性来调整屏幕。 但是注意,想达成像是滚动等效果,比起调整屏幕,调整 canvas 的 transform 性能上更加高效。 1.2 CanvasLayers ...