Func_Godot安装和配置
Intro
我发现godot自带的csg用来做地图实在是太不方便了,四处寻找了一番发现在godot内做地图的插件都很狗屎,迫于无奈只好选择了Func_Godot配套外置的地图编辑器。虽然因为没有资料和英语苦手导致折腾了好几天,但是我总算还是让他跑起来了。虽然特别折腾,但是折腾完后特别有意义,做地图方便太多了
csg作图不方便,插件csg太buggy,所以使用了func_godot
Func_Godot是什么?
在安装前,我先来简单介绍一下Func_Godot是什么。
Func_Godot的前身是Qodot,他是对于Qodot的一次大幅重写版本
这个插件的主要作用是允许你使用Quake的dot map文件去生成godot的地图场景。
请注意,严谨点说,Func_Godot不是地图编译器,他只是一个地图解释器,他没有Quake引擎的vis、lit的概念,更没有bsp的概念,他只是作为一个quake地图编辑器的桥接插件:把quake dot map的文件内容翻译成了Godot的节点,仅此而已
本教程使用是 Godot4.3 以及func_godot官方推荐的quake地图编辑器 Trenchbroom
当然你也可以选择其他的地图编辑器,如我们Goldsrc 之光 J.A.C.K 和 老牌Quake地图编辑器 NetRadiant,只不过这些地图编辑器的配置不在本文讨论范围内(因为我也不会(/ω\))
下载&安装
下载
插件:
GitHub - func-godot/func_godot_plugin: Quake .map support for Godot 4.2
请注意:目前该插件仅适用于Godot4.2+版本,Godot4.3据我所了解的情况下使用没有问题,不过请自行承担风险
该插件也有Godot3.x版本,只不过已停止维护,并且也不再本文讨论范围内,如有需要请自行查阅
地图编辑器 TrenchBroom
https://github.com/TrenchBroom/TrenchBroom
截止到写稿的时间,tb的2024.2 pre-release已经出来了,但是在正式release出来前个人建议下载2024.1 latest
tb下载完后选择一个喜欢的地方解压即可
安装
Func_godot下载完后压缩包内有两个文件夹
其中一个是插件本体(addons)
另外一个是离线版的 Documentation(FuncGodot Manual)
安装只需要将addons文件拖入 项目 根目录即可(即res://)
然后我们在godot内,左上角选择 项目 → 项目设置 → 插件,勾选 FuncGodot插件即可
配置插件
func_godot_local_config
我们在左下角文件系统内,进入 res://addons/func_godot,找到 func_godot_local_config.tres ,打开它,就会见到如下设置
在这里,我们只需要关注其中四个参数:
分别是
Fgd output Foloder :
你的fgd导出位置,一般情况下和tb的游戏配置文件目录相同即可
Trenchbroom Game Config Folder :
tb的游戏配置文件目录,也就是tb目录下games文件夹,这里填写成:”trenchbroom位置/games/你的项目名字(or接下来设置的名字)”即可
Map Editor Game Path :
你的项目位置
Game Path Models Folder :
你的entity model在你项目的位置,在有model point fgd导出的时候,会自动生成一个glb的模型文件供你在tb内快速预览;而这个条目的意思就是,要在你项目位置的哪个文件夹里面创建,如留空为默认放置在项目根目录
例如:你填写models,那么他就会在res://models里面放置glb文件,关于godot会自动读取的问题,在设置model point fgd的时候有创建 dot gd ignore 文件的选项,这些东西以后会详细说明,不在本文的讨论范围内
好了,按照以上信息填好之后记得点一下最上面的Export Func Godot Settings,否则到时候可能会导致导出游戏配置文件失败
func_godot_default_map_settings
在同样的位置(res://addons/func_godot),打开 func_godot_default_map_settings.tres
如画面中所示,目前我们只是调试安装插件,我们只需要注意一个地方:
Base Texture Dir
点击后面的文件夹选择你放置贴图与材质的地方,个人建议贴图和材质放在同一个目录下,且最好贴图和材质的名字相对应,因为这样会大大节省我们作图的时间,而不用去折腾材质之类的事情
然后记得在下面的 Texture File Extensions 里面添加一个元素:里面写上tres即可
(如果你使用的材质的后缀为material或者res,也可以添加上去,Func_Godot支持这种格式)
然后ctrl+s或点一下上面的保存键即可
TrenchbroomGameConfig
接下来我们在你喜欢的地方创建一个 resource / 资源 文件,搜索TrenchbroomGameConfig,命名成你喜欢的名字,点击创建,然后会看到这么多选项:
如上,具体设置下一章节会提及。
在这里我们只需要注意两个选项:
Game Name
建议设置成别的名字,特别是你有多个项目的情况下,不然很容易混淆
Export File
在设置完游戏名字后,并检查前面在func_godot_local_config.tres内填写的信息是否正确,检查完毕后点击一下并看到输出栏没有红字error即成功导出
使用 TrenchBroom
配置 TrenchBroom
在你导出完成后,打开trenchbroom
点击New map…
然后点击Open Preferences
在这里,选择你刚刚导出的项目名字,在右边的Game Path里面填入你的项目地址
完成后Apply 并保存后,在Select Game中选择你的项目,你便如字面意思上新建了一张地图
使用 TrenchBroom
本文只会讲述一些简单的使用方法(如搓box),详细请看dumptruck_ds大佬制作的系列视频
Quake Mapping: TrenchBroom 2 Quickstart(Youtube)
墙内翻译链接:
Mapping雷神之锤:TrenchBroom 2快速入门_哔哩哔哩_bilibili
【Quake地图绘制 TrenchBroom 2 快速入门】
省流:在无模式选择下直接拉鼠标就能出Box,按住alt能调整box的高度;v顶点模式 ,e边模式, f面模式,esc退出模式,别的操作和3d建模软件差不多
设置纹理
在界面右边,点击右上角Face。在Texture Browser的右边打开Settings,如果设置无误你会看到你设置的材质目录与目录内的文件夹,双击他们或者选择后点击右下角的+号。完成后点击Browser即可看到你的材质。
还有一个小贴士, Clip贴图是给碰撞类型为 凸面 的物体,设置有碰撞体积、但没有视觉显示贴图的地方使用的;在func_godot的编译地图后,在tb内使用Clip贴图的面会没有贴图但保留碰撞体积。
而 Skip贴图是给 凹面 的物体,用来设置那些不需要的面上使用的;在func_godot的编译地图后,在tb内使用skip贴图的面会直接消失。
编译地图
在你做完、测试瞎弄完后,在tb内ctrl+s保存地图后,返回godot内新建一个新的场景(命名随意)后,添加一个叫做 FuncGodotMap 的Node
然后在 文件系统 内找到你刚刚保存的地图,拖入到 FuncGodotMap 的 检查器 内的 Local Map File项中
随后在3D面板中,在已选择FuncGodotMap Node的情况下,点击中间视图上方的Build按钮,即可编译你刚刚做的完美地图,随后你便可以开始测试了
好了,恭喜你完成你的func_godot的基础设置与你的首个地图编译,现在你可以为你的游戏随意搓box了,congratulations!
如果你不满于tb只能用来搓搓box,你想让tb去放置实体和划几个trigger box的话,请看下一篇文章~~
Fin.