饥荒Mod 开发(三):资源工具使用

本文详细描述了饥荒Mod开发中使用的工具,如autocompiler.exe用于自动处理PNG图片和动画资源,以及如何使用Spriter制作动画并打包。文章介绍了Mod目录结构和资源文件的组织方式,以及如何在实际项目中操作这些工具进行Mod制作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

饥荒Mod 开发(二):Mod目录结构
饥荒Mod 开发(四):制作一个物品

饥荒一键打包工具

打包工具的介绍

饥荒Mod 开发最常用的资源有两个,一个是动画,一个贴图。这两种资源可以使用上面的工具自动完成,打包完了之后,工具会自动将动画拷贝到对应的目录下。如果是要制作动画需要先试用 工具包中 Spriter 制作,然后用工具一键打包。下图是工具包的目录结构
工具包目录结构
工具包中打包另外两个工具,一个是 Spriter,制作动画专用。 一个是Textool 1.4.1,反解纹理工具。

工具使用

  1. autocompiler.exe 使用。autocompiler.exe 会自动枚举images 目录下的png图片,转换成纹理。需要注意PNG 图片最好是32位,也就是带alpha 通道的,并且图片的尺寸有一定限制,物品栏和制作栏 64*64。工具可以打包png图片和动画,无论是动画还是图片,只需要执行一次命令就可以,会自动将图片和动画一起打包好。先介绍下png图片
    1. 先将PNG 图片放入images/inventoryimages 目录下
      在这里插入图片描述

    2. 打开命令行工具,可以使用vs code 更方便。

      # 先cd到自己Mod 目录
      cd 'D:\WeGameApps\rail_apps\饥荒:单机版(2000013)\mods\pigpet'
      # 执行命令行工具, 可以直接将exe 拖入进去
      & 'h:\Don''t Starve Mod Tools\ds_mod_tools\build\win32\mod_tools\autocompiler.exe' 'D:\WeGameApps\rail_apps\饥荒:单机版(2000013)\mods\pigpet'
      
    3. 最终结果如下图 ,打包工具会自动生成 tex和xml文件。发布的时候原始的PNG 图片可以删掉不需要了。后面会介绍这些资源如何使用。贴图目录

local function fn(Sim)
	local inst = common()
    inst.AnimState:SetBank("pigpetfood")
    inst.AnimState:SetBuild("pigpetfood")
    inst.AnimState:PlayAnimation("idle")
    inst.components.edible.healthvalue = 20
    --物品栏贴图
    inst.components.inventoryitem.atlasname = "images/inventoryimages/pigpetfood.xml" 

    inst:AddComponent("tradable") 
    
    return inst
end



local pigpetfood
if GLOBAL.IsDLCEnabled(GLOBAL.CAPY_DLC) or GLOBAL.IsDLCEnabled(GLOBAL.PORKLAND_DLC) then
    pigpetfood = GLOBAL.Recipe("pigpetfood",  {GLOBAL.Ingredient("cutgrass", 10), GLOBAL.Ingredient("twigs", 10)}, GLOBAL.RECIPETABS.SURVIVAL, GLOBAL.TECH.NONE, nil, nil, nil, nil, 10)
else
    pigpetfood = GLOBAL.Recipe("pigpetfood",   {GLOBAL.Ingredient("cutgrass", 10), GLOBAL.Ingredient("twigs", 10)}, GLOBAL.RECIPETABS.SURVIVAL, GLOBAL.TECH.NONE, nil, 10) 
end
--制作栏贴图
pigpetfood.atlas = "images/inventoryimages/pigpetfood.xml"
  1. 动画工具使用,Sprite 使用
    Sprite
    1. 我们给每个物品建一个目录,然后这个目录下就放 和该物品相关的动画资源文件。比如我们需要给pigpetfood 做一个动画,那就在exported 目录下新建一个pigpetfood 目录就可以。双击打开工具, 选择 File->New Project, 会提示选择目录的时候就选择这个目录。在这里插入图片描述
    2. 在这个目录下再新建一个 同名的目录,放原始资源文件。在这里插入图片描述
      工具右侧的截图如下
      在这里插入图片描述
    3. 右侧面板中,将图片拖入到到中间区域,然后修改一些动画名字。下图右侧的红框和绿框中名字分别对应代码,操作完之后保存工程。
      在这里插入图片描述
local function fn(Sim)
	local inst = common()
	--红框中的名字
    inst.AnimState:SetBank("pigpetfood")
    --工程保存的scml文件的名字
    inst.AnimState:SetBuild("pigpetfood")
    --绿框中的名字
    inst.AnimState:PlayAnimation("idle")
    inst.components.edible.healthvalue = 20
    
    inst.components.inventoryitem.atlasname = "images/inventoryimages/pigpetfood.xml" 

    inst:AddComponent("tradable") 
    
    return in

保存文件名,和 物品的名字一样
在这里插入图片描述
上面有很多东西没有介绍,目前不需要关注这些,只需要记住这个工具的简单使用,随着深入学习会逐步了解这些。总结一下这里

  1. 每个动画工程可以保存一个 scml 文件,文件名是物品名字一致。对应 inst.AnimState:SetBuild(“pigpetfood”)
  2. 工程红框部分(Entity) 名字 对应 inst.AnimState:SetBank(“pigpetfood”)。一个Entity 可以包含多个动画。
  3. 绿框部分(动画名) 对应 inst.AnimState:PlayAnimation(“idle”)。
  1. 以上完成之后执行编译脚本, 和纹理的脚本是一样的,可以看上面的介绍。最后会打包动画文件。动画文件
    这个exported 目录也是临时目录,发布的时候并不需要,真的动画文件会被自动拷贝到动画目录.下图就是自动拷贝目标目录
    拷贝之后目录

前三篇 文章并没有实质性介绍如何制作一个Mod,简单介绍了和制作Mod 相关的知识和工具,接下来会录一个视频,总结这三篇的内容

饥荒Mod 开发(二):Mod目录结构
饥荒Mod 开发(四):制作一个物品

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值