-
Notifications
You must be signed in to change notification settings - Fork 82
Standing Import
wd edited this page Nov 7, 2020
·
22 revisions
- Nova的一幅立绘由许多部件组合而成,建议画师把每个角色作为一个PSD文件,每个部件画在一个图层上(TODO:按理说我们应该支持GIMP,各位小伙伴有空的话可以写一下GIMP导出图层的脚本)
- 用
Tools/Standings/export_psd_layers.py
导出图层,这时生成的部件周围会有大量透明区域,需要裁剪 - 把所有部件放到
Assets/StandingsUncropped/<角色名称>/
文件夹下 - 在Unity Editor中,设置所有部件的导入格式:
- Texture Type: Sprite (2D and UI)
- Sprite Mode: Single
- Sprite Mode -> Pixels Per Unit: 保持一致,一般用默认值100
- Advanced -> Read/Write Enabled: true
- Advanced -> Generate Mip Maps: false
- Compression: None(否则会影响裁剪后图片的质量)
- 选中所有部件,右键点击任意部件,选择
Create -> Nova -> Uncropped Standing
,文件夹下会生成UncroppedStanding.prefab
- 双击打开prefab
- 点击
Auto Crop All
,就会计算每个部件的裁剪框 - 选中各个
StandingComponent
,检查裁剪是否合适- 如果不合适,可以手动修改裁剪框,或者调节
Auto Crop Padding
和Auto Crop Alpha
之后重新进行自动裁剪
- 如果不合适,可以手动修改裁剪框,或者调节
- 将
Output Directory
设为Resources/<作品名称>/Standings/<角色名称>
,并且创建这个文件夹(TODO:自动完成这一步) - 点击
Write Cropped Textures
,就会把裁剪后的部件保存到这个文件夹 - 设置裁剪后的部件的导入格式:(TODO:自动完成这一步)
- Texture Type: Sprite (2D and UI)
- Sprite Mode: Single
- Sprite Mode -> Pixels Per Unit: 保持一致,一般用默认值100
- 设置合适的压缩
- 点击
Generate Metadata
,就会在这个文件夹下生成一些asset,记录裁剪后的部件在原图中的偏移量(TODO:自动完成这一步) - 打开
Assets/Nova/Lua/pose.lua
,在pose
表中为每个角色定义一些pose,定义时靠右的部件在显示时靠上层 - 在脚本中显示立绘,如
show(ergong, 'normal')
- Unity中图片默认的
Max Size
是2048,如果裁剪前/后部件的尺寸更大,需要增大这个值 - 在
Characters/TextureMerger
game object的Character Texture Merger
component中:-
Reference Size
控制合成后立绘的texture尺寸,目前所有立绘的texture尺寸为(Reference Size / 2, Reference Size)
(TODO:以后我们可能会重写这部分,支持不同尺寸的texture) -
Pixels Per Unit
越大,合成后的立绘在texture中就会越大,太小的值会浪费texture空间,太大的值会超出texture边界
-
- 在每个角色的game object的
Game Overlay Texture Changer
component中,可以设置一个Actual Image Object
,然后用这个game object的transform来调节立绘的位置偏移量和大小- 如果对一个角色的整套立绘进行大幅度改动,可以在这里调节位置偏移量和大小,而不用改动脚本