用途:将 Godot 2D 项目迁移到 3D,或为现有 2D 项目加入 3D 元素,提供节点转换矩阵与脚本优先的迁移步骤。
主要能力:节点类型转换参考(CharacterBody2D→CharacterBody3D、RigidBody2D→RigidBody3D、StaticBody2D→StaticBody3D、Area2D→Area3D、Sprite2D→MeshInstance3D/Sprite3D、Camera2D→Camera3D、CollisionShape2D→CollisionShape3D、RayCast2D→RayCast3D);相机系统(第三人称 SpringArm3D、第一人称、环绕);物理层迁移(2D 与 3D 物理使用独立层系统,需在项目设置中重新配置 3D Physics 层名与 collision_layer/collision_mask);精灵到 3D 模型的美术流程(广告牌 Sprite3D、QuadMesh 漂浮精灵、导入 .glb/.fbx 全 3D 模型);2.5D 导航(将 NavigationServer3D 路径投影到 2D 屏幕或玩法平面);大规模人群渲染(MultiMesh + 广告牌着色器);输入方案改造(Input.get_vector、鼠标捕获视角);性能预算(以目标硬件实测 95 分位帧时间为准,而非推测表格)。
使用方式:该技能提供多个必需脚本,包括 spring_arm_camera_setup.gd(第三人称相机)、characterbody3d_migration_movement.gd(相机相对移动)、physics_layer_migration_checklist.gd(物理层迁移清单)、sprite_plane.gd、vector_mapping.gd、crisp_projected_ui.gd、adapt_2d_to_3d_patterns.gd、navigation_bridge_2d5d.gd、massive_crowd_manager.gd。迁移步骤为:先迁移物理层,再配置相机,最后处理移动。UI 保持 2D 叠加,使用 CanvasLayer 承载 Control 节点。
适用场景:将平台跳跃或俯视角 2D 游戏移植为 3D,或需要探索、第一人称、3D 空间战斗等具备纵深需求的玩法时。
限制:资料明确要求不得直接将 Vector2 替换为 Vector3(x, y, 0)、不得沿用 2D 碰撞层、不得忘记添加 DirectionalLight3D 等灯光、不得用 Camera2D 跟随逻辑处理 Camera3D、不得假设性能相同(3D 开销约为 2D 的 5-10 倍)、复杂 3D 旋转应使用 Quaternion 或 Basis、应遵守 1 单位等于 1 米的公制缩放。深度光照教程需转到 godot-3d-lighting,本技能不涉及。具体脚本内容、安装命令与版本兼容信息暂未提供。