首页 > 其他分享 >Unity框架中的核心类

Unity框架中的核心类

时间:2023-06-06 16:47:41浏览次数:46  
标签:游戏 框架 对象 核心 获取 Unity 当前 组件 属性

组件:Component 在Unity中,所有的游戏对象都可以挂载组件。组件控制着游戏对象的行为和外观,例如渲染、动画、碰撞检测等。 而Component就是组件的基类,提供了一些通用的方法和属性,例如gameObject、transform等。 Component类提供了许多方便的方法和属性,可以帮助我们方便地对游戏对象进行控制和操作。 Component类中常用的方法和属性:

gameObject:获取当前组件所在的游戏对象。
transform:获取当前组件所在的游戏对象的Transform组件。

GetComponent:在当前游戏对象中,获取指定类型的组件,例如GetComponent<Renderer>()可以获取游戏对象的渲染组件。
GetComponents:在当前游戏对象中,获取指定类型的所有组件。

SendMessage:向当前游戏对象发送消息。
SendMessageUpwards:向当前游戏对象及其父对象发送消息。
BroadcastMessage:向当前游戏对象及其所有子对象发送消息。

CompareTag:比较当前游戏对象的标签是否与指定标签相同。

组件:Transform 在Unity中,每个游戏对象都必须挂载Transform组件,它控制着游戏对象在场景中的位置、旋转和缩放。Transform组件提供了一些属性和方法,可以帮助我们对游戏对象进行控制和操作。 在游戏开发中,我们通常需要使用Transform组件来实现游戏对象的移动、旋转、缩放等功能。 Transform类中常用的属性和方法:
position:获取或设置游戏对象在场景(世界坐标系)中的位置。
rotation:获取或设置游戏对象在场景(世界坐标系)中的旋转。

localPosition:获取或设置游戏对象在其父对象坐标系中的位置。
localRotation:获取或设置游戏对象在其父对象坐标系中的旋转。
localScale:获取或设置游戏对象在其父对象坐标系中的缩放。

Translate:在当前游戏对象的坐标系中移动游戏对象,可以通过参数设置相对于那个坐标系。
Rotate:在当前游戏对象的坐标系中旋转游戏对象,可以通过参数设置相对于那个坐标系。
LookAt:使游戏对象面向指定位置。

GetChild:获取指定索引位置的子游戏对象。
GetComponentsInChildren:获取当前游戏对象及其所有子游戏对象上指定类型的组件。

 

游戏对象:GameObject 在Unity中,GameObject是场景中的基本构建单元,它表示了场景中的游戏对象。每个游戏对象都可以挂载一个或多个组件,组件可以控制游戏对象的行为和外观。例如,渲染组件用于控制游戏对象的外观,物理组件用于控制游戏对象的运动等等。 在游戏开发中,我们通常需要使用GameObject类来创建游戏对象,并挂载相应的组件来实现游戏的各种功能。 GameObject类提供了一些方便的方法和属性,可以帮助我们方便地对游戏对象进行控制和操作。
name:获取或设置游戏对象的名称。
transform:获取当前游戏对象的Transform组件。

activeSelf:获取当前游戏对象是否处于激活状态。
SetActive:设置当前游戏对象的激活状态。
SetActiveRecursively:递归设置当前游戏对象及其所有子对象的激活状态。

GetComponent:获取指定类型的组件,例如GetComponent<Renderer>()可以获取游戏对象的渲染组件。
AddComponent:添加指定类型的组件,例如AddComponent<Rigidbody>()可以添加游戏对象的物理组件。

SendMessage:向当前游戏对象发送消息。
SendMessageUpwards:向当前游戏对象及其父对象发送消息。
BroadcastMessage:向当前游戏对象及其所有子对象发送消息。

 

基类:Object Object是所有Unity对象的基类,包括游戏对象、组件、资源等。 Object类提供了一些通用的方法和属性,例如name、tag、hideFlags等。这些方法和属性可以用于对对象进行操作,例如获取或设置对象的名称、标签、隐藏标志等。 在游戏开发中,我们通常需要使用Object类的一些派生类,例如GameObject、Component等来实现游戏的各种功能。 Object类中常用的方法和属性:
name:获取或设置对象的名称。
tag:获取或设置对象的标签。
hideFlags:获取或设置对象的隐藏标志。

Destroy:销毁对象。
Instantiate:实例化对象。
FindObjectOfType:查找指定类型的对象。
FindObjectsOfType:查找指定类型的所有对象。

 

静态工具类:Time Time是Unity中的一个静态类,它包含了一些静态属性和方法,用于控制游戏中的时间流逝。 Time类提供了一些属性和方法,可以帮助我们方便地对游戏时间进行控制。 在游戏开发中,我们经常需要使用Time类的属性和方法,例如控制游戏速度、计时器等功能。 Time类中常用的属性和方法:
time:获取游戏开始后的总时间(以秒为单位)。
timeSinceLevelLoad:获取当前场景加载后的时间(以秒为单位)。

