首页 > 其他分享 >unity学习笔记(一)

unity学习笔记(一)

时间:2024-09-01 22:25:02浏览次数:9  
标签:销毁 GameObject 物体 笔记 学习 unity gameObject 组件

组件的概念

组件:一个或多个功能的容器,类似模块,插上去就有这个功能,不查没有

存在意义:

  • 如果太依赖继承,继承树将会特别复杂
  • 组件化设计思想有利于维护拓展

unity内任何游戏物体必须有Transform组件

unity中大多数情况下,我们写的c#脚本就是一个组件


从代码角度认识GameObject

任何组件身上都有一个gameObject,代表它所在的GameObject(宿主)

主要属性

  • name:游戏物体的名称
  • tag:游戏物体的标签
  • layer:游戏物体的层分类
Debug.Log(gameObject.name);//打印出GameObject的名字
gameObject.name = "Game Object";//修改GameObject的名字
Debug.Log(gameObject.name);//打印出GameObject的名字

if (gameObject.tag == "Player")
{
	Debug.Log("This is a player object");//判断GameObject的tag是否为Player
}

主要行为

  • SetActive:是否显示
  • AddComponent:添加组件
  • GetComponents:获取组件
  • GetComponents:获取多个组件(允许一个组件重复添加,但是一般不会)
  • GetComponentInChildren:从子物体身上查找组件
  • GetComponentInParent:从父物体身上查找组件
  • <T>:泛型,后续细说,目前简单理解为“确定一个类型”

销毁组件的方式

Destory(gameObject.GetComponent<XXXXController>());

Transform组件基本信息

GameObject有个属性就是transfrom,代表它所在GameObjectTransform组件

主要属性

  • position:坐标
  • rotation:旋转 (四元数格式)
  • eulerAngles:旋转(欧拉角模式)
  • localScale:缩放
  • localPositionlocalRotationlocalEulerAngels:是相对父物体的坐标和旋转
  • parent:父物体的transform
  • childCount:子物体的数量
  • root:自身的根节点(父的父的父到最上层)

主要行为

  • GetChild:获取第X个子物体
  • SetParent:设置自身为某个游戏物体的子物体
  • Find:查找子物体,参数是路径,填写方式类似文件夹"A/B/C"

坐标和Vector结构体

unity中2D和3D没有本质上的区别,unity中的2D场景就是Z轴值为0的3D场景

世界坐标系:相对世界的坐标

局部坐标系:相对父物体的坐标

Translate维护父子结构

删除一个GameObject

  • Destroy:销毁物体,但不会立即销毁,而是在Update执行后执行销毁操作
  • DestroyImmediate:立即销毁物体,销毁完物体才会执行下一行代码

父子结构相关的属性与函数

  • parent:父物体的transform
  • childCount:子物体的数量
  • root:自身的根节点(父的父的父到最上层)
  • GetChild:获取第X个子物体
  • SetParent:设置自身为某个游戏物体的子物体

组件的生命周期

如字面意思,生命周期就是生老病死的一个轮回。类似地,在unity中指的是一个组件从创建到销毁的所有阶段,这些阶段肯定要做一些事情,这些事情就是生命周期函数

Tips:官方一般称为“事件函数”

