了解Unity编辑器之组件篇Scripts(六)

这篇具有很好参考价值的文章主要介绍了了解Unity编辑器之组件篇Scripts(六)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Scripts:有Unity提供的一些脚本插件(自己新建的脚本也会出现在里面)

一、TMPro:有一些与文字显示和排版相关的脚本

1.TextContainer(文本容器):TextContainer 是一个内容框,用于定义文本的显示范围。通过设置 TextContainer 的边界,可以控制文本在屏幕上的位置和大小。

了解Unity编辑器之组件篇Scripts(六),了解Unity编辑器,unity,编辑器,游戏引擎 

(1)Anchor Position(锚点位置):锚点位置决定了父对象(通常是 RectTransform)中文本容器的起始位置。它可以是矩形对象的矩形中的一个点,例如左上角、中心等。文本容器将根据锚点位置进行定位和调整。

(2)Dimensions(尺寸):文本容器的尺寸属性定义了文本在父对象中的可见区域范围。这直接决定了文本在屏幕上的展示大小。

(3)Margins(边距):通过设置边距,你可以在文本和容器边缘之间创建空白区域。边距为文本提供了一定的留白,并可以调整文本的布局位置和间距。

2.TMP_ScrollbarEventHandler(滚动条事件处理器):该脚本用于处理与 TMP_Scrollbar(TMP 滚动条)相关的事件。它可以监听滚动条的滑动事件和按钮点击事件,并根据滚动条的操作进行文本的滚动。

了解Unity编辑器之组件篇Scripts(六),了解Unity编辑器,unity,编辑器,游戏引擎 

(1)Is Selected:可用于检测 TMP_ScrollbarEventHandler 是否处于选中状态,以便在适当时机对滚动条进行响应和操作

3.TMP_SelectionCaret(文本选择光标):TMP_SelectionCaret 脚本用于显示和控制文本的选中光标。它可以根据用户的选择操作来定位和渲染光标。

了解Unity编辑器之组件篇Scripts(六),了解Unity编辑器,unity,编辑器,游戏引擎 

(1)Material(材质):指定选择光标的渲染材质。通过更改材质,可以改变选择光标的外观效果,例如颜色、纹理等。

(2)Color(颜色):用于设置选择光标的颜色。可以通过更改颜色值或使用透明度来调整选择光标的显示方式。

(3)Raycast Target(射线检测目标):指定选择光标是否响应射线检测。当设置为 true 时,选择光标可以被鼠标点击、触摸等输入事件检测到;当设置为 false 时,选择光标将被忽略。

(4)Raycast Padding(射线检测边距):定义选择光标的射线检测边距。可以设定一个边距值,以便为选择光标增加一定的点击区域,这样更易于用户点击。

(5)Maskable(可遮罩):指定选择光标是否被屏蔽。如果选择光标属于可遮罩对象,可以设置为 true,使得选择光标遵循层级遮罩规则。

(6)On Cull State Changed (Boolean)(剔除状态改变时的处理):这是一个布尔类型的事件处理器。当选择光标的剔除状态(是否在裁剪范围之外)发生改变时,该事件将被触发。可以使用此事件来执行自定义操作。

4.TMP_SpriteAnimator(TMP 精灵动画器):TMP_SpriteAnimator 用于播放基于 
TMP_SpriteAsset(TMP 精灵资源)创建的动画序列。它可以控制精灵的播放速度、循环模式等。

了解Unity编辑器之组件篇Scripts(六),了解Unity编辑器,unity,编辑器,游戏引擎 

5.TMP_SubMesh(TMP 子网格):TMP_SubMesh 是 TextMeshPro 渲染系统中用于绘制具体文字的一部分。一个文本对象可以由多个子网格组成,每个子网格负责绘制相应的文字片段。(添加该脚本时会自动添加Mesh Renderer组件)

了解Unity编辑器之组件篇Scripts(六),了解Unity编辑器,unity,编辑器,游戏引擎 

(1)Font Asset(字体资源):指定该子网格使用的字体资源。字体资源定义了用于绘制文本的字符集、字形信息、字距调整等字体属性。

(2)Sprite Asset(精灵资源):用于指定子网格所使用的精灵资源。精灵资源是一种用于插入到文本中以替代字符或图形的图像资源,可以为文本添加额外的样式和视觉效果。

(3)Sorting Layer(排序层级):用于指定子网格在渲染时的排序层级。根据 Sorting Layer 的设置,可以控制不同子网格之间的渲染顺序,确保正确的遮挡关系和显示顺序。