deltaTime:获取上一帧到当前帧所用的时间(以秒为单位)。
fixedTime:获取游戏开始后的总固定时间步长(以秒为单位)。
fixedDeltaTime:获取固定时间步长(以秒为单位)。

timeScale:获取或设置时间缩放比例, 常用于游戏暂停与重新开始,它的值会影响deltaTime的大小,当设置为0时则deltaTime的大小也变成了0表示游戏暂停。

maximumDeltaTime:获取或设置最大的时间增量。
smoothDeltaTime:获取平滑的时间增量(以秒为单位)。

 

 

 

标签:游戏,框架,对象,核心,获取,Unity,当前,组件,属性
From: https://www.cnblogs.com/zhou--fei/p/17460945.html

相关文章

  • 关于TChunkedArray和UE5的ECS框架Mass
    在虚幻引擎中,TChunkArray是一个动态数组类型。它通过分配一系列固定大小的Chunk来管理Array中的元素。每个Chunk具有以下特征:1.固定大小,通常为4096个元素。该大小在TChunkArray定义时指定,之后所有Chunk的大小都是一致的。2.可以连续或不连续的分配在内存中。TChunk......
  • Taurus.mvc .Net Core 微服务开源框架发布V3.1.7:让分布式应用更高效。
    前言:自首个带微服务版本的框架发布:Taurus.MVCV3.0.3微服务开源框架发布:让.NET架构在大并发的演进过程更简单已经过去快1年了,在这近一年的时间里,版本经历了N个版本的迭代。如今,是时候写文章介绍一下了:以下介绍中,仅以.NetCore6为示例代码。框架支持在.NetFramework2.0+......
  • 若依框架循环的form表单中配置权限
    页面中循环form表单 菜单中配置权限在字典管理的备注中,写权限 formb表单中,配置权限,直接从备注中获取权限标识 ......
  • Java革命性ORM框架之快速上手的Jimmer
    Jimmer是一款革命性的ORM框架,它的目标是提供一个简单易用的API,帮助开发人员更加轻松地操作数据库。Jimmer使用了Java8的新特性,如Lambda表达式和StreamAPI,使得代码更加简洁、易读。本文将详细介绍Jimmer的基本用法,并提供一些Java代码案例说明。1.什么是ORM?在介绍Jimmer之前,首......
  • Playwright微软自动化框架-对浏览器的操作-页面前进/后退/刷新操作
    昨天使用微软自动化框架Playwright对浏览器进行全屏显示,多个浏览器调用等功能,今天我们来对浏览器进行前进/后退/刷新等操作。  直接上代码:  package org.example;import com.microsoft.playwright.*;publicclass BrowserFresh{  publicstaticvoid main(String[]......
  • 9.3. Hibernate框架
    Hibernate是一个开源的持久层框架,它可以帮助我们将Java对象映射到数据库表中,并实现对象的持久化操作。Hibernate提供了丰富的API,可以方便地进行CRUD(增删改查)操作,而无需手动编写复杂的JDBC代码。9.3.1.Hibernate核心组件Hibernate主要包含以下几个核心组件:SessionFactory:一......
  • python学习框架
    Python简介与安装Python的历史与特点Python的安装与配置Python基础语法变量与数据类型运算符与表达式控制结构(条件判断与循环)函数与模块错误处理与异常Python数据结构列表(List)元组(Tuple)集合(Set)字典(Dictionary)Python面向对象编程类与对象继承与多态封......
  • K8S核心概念以及部署
    架构以及核心组件介绍:Master -APIServer(接口中心)j接口服务,基于rest风格开放的k8s接口服务 -kubeControllerManager:管理各个类型的控制器,针对k8s中的各种资源进行管理 -nodecontroller节点控制器:负责在节点出现故障时进行通知和响应 -jobcontroller任务控制器......
  • Taro框架应用优势下的移动App开发创新模式
    最近公司的一些项目需要跨端框架,技术老大选了Taro,实践了一段时间下来,愈发觉得Taro是个好东西,所以在本篇文章中稍微介绍下。 什么是Taro?Taro(或称为Taro框架)是一种用于构建跨平台应用程序的开源JavaScript框架。它基于React和ReactNative,可以用于开发Web、iOS、Android和微......
  • 纯注解方式整合Spring和Mybatis框架
    一、配置信息介绍application-dao.xml  application-dao.xml配置文件中配置的内容包含以下4项:读取jdbc.properties文件中的数据连接信息。创建Druid对象,并将读取的数据连接信息注入到Druid数据连接池对象中。创建SqlSessionFactoryBean对象,将并将Druid对象注入到SqlSessi......