游戏开发分享

[Godot] 自制LineMap2D插件分享

2025-03-25
1 分钟113 字

效果展示

说明:该插件用了一天不到的时间做的,很多不完善,可能还是有点bug,但是感觉还是有点用的,所以分享一下,大家使用的时候注意每个Line2D节点都会创建一个纹理子节点,注意优化吧


简介

LineMap2D 是一个基于 Line2D 的Godot4 插件,允许开发者创建带有纹理的 2D 线条,同时支持动态调整点的位置、旋转、缩放等属性。本插件支持在工具模式(@tool) 下运行,可用于编辑器内的可视化设计。


下载

  • 直接在资源库里面搜索LineMap2D即可下载安装
  • GitHub地址: GitHub - LineMap2D

安装

  • 将插件文件夹放入 res://addons/。
  • 在Godot 编辑器中,打开 Project Settings -> Plugins,启用 2DLineMap。
  • 在 场景中添加 LineMap2D 节点,即可开始使用。

使用方法

  • 在 LineMap2D 节点 的 Point 选项卡 中,可以调整 PointCount 以动态添加或删除点。
  • PositionLock 设为 true 时,点与点之间的距离会根据 PointDistance 自动调整。
  • RotationLock 设为 true 时,子节点的旋转会自动对齐 线条方向。
  • 在 Item 选项卡 中,可以调整 子节点(Sprite2D) 的 纹理、翻转、颜色、ZIndex 等参数。

属性说明

  • Point(点设置)
  • PointCount(点的数量) 控制 Line2D 点的数量,修改该值会动态增加或减少点。
  • PointDistance(点间距) 当 PositionLock 为 true 时,点与点之间的距离会根据此值自动调整。
  • PositionLock(位置锁定)
  1. -true:点的位置会按照 PointDistance 进行均匀排列。
  2. -false:可以自由调整 Line2D 点的位置。
  • RotationLock(旋转锁定)
  1. -true:子节点的旋转会自动对齐线条方向。
  2. -false:可以手动调整子节点的旋转。
  • Item(子节点设置)
  • texture2D(子节点纹理) 设定 Sprite2D 子节点的纹理。
  • FlipH / FlipV(水平/垂直翻转) 控制子节点纹理的翻转方向。
  • Modulate(颜色) 设置 Sprite2D 的 SelfModulate 颜色。
  • ZIndex(Z 索引) 控制子节点的渲染顺序。
  • NodeMaterial(材质) 设定子节点的 Material,可用于自定义着色器。

注意事项

  • 该插件开发时间较短,可能会有一些 bug。
  • 节点初始化会自动添加 width_curve ,请根据需要自行调整。
  • 在拖动其他点时,第一个点是固定的。
  • 遵循 MIT 协议,欢迎大家补充、修改、完善以及分享。
许可协议: CC BY-SA 4.0 。转载请注明出处,允许商用;改编/转载须以相同许可(CC BY-SA 4.0)发布。如有问题请联系我。