Unity Inspector窗口可编辑的脚本变量

news2024/11/25 8:06:44

Inspector可编辑的脚本变量

默认会显示的变量

在Unity中,为了方便我们进行一些属性的设置及调试,我们所写的公有基础数据类型会显示在Inspector之中,我们可以对他进行设置来更改它的取值。

image-20241120111949199

显示私有变量

在有些情况下,设计代码的时候会设计一些私有变量,但是有希望这些变量可以在Inspector窗口被显示或可编辑,便于后续的调试,但Unity默认不显示私有变量,我们需要手动进行设置让他显示出来。

在Unity编辑器中,显示私有变量的方法有两种,一种是打开Inspector窗口的Debug视图,私有变量将会呈灰色显示,并且无法更改它的值:

image-20241120112344850

另一种方式则是添加SerializeField特性,它可以让私有变量在Inspector中直接可见并可以编辑:

image-20241120112537887

显示自定义数据类型

在Unity中,自定义的类、结构体的变量无论是公有还是私有,都是不会被显示出来的,要想被显示出来需要使用特性System.Serializable,它会将这个类视为数据类进行处理:

image-20241120121945226

隐藏公有变量

在实际开发中,可能在一些参数上我们已经测试出来了合适的数值,并且不希望后续有人对他进行修改,而且因为代码互相的关联性无法直接设置成私有变量,这是就只能将他在Inspector窗口中隐藏起来。

需要隐藏一个变量时,与显示私有变量同理,只需要添加特性HideInInspector即可:

image-20241120114127621

限制可以输入的取值范围

在一些时候我们可能编码时会对一些变量进行特殊的处理,这是会要求填写数值时只能限制在某一范围内,而单纯的口头或书面限制可能并不会让人遵守,这时候就需要物理代码层面限制。

在Unity中同样提供了一个特性来限制可输入范围[Range(最小值, 最大值)],添加了此特性的变量显示时会在输入框前添加一个滑动条,可以滑动进行设置,同时输入的任何一个大于或小于边界值的值都会被强制改为边界值,保证取值在需要的范围内:

image-20241120115024109

其他特性

  • Inspector窗口中显示加粗的标题对内容进行分割
    如果我们一个脚本中设置的变量非常多的情况下,我们可能会需要有一个标题性质的文本对他进行分割或分类,这时可以杀死用Unity提供的Header特性,它可以在窗口中增加一行加粗文本,可以通过文本的位置来判断:
    image-20241120115759270

  • 在不同变量显示时进行换行
    为了保持界面美观及与前面的变量进行区分,我们可以通过让变量进行换行显示,只需要用到Space特性即可:
    image-20241120120054067

  • 添加提示语
    因为在Inspector中没办法显示出来变量具体的类型,变量过多时我们可能也对某一些变量的作用会产生混淆,此时使用Tooltip来进行标记说明是一个很好的解决方案,他将会让我们将鼠标放在变量名上时显示对应变量的Tooltip:
    image-20241120120459491

  • 设置多行显示
    对于一些字符串,可能会存储分行的多行信息,原本的显示框只能显示一行文本,使用Multiline(行数)可以实现多行显示,默认会以3行进行显示,但是需要注意的是设置多行显示并不会让文本进行自动换行显示:
    image-20241120124045164

  • 设置多行显示并且自动换行
    对于一些特殊的数据,我们在编辑时就会添加换行,或者对于一些数据读取时,我们希望它自动换行来提高可读性,这是可以用到Area(最小显示行数, 最大显示行数)这个特性,他会将长文本自动换行,超过最大显示行数会在文本框右侧显示滑动条便于快速找到所需内容:
    image-20241120140238917

  • 为属性添加方法

    对于部分属性,我们提供了一个初始值,并且允许进行修改其他值,如果最终其他值不合适,我们想要将初始值添加回来,这是可以给这个属性添加ContextMenuItem("名称", "方法名")的特性,它会使我们右键该属性的时候出现额外的我们设定的选项,但是要注意的是,这里提供的方法只能是无参无返的函数,是否为公有函数并没有任何影响:
    image-20241120141136536

  • 为函数添加特性使其可以在Inspector窗口中运行
    对于某些情况,我们可能需要一些函数在游戏运行前对一些数值进行检测或去重置一些属性值,这是可以给这个函数或方法加上ContextMenu("显示的方法名"),此时可以在对应组件右侧三点打开菜单栏,在最下方看见我们添加的显示的方法名,可以通过点击这个按钮来调用方法(重置参数值的方法Unity也提供了函数Reset,可以直接重写该函数实现):
    image-20241120142411824

  • 多个特性叠加使用
    在上面提到的特性基本上都能进行叠加使用,例如可以在限制范围时添加提示语等等,只需要将不同的特性用逗号隔开即可。

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

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