(4)Order in Layer(层级顺序):用于定义在相同 Sorting Layer 内的子网格的绘制顺序。具有较低 Order in Layer 值的子网格将在具有较高 Order in Layer 值的子网格之前进行绘制。

6.TMP_SubMeshUI(TMP 子网格 UI):与 TMP_SubMesh 类似,TMP_SubMeshUI 也是 TextMeshPro 渲染系统中的一部分,用于在UI界面上绘制文字。不同的是,TMP_SubMeshUI 是用于与 Unity 的 UI 系统(Canvas)配合使用的。

了解Unity编辑器之组件篇Scripts(六),了解Unity编辑器,unity,编辑器,游戏引擎 

(1)属性可参考TMP_SubMesh

二、UnityEngine.EventSystems:在Unity中,UnityEngine.EventSystems命名空间是用于处理用户交互事件和管理UI事件系统的一组类。它提供了一种简单而强大的方式来管理和处理用户输入、触摸和点击等事件,并与UI元素进行交互。

UnityEngine.EventSystems中常用的类包括:

(1)EventSystem:事件系统,负责接收、处理和分发输入事件。它是整个UI事件系统的核心,负责将输入事件传递给相应的UI元素。

(2)UIBehaviour:UI行为基类,是所有UI组件的基类。它提供了一些通用的方法和属性,用于处理事件、交互和状态管理等操作。

(3)BaseRaycaster:基础射线检测器,用于处理射线检测和事件穿透。它定义了射线检测的基本接口,可以通过继承它来创建自定义的射线检测器。

(4)PointerEventData:指针事件数据,封装了指针(如鼠标、触摸)相关的数据,如位置、按下状态等。它通过EventSystem传递给UI元素,用于处理和响应用户输入。

(5)EventTrigger:事件触发器,可以为UI元素附加事件响应脚本,自定义触发不同事件时的行为

1.Base Input:用于处理输入事件的基类。

了解Unity编辑器之组件篇Scripts(六),了解Unity编辑器,unity,编辑器,游戏引擎 

它作为其他输入脚本的抽象基类,提供了输入事件的统一接口和常用功能:

处理输入事件:Base Input脚本定义了处理常见输入事件的方法,如按下、抬起、拖拽、滚动等。继承Base Input脚本的子类可以通过重写这些方法来处理具体的输入事件。

抽象化输入源:Base Input脚本将具体的输入源抽象化,使得其他脚本可以方便地切换和扩展输入源。可以根据需要创建不同的子类,如键盘输入、鼠标输入、触摸输入等。

输入状态管理:Base Input脚本可以跟踪和记录输入状态,如按键是否按下、鼠标的位置和滚轮值等。这样可以方便地查询和使用输入状态,例如根据按键状态决定角色的移动方向。

事件系统交互:Base Input脚本可以与Unity的事件系统(Event System)进行交互。它可以通过触发相应的事件(如PointerDown、PointerUp等)与其他UI组件和交互系统进行通信。

三、UnityEngine.TestTools.TestRunner.Callback:用于在测试运行期间进行自定义的回调操作。该接口是在Unity Test Framework中为自动化测试提供的。通过实现UnityEngine.TestTools.TestRunner.Callback接口,并将其注册到Unity Test Runner中,可以在测试运行期间实现自定义的回调逻辑。这样可以灵活地扩展测试框架,并在测试过程中执行特定的操作,例如记录日志、自定义断言或进行额外的验证。

1.Player Quit Handler:通常与测试框架和自动化测试相关。在自动化测试中,我们可能需要在游戏执行完测试后,自动关闭游戏并执行后续的验证、报告生成或清理操作。而玩家退出游戏事件是一个常见的触发点。

了解Unity编辑器之组件篇Scripts(六),了解Unity编辑器,unity,编辑器,游戏引擎 

通过编写Player Quit Handler脚本,你可以在玩家退出游戏时执行一些特定的逻辑,例如:

数据保存:在玩家退出游戏前,你可以使用Player Quit Handler脚本保存游戏中的必要数据或状态,以便在下一次运行或重新加载时恢复这些数据。

关闭资源和连接:当游戏结束时,你可以使用Player Quit Handler脚本关闭游戏中打开的资源、连接或其他外部系统,以确保防止资源泄漏或其他不良影响。

清理操作:你可以在Player Quit Handler脚本中执行一些额外的清理操作,例如删除临时文件、释放内存等,以确保测试环境的整洁和稳定。

