preview窗口 unity_Unity3D在Preview中打印日志的方法

Preview窗口除了可以预览模型之外,我们还可以做别的操作。

今天我们来写个小工具在Preview窗口中显示调试信息。

可以看下面的图,同样是打印 health 和 power 的日志,在 Preview 中显示比在 Console 中显示舒服多了。

左边是Console中显示,右边是Preview窗口中显示。

创建Editor目录,然后把下面的脚本放进去

using UnityEngine;

using UnityEditor;

[CustomEditor(typeof(Object), true)]

public class PreviewGUIEditor : Editor {

/** Update every 15th frame. */

private const int updateOnFrame = 15;

private GUIStyle _previewLabelStyle;

private GUIStyle previewLabelStyle {

get {

if (_previewLabelStyle == null) {

_previewLabelStyle = new GUIStyle("PreOverlayLabel") {

richText = false,

alignment = TextAnchor.UpperLeft,

fontStyle = FontStyle.Normal

};

// Try to get a fixed-width font on macOS.

var font = Font.CreateDynamicFontFromOSFont("Monaco", 12);

// Failing that, try to get a fixed-width font on Windows.

if (font == null)

font = Font.CreateDynamicFontFromOSFont("Lucida Console", 12);

// XXX What fixed-width font should I request if we're on Linux?

if (font != null)

_previewLabelStyle.font = font;

// Debug.Log("Fonts: \n" + string.Join("\n", Font.GetOSInstalledFontNames()));

}

return _previewLabelStyle;

}

}

public override bool HasPreviewGUI() {

return Application.isPlaying;

}

public override bool RequiresConstantRepaint() {

// Only repaint on the nth frame.

return Application.isPlaying && Time.frameCount % updateOnFrame == 0;

}

public override void OnPreviewGUI(Rect rect, GUIStyle background) {

string str = target.ToString();

GUI.Label(rect, str, previewLabelStyle);

}

}

在我们需要打印日志的类里面 重载ToString()函数,返回需要在preview中输出的内容。

下面是上面截图的示例,一个Player类,在ToString()函数中返回了 health 和 power的输出内容。

using UnityEngine;

public class Player : MonoBehaviour

