自定义山体
阅读
2025-07-20更新
最新编辑:-UnderDragon-
阅读:
更新日期:2025-07-20
最新编辑:-UnderDragon-
情况1:以蔚蓝官方山体为基础,修改官方山体的配色应用到游戏中
相关内容可以参考Aura的视频:
情况2:完全自定义全新的山体,并进行自定义配色
请注意:进行此操作需要有一些Blender相关知识的基础。如果你完全是一个新手或者没有听说过Blender这个建模软件,你可以在这一套课程中学习。:
你无需看完整套课程,只需要看到2.2十大操作即可。
第一步:路径构建
在你的mod根目录创建一个新的文件夹:Mountain
进入 /你的mod/Graphics/Atlases ,创建一个新的文件夹:Mountain
- 结论:你已经完成了最基础的文件路径构建。
第二步:建模你的山体
打开Blender,我们新建一个【常规】文件。现在你的界面应当如下图所示。
我们现在删除所有场地上的物体,包括默认的正方体、灯光、摄像头。
为了保证我们构建的山体大小合适,我们可以打开官方山体文件以作参考
官方山体模型文件位于:Celeste/Content/Overworld目录中。你可以看到5个不同的模型文件。它们分别是:
bird.obj:第九章的鸟 || mountain.obj:山体本体 || buildings.obj:山体上放置的建筑物 || mountain_wall.obj:第八章核心的山墙 || moon.obj:第九章的月亮本体
按照以下操作打开山体文件。你将会看到山体模型。
接下来,你可以自己根据所学习的Blender知识,建模属于你自己的山体。注意大小不要太大,根据官方山体控制好大小即可。
- 结论:你已经根据官方模型,建模好了属于你的大小合适的山体
第三步:配色
你现在已经构建好了山体。
现在我们点击窗口顶部的【着色】菜单。进入如图界面。
我们选中你想要涂色的物体,点击右下角的【材质】按钮,为你的所有组件上色。你需要打开这个选项才能看到你染上的颜色。
在你已经确信自己已经完成了建模过程,接下来你需要:
将鼠标移动到建模区域
按下“A”,选中所有部件
按下“Ctrl + J”将所有物体整合为一个整体。如图所示:在右上角,你应当在Collection组合下只能看到一个物体
接下来,我们将视线挪到屏幕底部,有一个很大的让我们放置卡片和创建节点与链接节点的区域,看上去很像可视化编辑器
我们在这里单击一下空白处,然后右击,选择添加,按照下方操作添加一个“图像纹理”节点。我们单击“添加”按钮,弹出一个弹窗。
在弹出的弹窗中,我们将图像重命名,并勾选“32位浮点”。然后创建图像。
完成这个节点的设置后,无需将这个节点与任何其他节点相连,只要放在原地即可
然后,我们需要选中这个节点,按下Ctrl + C复制这个节点,将这个节点复制到所有的材质中
- 结论:你已经完成了着色工作
第四步:重做UV图像
请注意:这一步必不可少。如果你少了这一步会导致最终生成的材质贴图不能被正确地在Celeste中加载!
我们点击屏幕顶部的【UV编辑】菜单。
你现在需要将鼠标放在右侧的建模区域,按下Tab键,进入编辑模式。按下“A”,选中所有物体。按下“Ctrl + T”将所有的面三角形化。你将会看到你的模型被切成很多个三角形。然后如图所示,点击左侧上方的“UV”按钮,点击“重置”
如果重置成功,你应当能看到你的UV图像变成一个白色的等腰直角三角形
保持右边建模区所有物体都被选中,我们将鼠标放在右侧的建模区,按下“U”键,在弹出的菜单里点击“智能UV投射”
按照图片中的格式进行操作:红色箭头代表你需要修改的区域。操作完后点击“展开”
接下来你将会在左侧看到这样的画面。如果这个图片很明显没有规则,但是不算凌乱,像图中这样类似的效果,证明你操作成功了。
- 结论:你完成了UV图像的重做
第五步:烘焙材质贴图
在开始烘焙贴图之前,我们需要添加一个光源,确保生成的贴图不是一团黑色
按下 shift + A,我们添加一个日光。你可以对日光进行位置和角度的调整,确保可以照射到你的山体。然后我们选中日光,在右边一列图表中找到绿色的灯泡按钮,按照图中的指示在下方调整两个参数
你可以点击这个按钮查看打光后的效果
现在我们完成了打光,可以进行贴图烘焙了。在右侧的一列图标中,我们点击右侧的长得很像相机的“渲染”按钮,将渲染引擎改为Cycles,如果可行,最好使用GPU计算。然后我们选中你的山体,将渲染面板翻到下方,找到“烘焙”选项。选择“漫射”烘焙类型,配置参考下方配图,然后点击烘焙按钮
接下来你可以在屏幕正下方看到“纹理烘焙”的进度条。进度条走满后,你可以在左下角查看到你的贴图。
例如:
然后,点击“图像-另存为”,保存到你的一个你能记得住的位置(此处的按钮应该是可以点击的。我没有进行烘焙所以按钮呈灰色)
- 结论:你完成了贴图烘焙,获得了材质贴图
第六步:导出你的山体
点击左上角“文件-导出-obj文件”。在弹出的窗口中只要找到自己想要导出的自己能记得住的位置即可,不要进行其他操作。选定位置后,点击导出按钮。
- 结论:你获得了你的山体 .obj 文件
第七步:导入你的山体
现在,你的临时文件夹里应当有以下内容。
我们只需要其中的.obj和.png文件即可
我们进入你的mod文件夹。进入Mountain文件夹。然后构建下面这样格式的路径,就像你的Maps文件夹一样
/你的mod名/Mountain/你的名字/你的mod名/你的地图名
在你的对应的地图名字的目录下放下你的obj文件,并且重命名为 mountain.obj
然后,前往这个网站:https://maddie480.ovh/resources/nothing.obj 下载这个nothing.obj文件。将这个文件向上面的路径里复制4份,重命名为其他上方讲到的5个obj文件中你缺少的部分。最终你的这个文件夹应当像如图所示:
然后,我们前往Graphics文件夹。构建路径:
Graphics/Atlases/Mountain/你的名字/你的mod名/你的地图名
进入对应的地图文件夹中复制你的png图片,并重命名为 mountain_0.png
注意:上方写到的 _0 是场景类型,0为黑夜,1为黎明,2为白天,3为月亮。只有mountain文件需要做出这样的设置,如果你建模的模型是月亮,则只需要重命名为 moon.obj 即可
如果您添加了额外的模型,则应在此目录中添加它们的纹理:例如,当山脉处于状态 2(天)时,将应用到纹理。extra1_2.pngextra1.obj
- 结论:你已经向你的mod文件夹对应目录下导入了你的obj模型文件和png材质贴图文件
第八步:应用你的山体
进入 /Maps/你的名字/你的mod名 ,你可以看到你的所有制作的地图。
我们需要创建一个与你地图对应的元数据文件来实现山体的应用。这同时对于每一个章节指向一个独特的山体这样的需求特别有用。
例如,你想让 0.bin 地图指向你的山体文件。你需要在相同目录创建一个 0.meta.yaml 文件
我们打开这个yaml文件,输入下面的内容
Mountain:
MountainModelDirectory: Mountain/你的名字/你的mod名/地图名
MountainTextureDirectory: 你的名字/你的mod名/地图名
StarFogColor: 星空雾气色卡,16进制
StarStreamColors:
- 星云色卡,16进制,如4b284f
- 星云色卡,16进制,如4b284f
- 星云色卡,16进制,如4b284f
StarBeltColors1: [第九章星带色卡,16进制]
StarBeltColors2: [第九章星带色卡,16进制]
ShowSnow: 不下雪:false 下雪:true
Idle:
Position: [ 闲置时摄像头的初始位置,你可以在游戏主页面按下空格键,并在屏幕左上角看到你的坐标,按下WASD移动调整,将坐标复制在这里 ]
Target: [ 闲置时摄像头的朝向,以及镜头旋转时的旋转中心,你可以在游戏主页面按下空格键,并在屏幕左上角看到你的坐标,按下WASD移动调整,将坐标复制在这里 ]
Select:
Position: [ 选择关卡后摄像机的位置,你可以在游戏主页面按下空格键,并在屏幕左上角看到你的坐标,按下WASD移动调整,将坐标复制在这里 ]
Target: [ 选择关卡后摄像机的朝向,你可以在游戏主页面按下空格键,并在屏幕左上角看到你的坐标,按下WASD移动调整,将坐标复制在这里 ]
Zoom:
Position: [ 按下确认后进入地图摄像机缩放后的最终位置,你可以在游戏主页面按下空格键,并在屏幕左上角看到你的坐标,按下WASD移动调整,将坐标复制在这里 ]
Target: [ 按下确认后进入地图摄像机缩放后的最终朝向,你可以在游戏主页面按下空格键,并在屏幕左上角看到你的坐标,按下WASD移动调整,将坐标复制在这里 ]
Cursor: [ 玛德琳指针在地图上的位置,你可以在游戏主页面按下空格键,并在屏幕左上角看到你的坐标,按下WASD移动调整,将坐标复制在这里 ]
State: 0或1或2或3,每种代表不同的山体环境状态。0为黑夜,1为黎明,2为白天,3为月亮
Rotate: 旋转:true 不旋转:false
FogColors:
- 雾气的颜色(16位,如039645)
- 雾气的颜色(16位,如039645)
下面是一个示例:
Mountain:
MountainModelDirectory: Mountain/StarClara/test/0
MountainTextureDirectory: StarClara/test/0
StarFogColor: 996802
StarStreamColors:
- f562c1
- 048065
- 4b284f
StarBeltColors1: []
StarBeltColors2: []
ShowSnow: false
Idle:
Position: [ -25.679,42.026,-4.496 ]
Target: [ 0, 34, 0 ]
Select:
Position: [ -17.023,38.624,-1.999 ]
Target: [ -15.123,38.360,-1.433 ]
Zoom:
Position: [ -5.390,37.168,0.504 ]
Target: [ -3.412,37.158,0.795 ]
Cursor: [ 0.926, 38.546, 2.350 ]
State: 3
Rotate: true
FogColors:
- 039668
- 039645
进入游戏后,你应当能看到你的山体
- 结论,你的山体可以正常显示,并通过修改了相关参数实现理想效果