全站通知:

自定义山体

阅读

    

2025-07-20更新

    

最新编辑:-UnderDragon-

阅读:

  

更新日期:2025-07-20

  

最新编辑:-UnderDragon-

来自蔚蓝WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索
页面贡献者 :
斯塔克拉拉
-UnderDragon-

情况1:以蔚蓝官方山体为基础,修改官方山体的配色应用到游戏中

相关内容可以参考Aura的视频:

https://www.bilibili.com/video/BV1Hp4y1R7CT/?spm_id_from=333.337.search-card.all.click&vd_source=c9995b44dd645e5cb21e28765a898cb0

情况2:完全自定义全新的山体,并进行自定义配色

请注意:进行此操作需要有一些Blender相关知识的基础。如果你完全是一个新手或者没有听说过Blender这个建模软件,你可以在这一套课程中学习。:

https://www.bilibili.com/video/BV14u41147YH/?spm_id_from=333.337.search-card.all.click&vd_source=c9995b44dd645e5cb21e28765a898cb0

你无需看完整套课程,只需要看到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

进入游戏后,你应当能看到你的山体

  • 结论,你的山体可以正常显示,并通过修改了相关参数实现理想效果