2.Test Result Renderer Callback:用于自定义测试结果的渲染方式和呈现效果。它是在测试完成后,在测试结果渲染器中执行自定义回调的事件。

了解Unity编辑器之组件篇Scripts(六),了解Unity编辑器,unity,编辑器,游戏引擎 

默认情况下,Unity的测试框架(Unity Test Framework)会将测试结果显示在测试结果渲染器中。测试结果渲染器提供了一个标准的显示方式,通常以树形结构或列表形式展示测试用例的执行结果、通过或失败等信息。

通过实现Test Result Renderer Callback,你可以修改和扩展测试结果渲染器的行为,例如:

自定义显示方式:你可以根据特定需求,改变测试结果的展示形式。可以调整显示样式、添加额外的元数据、改变布局和颜色等,以更好地满足测试报告的需求。

扩展报告功能:你可以通过Test Result Renderer Callback在测试结果中添加额外的信息或功能。例如,在测试结果渲染器中显示附加的日志、截图或其他自定义属性。

统计和汇总:你可以利用Test Result Renderer Callback来汇总和统计测试结果。例如,计算通过率、测试耗时或生成自定义的测试报告。

四、UnityEngine.Timeline:该命名空间提供了一种用于创建和管理时间轴(Timeline)的框架。UnityEngine.Timeline主要用于以下作用:

时间轴编辑:UnityEngine.Timeline允许开发者在Unity中创建和编辑复杂的时间轴,以控制游戏、动画、剧情或其他场景中的事件和动作的播放顺序和时序关系。开发者可以通过时间轴编辑器创建关键帧和轨道,并管理对象在特定时间点上的活动和状态。

动画剪辑和混合:通过UnityEngine.Timeline,开发者可以将动画剪辑(Animation Clip)和时间轴混合在一起,创建复杂的动画序列。时间轴可以调整动画剪辑的播放速度、循环次数、交叉淡入淡出以及动画剪辑之间的过渡效果等。

音频剪辑和混合:除了动画剪辑,开发者还可以在时间轴中管理音频剪辑(Audio Clip)。可以将多个音频剪辑混合在一起,控制它们的播放顺序、音量和过渡效果,从而创建电影、游戏场景或其他多媒体作品中的音频效果和背景音乐。

事件触发和交互:时间轴可以用于触发和管理游戏中的事件、动作和交互行为。通过设置时间轴上的关键帧和事件,开发者可以在特定的时间点上执行代码、触发粒子效果、切换场景或执行其他自定义的逻辑。

剧情设计和演出:借助UnityEngine.Timeline,开发者可以在游戏或其他互动体验中创建和设计复杂的剧情和演出。通过时间轴编辑器,可以安排角色对话、相机切换、特殊效果和剧情事件的发生,从而创造出丰富、有序和生动的故事体验。

1.Signal Receiver:用于接收和处理信号的组件或对象。它通常与事件系统结合使用,用于监听和响应特定的信号或事件。

了解Unity编辑器之组件篇Scripts(六),了解Unity编辑器,unity,编辑器,游戏引擎 

Signal Receiver的主要作用包括:

监听事件:Signal Receiver可以注册监听器,用于监听和接收特定类型的信号或事件。当某个信号被触发时,Signal Receiver会相应地执行预定义的行为或方法。

响应信号:一旦Signal Receiver监听到信号或事件触发,它会相应地执行事先定义的操作、行为或方法。这使得开发者能够以响应式的方式处理和处理特定的信号。

解耦代码:Signal Receiver提供了一种解耦代码的方式,即事件源和事件处理之间的解耦。通过信号和Signal Receiver,组件或对象可以将自己的信号发送给Signal Receiver,而不需要直接调用其他对象或组件的方法。

灵活性和可扩展性:Signal Receiver的设计使得应用程序的逻辑可以轻松扩展和修改。通过添加或删除Signal Receiver,以及定义新的信号类型,可以很容易地实现新的功能或逻辑。

事件驱动编程:使用Signal Receiver可以实现事件驱动编程的模式。应用程序中的不同组件或对象可以通过发送和接收信号的方式进行交流和协作,以实现更灵活、松耦合和可复用的代码结构。文章来源地址https://www.toymoban.com/news/detail-617284.html