相关文章

力扣 LeetCode 110. 平衡二叉树(Day8:二叉树)

解题思路: 等于 -1 时,直接 return -1 class Solution {public boolean isBalanced(TreeNode root) {return getHeight(root) ! -1;}public int getHeight(TreeNode root) {if (root null) return 0;int leftDepth getHeight(root.left);if (leftDep…

unity3d————基础篇小项目(设置界面)

代码示例&#xff1a; 设置界面 using System.Collections; using System.Collections.Generic; using UnityEngine;public class SettingPanel : BasePanel<SettingPanel> {public UIButton btnClose;public UISlider sliderMusic;public UISlider sliderSound;public…

商用密码产品认证名录说明

《商用密码产品认证目录》是为贯彻落实《中华人民共和国密码法》&#xff0c;进一步健全完善商用密码产品认证体系&#xff0c;更好满足商用密码产业发展需要&#xff0c;根据《国家密码管理局 市场监管总局关于调整商用密码产品管理方式的公告》《市场监管总局 国家密码管理局…

从零做一个遥控玩具,需要学什么

遥控玩具编程是一个充满乐趣和挑战的领域&#xff0c;它完美地结合了硬件控制和软件编程。记得小时候拿着遥控器操控玩具汽车&#xff0c;总觉得神奇。如今站在程序员的视角&#xff0c;终于明白这背后是怎样的技术在支撑。 这些有趣的遥控玩具&#xff0c;其核心都是基于单片…

java的web项目如何连接数据库

mysql-connector.jar 是一个Java库文件&#xff0c;它提供了Java应用程序与MySQL数据库进行交互的接口 首先准备好这个文件&#xff0c;没有的话在网上搜索 将它放在这个位置&#xff0c;MySQL连接配置就好了&#xff0c; 如果拖不进去&#xff0c;右击项目名称&#xff0c;…

视频修复技术和实时在线处理

什么是视频修复&#xff1f; 视频修复技术的目标是填补视频中的缺失部分&#xff0c;使视频内容连贯合理。这项技术在对象移除、视频修复和视频补全等领域有着广泛的应用。传统方法通常需要处理整个视频&#xff0c;导致处理速度慢&#xff0c;难以满足实时处理的需求。 技术发…

OpenTelemetry 赋能DevOps流程的可观测性革命

原作者&#xff1a;天颇 原出处&#xff1a;微信公众号 乘云数字DATABUFF 原文地址&#xff1a;https://mp.weixin.qq.com/s/D_f31EBtLu7Rr0gahuF-bw 引言 在当今快节奏的软件开发和运维环境中&#xff0c;DevOps 已经成为主流&#xff0c;它通过整合开发和运维流程&#xff0…

计算机视觉算法——基于深度学习的高精地图算法(MapTRv2 / PivotNet / BeMapNet)

计算机视觉算法——基于深度学习的高精地图算法&#xff08;MapTRv2 / PivotNet / BeMapNet&#xff09; 计算机视觉算法——基于深度学习的高精地图算法&#xff08;MapTRv2 / PivotNet / BeMapNet&#xff09;1. MapTRv21.1 网络结构及特点1.2 Decoupled Self-Attention1.3 O…

nodejs21: 快速构建自定义设计样式Tailwind CSS

Tailwind CSS 是一个功能强大的低级 CSS 框架&#xff0c;只需书写 HTML 代码&#xff0c;无需书写 CSS&#xff0c;即可快速构建美观的网站。 1. 安装 Tailwind CSS React 项目中安装 Tailwind CSS&#xff1a; 1.1 安装 Tailwind CSS 和相关依赖 安装 Tailwind CSS: npm…

《Python网络安全项目实战》项目6 编写密码工具程序

《Python网络安全项目实战》项目6 编写密码工具程序 项目6 编写密码工具程序任务6.1 猜数字游戏任务描述任务分析任务实施6.1.1 编写基本的猜数字程序 6.1.2 为猜数字程序加入连续猜数的功能6.1.3 测试并修改程序6.1.4 给程序增加注释 任务拓展 任务6.2 编写密码工具程序任务描…

MATLAB蒙特卡洛仿真计算投资组合的VaR(Value at Risk )

1. 计算VaR简介 VaR&#xff08;Value at Risk&#xff09;&#xff0c;一般被称为“风险价值”或“在险价值”&#xff0c;是指在一定的置信水平下&#xff0c;某一金融资产&#xff08;或证券组合&#xff09;在未来特定的一段时间内的最大可能损失。VaR提供了一个具体的数值…

【linux学习指南】VSCode部署Ubantu云服务器,与Xshell进行本地通信文件编写

文章目录 &#x1f4dd;前言&#x1f320; 步骤&#x1f309;测试同步 &#x1f6a9;总结 &#x1f4dd;前言 本文目的是讲使用Vscode连接Ubantu,与本地Xshell建立通信同步文件编写。 查看本机系统相关信息&#xff1a; cat /etc/lsb*DISTRIB_IDUbuntu: 表示这是 Ubuntu 发行…

stm32下的ADC转换(江科协 HAL版)

十二. ADC采样 文章目录 十二. ADC采样12.1 ADC的采样原理12.2 STM32的采样基本过程1.引脚与GPIO端口的对应关系2.ADC规则组的四种转换模式(**)2.2 关于转换模式与配置之间的关系 12.3 ADC的时钟12.4 代码实现(ADC单通道 & ADC多通道)1. 单通道采样2. 多通道采样 19.ADC模数…

DockerFile与容器构建技术

一、 Docker架构 二、容器镜像分类 操作系统类 CentOSUbuntu在dockerhub下载或自行制作 应用类 TomcatNginxMySQLRedis 三、容器镜像获取的方法 主要有以下几种&#xff1a; 1、在DockerHub直接下载 2、把操作系统中文件系统打包为容器镜像 3、把正在运行的容器打包为容器镜…

分布式数据库中间件可以用在哪些场景呢

在数字化转型的浪潮中&#xff0c;企业面临着海量数据的存储、管理和分析挑战。华为云分布式数据库中间件&#xff08;DDM&#xff09;作为一款高效的数据管理解决方案&#xff0c;致力于帮助企业在多个场景中实现数据的高效管理和应用&#xff0c;提升业务效率和用户体验。九河…

jmeter常用配置元件介绍总结之断言

系列文章目录 1.windows、linux安装jmeter及设置中文显示 2.jmeter常用配置元件介绍总结之安装插件 3.jmeter常用配置元件介绍总结之线程组 4.jmeter常用配置元件介绍总结之函数助手 5.jmeter常用配置元件介绍总结之取样器 6.jmeter常用配置元件介绍总结之jsr223执行pytho…

项目技术栈-解决方案-web3去中心化

web3去中心化 Web3 DApp区块链:钱包:智能合约:UI:ETH系开发技能树DeFi应用 去中心化金融P2P 去中心化网络参考Web3 DApp 区块链: 以以太坊(Ethereum)为主流,也包括Solana、Aptos等其他非EVM链。 区块链本身是软件,需要运行在一系列节点上,这些节点组成P2P网络或者半…

多目标优化算法:多目标蛇鹫优化算法(MOSBOA)求解DTLZ1-DTLZ9,提供完整MATLAB代码

一、蛇鹫优化算法 蛇鹫优化算法&#xff08;Secretary Bird Optimization Algorithm&#xff0c;简称SBOA&#xff09;由Youfa Fu等人于2024年4月发表在《Artificial Intelligence Review》期刊上的一种新型的元启发式算法。该算法旨在解决复杂工程优化问题&#xff0c;特别是…

数据集-目标检测系列- 花卉 鸡蛋花 检测数据集 frangipani >> DataBall

数据集-目标检测系列- 花卉 鸡蛋花 检测数据集 frangipani >> DataBall DataBall 助力快速掌握数据集的信息和使用方式&#xff0c;会员享有 百种数据集&#xff0c;持续增加中。 贵在坚持&#xff01; 数据样例项目地址&#xff1a; * 相关项目 1&#xff09;数据集…

【Pikachu】SSRF(Server-Side Request Forgery)服务器端请求伪造实战

尽人事以听天命 1.Server-Side Request Forgery服务器端请求伪造学习 SSRF&#xff08;服务器端请求伪造&#xff09;攻击的详细解析与防范 SSRF&#xff08;Server-Side Request Forgery&#xff0c;服务器端请求伪造&#xff09; 是一种安全漏洞&#xff0c;它允许攻击者通…