Unity 四种截图方法(相机视图、无UI、有UI、Game窗口)

网友投稿 3508 2022-11-17

Unity 四种截图方法(相机视图、无UI、有UI、Game窗口)

Unity 四种截图方法(相机视图、无UI、有UI、Game窗口)

之前介绍了​​三种截图方法(全屏截图、自定义大小截图、无UI截图)​​

今天介绍一下在Unity 编辑器中进行截图,这种截图的方式是截取Game窗口视角,在编辑器内可以随时使用,而且还可以设置快捷键

脚本如下:由于此脚本继承的是EditorWindow,使用需要放入Editor文件夹内

using System.IO;using UnityEditor;using UnityEngine;public class ScreenCaptureEditor : EditorWindow{ private static string directory = "Screenshots/Capture/"; private static string latestScreenshotPath = ""; private bool initDone = false; private GUIStyle BigText; void InitStyles() { initDone = true; BigText = new GUIStyle(GUI.skin.label) { fontSize = 20, fontStyle = FontStyle.Bold }; } private void OnGUI() { if (!initDone) { InitStyles(); } GUILayout.Label("Screen Capture Tools", BigText); if (GUILayout.Button("单张截图")) { TakeScreenshot(); } GUILayout.Label("当前分辨率: " + GetResolution()); if (GUILayout.Button("打开文件夹")) { ShowFolder(); } GUILayout.Label("保存路径: " + directory); } [MenuItem("Tools/Screenshots/打开窗口 &`", false, 0)] public static void ShowWindow() { GetWindow(typeof(ScreenCaptureEditor)); } [MenuItem("Tools/Screenshots/存储路径 &2", false, 2)] private static void ShowFolder() { if (File.Exists(latestScreenshotPath)) { EditorUtility.RevealInFinder(latestScreenshotPath); return; } Directory.CreateDirectory(directory); EditorUtility.RevealInFinder(directory); } [MenuItem("Tools/Screenshots/单张截图 &1", false, 1)] private static void TakeScreenshot() { Directory.CreateDirectory(directory); var currentTime = System.DateTime.Now; var filename = currentTime.ToString().Replace('/', '-').Replace(':', '_') + ".png"; var path = directory + filename; ScreenCapture.CaptureScreenshot(path); latestScreenshotPath = path; Debug.Log($"截图路径: {path} 分辨率: {GetResolution()}"); } private static string GetResolution() { Vector2 size = Handles.GetMainGameViewSize(); Vector2Int sizeInt = new Vector2Int((int)size.x, (int)size.y); return $"{sizeInt.x}x{sizeInt.y}"; }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:真心不喜欢Swing,画图太麻烦了
下一篇:Docker基础修炼3--Docker容器及常用命令
相关文章

 发表评论

暂时没有评论,来抢沙发吧~