到了这里,关于了解Unity编辑器之组件篇Scripts(六)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 了解Unity编辑器之组件篇Physics(四)

    Physics:用于处理物理仿真和碰撞检测。它提供了一组功能强大的工具和算法,用于模拟真实世界中的物理行为,使游戏或应用程序更加真实和可信。 主要用途包括: 碰撞检测:Unity Physics 提供了高效的碰撞检测算法,可以检测物体之间的交叉和碰撞,以及处理碰撞事件。这

    2024年02月15日
    浏览(53)
  • 了解Unity编辑器之组件篇Layout(八)

    Layout:用于管理和控制UI元素的排列和自动调整 一、Aspect Ratio Fitter:用于根据宽高比自动调整UI元素的大小   Aspect Mode:用于定义纵横比适配的行为方式。Aspect Mode属性有以下几种选项: (1)None(无):Aspect Ratio Fitter将不会调整UI元素的大小,纵横比也不会被保持。 (2)

    2024年02月15日
    浏览(22)
  • 了解Unity编辑器之组件篇Video(二)

    Video Player组件:用于在游戏中播放视频的组件。它提供了一系列属性来控制视频的播放、显示和交互。 1.Source(视频源):用于指定视频的来源。可以选择两种不同的视频源类型: (1)Vieo Clip(视频片段):用于指定要播放的视频片段。你可以将视频片段拖放到该属性中,

    2024年02月16日
    浏览(26)
  • 了解Unity编辑器之组件篇Tilemap(五)

    Tilemap:用于创建和编辑2D网格地图的工具。Tilemap的主要作用是简化2D游戏中地图的创建、编辑和渲染过程。以下是一些Tilemap的主要用途: 2D地图绘制:Tilemap提供了一个可视化的编辑器界面,可以快速绘制2D地图,例如迷宫、平台关卡、RPG世界等。 碰撞检测:Tilemap可以定义碰

    2024年02月15日
    浏览(24)
  • 了解Unity编辑器之组件篇Miscellaneous(九)

    一、Aim Constraint:是一种动画约束,用于使一个对象朝向另一个对象或一个指定的矢量方向   Activate按钮:用于激活或停用Aim Constraint。当Aim Constraint处于激活状态时,其约束效果将应用于目标对象。 Zero按钮:用于将对象的旋转归零。单击Zero按钮将重置对象的旋转值。 Is Ac

    2024年02月15日
    浏览(29)
  • 了解Unity编辑器之组件篇Physics 2D(十二)

    一、Area Effector 2D区域施加力):用于控制区域施加力的行为 Use Collider Mask(使用碰撞器遮罩):启用后,区域施加力仅会作用于特定的碰撞器。可以使用Collider Mask属性选择要作用的碰撞器。 Collider Mask(碰撞器遮罩):选择要使用区域施加力的碰撞器。可以通过勾选碰撞器层

    2024年02月15日
    浏览(36)
  • 了解Unity编辑器之组件篇Playables和Rendering(十)

    Playables 一、Playable Director:是一种用于控制和管理剧情、动画和音频的工具。它作为一个中央控制器,可以管理播放动画剧情、视频剧情和音频剧情,以及它们之间的时间、顺序和交互。 Playable Director组件具有以下作用: 剧情控制:Playable Director可以用于控制和管理剧情的播

    2024年02月15日
    浏览(30)
  • Unity读书系列《Unity3D游戏开发》——编辑器的结构

    本篇对应标题书籍的第二章编辑器的结构,也就是unity的编辑器的使用及菜单的使用。 当我们制作的软件或游戏需要多人合作时,就会使用git、svn进行版本管理。一般来说只保留Assets、ProjectSettings、Packages这几个文件夹,git会自动生成.git文件,我们添加需要屏蔽的文件夹或后

    2024年01月25日
    浏览(55)
  • 从零开始入门创作游戏——Unity编辑器的使用

    还没找到工作的我继续瞎折腾中,上次搭建环境就花了我3天的时间 从零开始入门创作游戏——Unity3d的环境搭建_默哀d的博客-CSDN博客 接下来是根据油土鳖的视频学习创作的一个小恐龙跳跳跳游戏,直接上手做一次学得更多 https://www.youtube.com/watch?v=UdM9DEys-rI 选择2D核心模板就可

    2024年02月05日
    浏览(48)
  • Unity功能——编辑器模式下隐藏/显示游戏对象的快捷方法

    声明:本文为个人笔记,用于学习研究使用非商用,内容为个人研究及综合整理所得,若有违规,请联系,违规必改。 unity20XX.X.X VS20XX 在编辑器模式下,想快捷的显示/隐藏一个游戏对象. 实现原理: 对组件进行扩展方法.对MonoBehaviour ,Transform,GameObject 组件进行扩展方法 快捷键为

    2024年02月08日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包