{

public int health = 10;

public int power = 10;

// Use this for initialization

void Start () {

}

// Update is called once per frame

void Update ()

{

health += 1;

power += 2;

Debug.LogError("health = "+ health);

Debug.LogError("power = "+ power);

}

public override string ToString()

{

return "health = " + health+"\n"+

"power = " + power;

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/486063.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

神经科学如何影响人工智能?看DeepMind在NeurIPS2020最新《神经科学人工智能》报告,126页ppt...

来源:专知Jane Wang是DeepMind神经科学团队的一名研究科学家,研究元强化学习和受神经科学启发的人工智能代理。她的背景是物理、复杂系统、计算和认知神经科学。Kevin Miller是DeepMind神经科学团队的研究科学家,也是伦敦大学学院的博士后。他…

android 6.0 x86 64,安卓x86 6.0 iso下载|android x86 6.0 iso系统下载RC1 版_64位/32位IT猫扑网...

android x86 6.0 iso系统镜像最新发布,rc1版修复了之前的问题,android-x86 6.0-rc1(marshmallow-x86)这是android-x86 6.0的第一个候选版本(marshmallow-x86)稳定释放。小编已将32位和64位的安卓6.0 x86系统分网盘,欢迎下载使用。主要特点6.0…

牛客网--2019校招--丰收

题目描述 又到了丰收的季节,恰逢小易去牛牛的果园里游玩。 牛牛常说他对整个果园的每个地方都了如指掌,小易不太相信,所以他想考考牛牛。 在果园里有N堆苹果,每堆苹果的数量为ai,小易希望知道从左往右数第x个苹果是属…

flash写保护原理_一种基于flash写保护的防止flash被意外篡改的方法与流程

本发明属linux嵌入式芯片安全技术领域于领域,尤其是涉及一种nandflash写保护应用方法。背景技术:目前很多公司都纷纷尝试智能设备(sd,smartdevice)领域,sd设备功能越来越多,使用的flash(闪存)大多为spinor、spinand、emmc等等。sd…

科普长文揭秘生命为何会具有主观能动性

来源:混沌巡洋舰动物的免疫系统依赖于被称为巨噬细胞的白细胞吞噬并吞噬入侵者。这些细胞有着坚定的决心和热情: 在显微镜下,你可以看到一个像球状的巨噬细胞在玻璃片上追逐一个细菌,它的猎物试图通过红细胞的障碍物逃跑时,而在它…

牛客网--19校招--获得最多的奖金

题目描述 小明在越南旅游,参加了当地的娱乐活动。小明运气很好,拿到了大奖, 到了最后的拿奖金环节。小明发现桌子上放着一列红包,每个红包上写着奖金数额。 现在主持人给要求小明在这一列红包之间“切”2刀,将这一列…

Linux——Centos7网络配置1ens33文件

解决的是 Name or service not known 的问题 [rootwww ~]# ping www.baidu.comping: www.baidu.com: Name or service not known [rootwww ~]# 1、网络配置查看 记住NAT设置中的子网IP、子网掩码、网关IP三项,接下来配置文件主要是这三项。网关一般就是.2,ip设置为…

daz模型导入marvelous_传世工坊自制Daz Studio 4.10 系列入门教程

课程目录如何安装如何导入官方素材如何导入第三方素材视图操作快捷键设置如何捏脸如何捏身体如何使角色成长,大人变小孩或者小孩变大人如何使角色变老如何开车(18内容)如何制作头发随风飘动效果如何制作面部表情动画陆续更新,敬请留意。B站在线观看入门教…

科技垄断正在朝着纵向发展

来源:CSDN译者:弯月以下为译文:科技垄断有关的话题,相信大家都不陌生,而纵向垄断指的是通过技术栈深入到硬件的纵向集成。在本文中,我们来讨论一下为什么当下科技垄断开始朝着纵向发展,这种垄断…

android10全局黑暗,传Android 11或加入自动切换全局黑暗模式功能

日前有外媒援引消息人士爆料称,谷歌曾在Android 10系统中带来了全局黑暗模式功能,但自动切换黑暗模式的功能却在Android 10系统的早期测试阶段意外遭砍!而据最新消息显示,Android 11系统有望上线自动切换全局黑暗模式功能。按照An…

ParserError: Error tokenizing data. C error: Expected 1 fields in line 122, saw 2

数据分析和挖掘实战第15章的一段读取.txt文件报错 import pandas as pdinputfile data/meidi_jd.txt outputfile data/meidi_jd_process_1.txt data pd.read_csv(inputfile,encoding utf-8,header None) File "pandas/_libs/parsers.pyx", line 965, in pandas._…

动态规划--牛客网19校招--魔法深渊

题目描述 前几个月放映的头号玩家简直火得不能再火了,作为一个探索终极AI的研究人员,月神自然去看了此神剧。 由于太过兴奋,晚上月神做了一个奇怪的梦,月神梦见自己掉入了一个被施放了魔法的深渊,月神想要爬上此深渊…

python离线安装pip.whl_20180903 - Python Pip 工具下载whl包与离线安装

20180903 - Python Pip 工具下载whl包与离线安装1. 我的Blog2. 简介信息摘要:Linux下,python,pip工具离线安装包Author: andy_yhmyeah.netDate: 20180903关键字:python,python3,pip,pip3,requirements.txt,freeze3. 查…

android 运行jquery,Android端JQueryMobile使用教程(一)

一、 通过Javascript访问Android的Java代码1.其实WebApp这个版块已经放置一段时间了,但是一直没有写文章,那是因为我还在学习中。iscrollview下载地址:https://github.com/watusi/jquery-mobile-iscrollview iscroll 下载地址:http://cubiq.org/iscroll-…

物理学走向尽头了?

制图:James OBrien作者:罗伯特戴克赫拉夫(Robbert Dijkgraaf)文章来源:环球科学物理学是否已经穷尽了人类探索的极限?亦或是才刚刚开始?普林斯顿高等研究所主任戴克赫拉夫给出了他的看法。物理学…

逆向工程-真码保存在系统文件破解QQ游戏对对碰助手

1)注册栏中输入任意值测试 1.2)记录弹出的关键字对话框 2.1)发送至PEID进行查壳 2.2)发现无壳 2.3)将软件载入OllyDBG程序 2.4)在反汇编栏下右键选择中文搜索引擎-》智能搜索 2.5)找到弹窗信息双击进入 3.0…

动态规划--Leetcode746

数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost[i](索引从0开始)。 每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。 您需要找到达到楼层顶部的最低花费。在开始时&#xff0c…

yaml parse python_python-yaml

示例相同的数据使用YAML与json表示,对比如下:listYAML- Mark McGwire- Sammy Sosa- Ken GriffeyJSON["Mark McGwire","Sammy Sosa","Ken Griffey"]list typeYAML[Mark McGwire, Tom Curry, Steve Thompson]JSON["Mar…

欢迎参加《城市大脑全球标准研究报告》发布会

《2020城市大脑全球标准研究报告》将与2020年12月23日在北京正式发布。这份报告是科学院研究团队基于城市大脑基础理论研究并与产业实践结合,形成的世界第一份城市大脑全球标准研究报告。欢迎新闻媒体、科研机构、科技企业、政府部门的记者,专家和领导参…

动态规划--Leetcode62--不同路径

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径? 例如&…