关键生命周期函数

  • Awake(针对自身):始终在任何Start函数之前GameObject创建后调用此函数。(如果游戏对象在启动期间处于非活动状态,则在激活之后才会调用Awake
  • OnEanble(针对自身):在启用对象后立即调用此函数
  • Start(针对自身):仅当启用脚本实例后,才会在第一次帧更新之前调用Start
  • Update(针对自身):每帧调用一次 Update。这是用于帧更新的主要函数
  • LateUpdate(针对自身):在LateUpdate完成后执行一次
  • OnDisable(针对自身):被禁用或处于非活动状态时,调用此函数
  • OnDestroy(针对自身):对象存在的最后一帧完成所有帧更新之后,调用此函数(可能因为Destroy函数或在场景关闭时销毁该对象)

//TODO:需要补充一些

帧的深度了解

游戏、视频的原理就是不停的刷新画面,那么这个刷新一定存在频率,这就是帧率(FPS),比如60FPS就是每秒刷新60次画面

假设游戏稳定在60PFS的状态下,那么Update就是1/60秒执行一次,也就是每秒执行60次

标签:销毁,GameObject,物体,笔记,学习,unity,gameObject,组件
From: https://www.cnblogs.com/StadarkBlog/p/18391864

相关文章

  • 【Java学习】静态static&继承
    一、静态static(一)定义static是静态的意思,static可以修饰成员变量或者修饰方法。static关键字的使用,它可以用来修饰的成员变量和成员方法,被static修饰的成员是属于类的,放在静态区中,没有static修饰的成员变量和方法则是属于对象的。static关键字在Java开发非常的重要,对于理......
  • CF 有趣题目做题笔记
    CF1157FMaximum_Balanced_CircleProblem题意:给出一个长度为\(n\)的序列\(a\),你可以选出序列的任意子集。记这个子集为\(b\),大小为\(k\),则需要满足\(\lvertb_i-b_{(i+1)\bmodk}\rvert\le1\)。你需要最大化\(k\)的值,并输出选出的子集\(b\)。Solution注意到最终......
  • 【Java学习】内部类&泛型
    一、内部类内部类是类中的五大成分之一(成员变量、方法、构造器、代码块、内部类);如果一个类定义在另一个类的内部,这个类就是内部类;场景:当一个类的内部,包含了一个完整的事物,且这个事物没有必要单独设计时,就可以把这个事物设计成内部类。内部类分为四种成员内部类:位于一个类......
  • 1-1 Markdown学习
    你熟悉Markdown格式吗?选择自己熟悉的AI平台,把下面的提示词发给ta:"""作为计算机技术专家、人工智能技术专家,网络空间安全专家,密码学专家,密码技术专家,请您:1.深入浅出的讲解一下Mardown,Markdown的详细语法2.推荐至少两款线上工具,至少两种线下工具3.讲解Markdown的高级用法,包......
  • 四边形不等式 学习笔记
    四边形不等式学习笔记定义四边形不等式(QI)如果对于函数\(w(l,r)\),\(l_1\lel_2\ler_1\ler_2,w(l_1,r_1)+w(l_2,r_2)\lew(l_1,r_2)+w(l_2,r_1)\),则称\(w\)满足四边形不等式,函数\(w\)的二维矩阵被称作蒙日矩阵。一般只能用于求\(\min\)的DP。石子合并模型对......
  • Dbeaver community v24 激活版下载及安装教程
    安装步骤下载地址:1、点击运行dbeaver-ce-24.1.4-x86_64-setup.exe2、选定安装组件,默认就行3、选择安装路径,建议别安装在C盘,将“C”改成“D”4、安装完成,取消勾选5、点击右下角开始,点击Dbeaver运行6、启动成功......
  • Dbeaver community v24 激活版下载及安装教程
    安装步骤下载地址:1、点击运行dbeaver-ce-24.1.4-x86_64-setup.exe2、选定安装组件,默认就行3、选择安装路径,建议别安装在C盘,将“C”改成“D”4、安装完成,取消勾选5、点击右下角开始,点击Dbeaver运行6、启动成功......
  • Dbeaver community v24 激活版下载及安装教程
    安装步骤下载地址:1、点击运行dbeaver-ce-24.1.4-x86_64-setup.exe2、选定安装组件,默认就行3、选择安装路径,建议别安装在C盘,将“C”改成“D”4、安装完成,取消勾选5、点击右下角开始,点击Dbeaver运行6、启动成功......
  • Dbeaver community v24 激活版下载及安装教程
    安装步骤下载地址:1、点击运行dbeaver-ce-24.1.4-x86_64-setup.exe2、选定安装组件,默认就行3、选择安装路径,建议别安装在C盘,将“C”改成“D”4、安装完成,取消勾选5、点击右下角开始,点击Dbeaver运行6、启动成功......
  • Dbeaver community v24 激活版下载及安装教程
    安装步骤下载地址:1、点击运行dbeaver-ce-24.1.4-x86_64-setup.exe2、选定安装组件,默认就行3、选择安装路径,建议别安装在C盘,将“C”改成“D”4、安装完成,取消勾选5、点击右下角开始,点击Dbeaver运行6、启动成功......