Avatar - Lunatic-Works/Nova Wiki

Original URL: https://github.com/Lunatic-Works/Nova/wiki/Avatar

头像

Nova可以在对话框中显示头像。头像和立绘一样由许多部件组合而成,可以从立绘中截取。

  1. 在Unity Editor的上面的菜单中,打开Nova -> Character Pose Composer
  2. 在Project中打开Assets/StandingsUncropped/<角色名称>/文件夹,在Character Pose Composer中点击Load Selected Folder,选中Uncropped
    • 或者手动输入文件夹名称
  3. 点击Layers列表下面的加号,添加一些部件
    • 为了确定头像的范围,一般只需要脸和头发
  4. 选中Use Capture Box,立绘上显示的红框就是capture box,调节它的位置和大小
  5. 在Project中双击打开UncroppedStanding.prefab
  6. 在Inspector中,选中Use Capture Box,把Character Pose Composer中的Capture Box输入到这里
  7. 点击Auto Crop All,就会计算每个部件的裁剪框
    • TODO:如果没有打开prefab,就点击Auto Crop All,似乎会出问题
  8. 在Hierarchy中选中各个StandingComponent,在Inspector中检查黄色的裁剪框是否合适
  9. 在Hierarchy中选中UncroppedStanding,在Inspector中将Output Directory设为Assets/Resources/<作品名称>/Faces/<角色名称>
  10. 点击Write Cropped Textures,就会把裁剪后的部件保存到这个文件夹
    • 如果文件夹不存在,会自动创建
  11. 在Project中选中所有裁剪后的部件,在Inspector中设置导入格式:(TODO:自动完成这一步)
    • Texture TypeSprite (2D and UI)
    • Sprite ModeSingle
    • Sprite Mode -> Pixels Per Unit:保持默认值100
    • Max Size:需要大于部件的尺寸
    • Compression:设置合适的压缩格式
  12. 再次在Hierarchy中选中UncroppedStanding,点击Generate Metadata,就会在这个文件夹下生成一些asset,记录裁剪后的部件在原图中的偏移量
  13. 在Hierarchy中退出prefab,选中UI/DialogueView/DialoguePanel/Avatar,在Inspector的Avatar Configs中设置角色名称、Character Controller和子文件夹名称
  14. 在Hierarchy中选中Characters/AvatarSpriteMerger,设置与头像大小有关的参数(详见关于立绘尺寸的说明
  15. 头像部件的组合方式(pose)与立绘是共用的,在Assets/Nova/Lua/pose.lua中定义
  16. 在脚本中加入显示头像的代码,如avatar_show('normal')
    • 比如这条对话的角色名称是“王二宫”,就会从Avatar Configs中得到“王二宫”对应的Character ControllerLua Global Nameergong,然后从pose.lua中得到ergongnormal这个pose
    • 如果下一条对话的角色名称不同,头像会自动改变