Unity3D 截图

embedded/2024/11/26 11:13:48/

使用 Unity3D 自带的截图接口,制作截图工具。

截图

有时候我们想对 Unity 的窗口进行截图,如果直接使用一些截图工具,很难截取到一张完整分辨率的图片(例如,我们想要截取一张 1920 * 1080 的图片)。

其实 Unity 有提供截图的接口,我们只需要写一个脚本,把截图接口做成简单的菜单栏工具即可。

创建工具脚本

创建脚本 ScreenshotTool.cs,写一个 CaptureFull 方法,调用 Unity 提供的 ScreenCapture.CaptureScreenshot 方法即可。

截图时,为了方便找到,保存的路径是 Assets 文件夹(Application.dataPath),截图的名称是 Screenshot 拼接了当前的时间(如果名称一样,每次截图都会覆盖原来的图片)。

我们在 CaptureFull 方法上面添加一个 MenuItem,就可以在菜单栏找到它,也可以使用 Alt + Q 快捷键(即路径末尾的 &Q)。

using System;
using UnityEngine;
using UnityEditor;public static class ScreenshotTool
{[MenuItem("截图/截取全屏 &Q")]public static void CaptureFull(){string time = DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss");string path = $"{Application.dataPath}/Screenshot_{time}.png";ScreenCapture.CaptureScreenshot(path);Debug.Log("Screenshot saved at: " + path);}
}

截图效果

如图,菜单栏出现按钮,并且有快捷键的描述。

运行游戏时,点击菜单栏按钮,或者按下 Alt + Q,控制台会打印截图的保存路径。

当 Unity 资源文件夹刷新时,也会看到 Assets 文件夹下多出来一张图片,尺寸是 1920 * 1080(当前 Game 窗口的分辨率)。

截图效果


http://www.ppmy.cn/embedded/140602.html

相关文章

Spring 框架七大模块(Java EE 学习笔记03)

​ ​核心容器模块(Core Container) 核心容器模块在Spring的功能体系中起着支撑性作用,是其他模块的基石。核心容器层主要由Beans模块、Core模块、Contex模块和SpEL模块组成。 (1)Beans模块。它提供了BeanFactory类&…

微信小程序点击跳转打电话功能

wx.makePhoneCall 属性类型默认值必填说明phoneNumberstring是需要拨打的电话号码successfunction否接口调用成功的回调函数failfunction否接口调用失败的回调函数completefunction否接口调用结束的回调函数&#xff08;调用成功、失败都会执行&#xff09; <view class&q…

【C++11】尽显锋芒

(续) 一、可变参数模板 C11支持可变参数模板&#xff0c;也就是说支持可变数量参数的函数模板和类模板&#xff0c;可变数目的参数被称 为参数包&#xff0c;存在两种参数包&#xff1a;模板参数包&#xff0c;表示零或多个模板参数&#xff1b;函数参数包&#xff1a;表示零…

HTML5和CSS3新增特性

HTML5的新特性 HTML5新增的语义化标签 HTML5 的新增特性主要是针对于以前的不足&#xff0c;增加了一些新的标签、新的表单和新的表单属性等。 这些新特性都有兼容性问题&#xff0c;基本是 IE9 以上版本的浏览器才支持&#xff0c;如果不考虑兼容性问题&#xff0c;可以大量…

MySQL中的锁与优化SQL查询性能

MySQL作为一种高效、稳定、易用的开源关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;在大数据量和高并发的场景中&#xff0c;其性能优化显得尤为重要。锁机制和SQL查询优化是MySQL性能调优的两个关键方面。本文将详细探讨MySQL中的锁类型以及如何优化SQL查询…

【VUE3】VUE组合式(响应式)API常见语法

ref() //const count ref(0) //count.value&#xff08;访问值&#xff0c;包括对象要加.value&#xff09; //任何类型的值&#xff0c;包括深层嵌套的对象或则JS内置数据结构 await nextTick() //要等待 DOM 更新完成后再执行额外的代码&#xff0c;可以使用 nextTick() …

(免费送源码)计算机毕业设计原创定制:Java+SSM+JSP+Ajax+MySQLSSM国外鞋服代购平台

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;鞋服代购平台当然也不例外。代购平台是以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#xff0c;采用…

ODBC连接PostgreSQL数据库后,网卡DOWN后,客户端进程阻塞问题解决方法

问题现象&#xff1a;数据库客户端进程数据库连接成功后&#xff0c;再把跟数据库交互的网卡down掉&#xff0c;客户端进程就会阻塞&#xff0c;无法进行其他处理。该问题跟TCP keepalive机制有关。 可以在odbc.ini文件中增加相应的属性来解决&#xff0c;在odbc.ini 增加如下…