需求
截取游戏实时截图,作为宣传图。
具体要求
(1)图片五张或以上: 图片尺寸以游戏实际画面为准。(2)横版游戏建议尺寸: 16:9,1280*720及以上。
解决思路
(1)因为是横版2D休闲游戏,所以只需截取实机画面即可,不需要额外P上宣传文字。
(2)其他游戏大多在5-7张,决定放6张1600*900的截图。选定了画面效果较好且剧透不多的4个关卡+1个特色关卡+1个过场动画作为截图内容。
(3)手动截图不好把握尺寸,同时希望比在游戏引擎中运行的效果更高清一些。在一个Unreal项目中曾经看到别人使用引擎自带的高清截图功能(2080p)。在Unity的图形化界面没有提供这个功能,但是提供了对应的API。
具体解决方法
ScreenCapture类的静态方法
using UnityEngine;
public class Capture : MonoBehaviour {
void Start () {
DontDestroyOnLoad(gameObject);//从初始关卡打开,时刻可以截图
}
void Update()
{
if (Input.GetKeyDown(KeyCode.A))//按下A键截屏
{
//unity 自带截屏,只能是截全屏
ScreenCapture.CaptureScreenshot("shot.png");
//保存图片到项目文件夹,名字为shot,后续截图覆盖.
}
}
}
首先将Game窗口的分辨率设置为自己想要的1600*900,然后在游戏运行过程中按下A键,即得到截图。