前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Unity3D 入门:让 C# 脚本公开可在 Unity 编辑器中设置的属性

Unity3D 入门:让 C# 脚本公开可在 Unity 编辑器中设置的属性

作者头像
walterlv
发布2023-10-22 11:09:21
4770
发布2023-10-22 11:09:21
举报

将一部分参数从 C# 脚本中抽离出来,可以让 C# 脚本在 Unity 项目中更通用,适用于更多游戏对象(gameObject)。

本文介绍如何创建可在 Unity 编辑器中设置属性的 C# 脚本,并介绍如何在 Unity 编辑器中设置它们。

简单的 C# 脚本

本文的例子取自于我的另一篇博客:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

using UnityEngine; public class PlayerController : MonoBehaviour { private Transform transform; public float moveSpeed = 5f; public float rotateSpeed = 50f; void Start() { transform = GetComponent<Transform>(); } void Update() { float adValue = Input.GetAxis("Horizontal"); float wsValue = Input.GetAxis("Vertical"); float mValue = Input.GetAxis("Mouse X"); var moveDirection = (Vector3.forward * wsValue) + (Vector3.right * adValue); transform.Translate(moveDirection.normalized * moveSpeed * Time.deltaTime, Space.Self); transform.Rotate(Vector3.up * rotateSpeed * Time.deltaTime * mValue); } }

公开字段

只需要将脚本的字段设为 public,Unity 编辑器便能识别出这些字段以及它们的类型,然后允许你在 Inspector 中编辑它们。

在 Inspector 中设置公开字段的值
在 Inspector 中设置公开字段的值

注意,Inspector 中不会识别属性,更不会识别方法。所以要公开,必须使用“字段”。

在哪里修改值

Unity 编辑器会在每次重新激活编辑器窗口的时候重新加载 Unity 项目。因此,当你在 Visual Studio 或其他编辑器中新编写了公开字段后,回到 Unity 编辑器中便会识别到这些字段,然后显示出来。

值得注意的是,这个时候就已经记录了此脚本在此游戏对象中的值。也就是说,此后无论你如何在脚本中修改公开字段的值,运行游戏都不会有变化,因为游戏开始后,就会用你在编辑器中设置的值(虽然不是手工设的)覆盖脚本中编写的默认值。

要修改,还是需要在 Inspector 中去修改值。

有趣的名称

按照 Unity C# 脚本的编写规范,公开的字段也是按 camelCase 命名的。当然,你也可以用 PascalCase 命名也不会有什么识别上的问题。

不过,无论你用什么命名,Inspector 中都会将你的名称拆开成多个单词,并首字母大写。

更有趣的是,如果你使用了一些预设的字段名称,那么 Inspector 中会显示成预设的名称。典型的是命名成 Name 的时候,Inspector 中会显示“名称”(如果你装了中文语言包的话)。

本文会经常更新,请阅读原文: https://blog.walterlv.com/post/unity-starter-public-fields-of-unity-script.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接: https://blog.walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 ([email protected])

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简单的 C# 脚本
  • 公开字段
  • 在哪里修改值
  • 有趣的名称
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档