unity学习笔记07

news2024/12/27 4:57:25

一、组件

有几个物体他们之间有着重复的功能,该如何避免重复的去写代码?

可以将一些相同的功能写成一个组件,也就是组件就等同于功能。

什么是组件?

在Unity中,游戏物体是不具备任何功能的,如果想要为其添加功能,那么就需要为它添加该功能的组件,而每一个组件其实就是一个引擎内部的组件脚本或是由自己编写的组件脚本。也就是说,一个游戏物体(Game Object )会包含多个组件(Component ),每一个组件又是一个组件脚本。
 

示例:创建一个空物体为其添加组件让其为立方体

创建一个空物体

添加组件mesh filter,然后网格选择立方体Cube

再添加一个Mesh   Renderer (渲染逐渐)

然后新建一个材质 ,最后将材质拖到添加组件的地方,然后就显示了一个立方体

组件的一些使用技巧

1.组件修改后想要恢复,可以点击重置就恢复了。

2.组件可以通过复制为物体增加新的组件。组件也可以粘贴组件值,可以将a物体的A组件修改一些数组后点击复制。再b物体上的A组件可以直接粘贴组件值,可以不用再增加一个组件吗,达到需要的效果。

二、脚本

1.方法的调用顺序。

Awake:最早调用,所以一般可以在此实现单例模式。也可以做一些初始化的设置,仅在对象第一次被激活时调用一次。。

OnEnable:组件激活后调用,在Awake后会调用一次。

Start:在Update之前调用一次,在OnEnable之后调用,可以在此设置一些初始值。

FbxedUpdate:固定频率调用方法,每次调用与上次调用的时间间隔相同。

Update:帧率调用方法,每帧调用一次,每次调用与上次调用的时间间隔不相同。

LateUpdate:在Update每调用完一次后,紧跟着调用一次。

OnDisable:与OnEnable相反,组件未激活时调用。

OnDestroy:被销毁后调用一次。

2.脚本的运行顺序

当有多个脚本同时存在时运行顺序是如何的呢?

默认情况下会会先执行所有脚本的  Awake 方法里面的,然后再执行所有脚本里面的 Start 方法里面的。

可以通过设置修改执行顺序,可以在Unity编辑器中的“Edit -> Project Settings -> Script Execution Order”中找到脚本执行顺序设置。

在这里将需要控制的脚本添加,然后修改这个数值

数值越小越靠前,执行顺序越靠前。比如图中的顺序会前执行test2的 Awake 然后再执行test1 的Awake 。

三、组件的标签和图层

1.标签:

标签是用于标识游戏对象的字符串。通过为游戏对象分配标签,可以轻松地将它们归类为特定的类型或功能。在Unity中,一些常见的默认标签包括"Player"、"Enemy"、"MainCamera"等。也可以自己创建一些没有的标签。

可以通过为物体分配标签,在查找物体是更为方便。

可以通过脚本设置标签和获取标签

// 设置游戏对象的标签
gameObject.tag = "Player";

// 获取游戏对象的标签
string objectTag = gameObject.tag;
 

2.图层

图层是用于分组和控制游戏对象渲染顺序和碰撞检测的一种方法。每个游戏对象都分配有一个图层,而图层定义了对象在场景中的位置和关系。

通过将游戏对象分配到不同的图层,可以控制它们在场景中的可见性和渲染顺序。例如,可以将一个2D的背景图层设置在角色图层之后,以确保角色显示在背景之前。

此外,图层还对碰撞检测非常重要。可以通过设置碰撞器和触发器的碰撞层次来控制它们之间的交互。例如,你可以设置角色碰撞器只与敌人层发生碰撞,而不与其他层发生碰撞。

同时图层也能添加,但是只能有32个。

也可以使用 Physics  类的 LayerMask  可以在脚本中选择性地检测或忽略特定图层的对象。 

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

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

相关文章

解决api-ms-win-crt-runtime-l1-1-0.dll丢失的问题,全是干货分享

今天我的电脑中突然出现关于“api-ms-win-crt-runtime-l1-1-0.dll”的错误提示,关闭提示后再次打开程序依然不能正常打开,出现这样的问题突然不知道是因为什么,于是就去了解了关于出现api-ms-win-crt-runtime-l1-1-0.dll错误的问题&#xff0…

一款LED段码显示屏驱动芯片方案

一、基本概述 TM1620是一种LED(发光二极管显示器)驱动控制专用IC,内部集成有MCU数字接口、数据锁存器、LED驱动等电路。本产品质量可靠、稳定性好、抗干扰能力强。 二、基本特性 采用CMOS工艺 显示模式(8段6位~10段4位&#xff…

YOLOv5原创改进:全维动态卷积再改进,GCODConv

目录 一、原理 网络结构 二、代码 三、应用到YOLOv5中 一、原理

自定义注解的定义及使用场景

文章目录 1. 自定义注解如何使用2. 自定义注解使用场景2.1 自定义注解使用AOP做权限校验2.2 自定义注解使用AOP记录用户操作日志2.3 自定义注解使用AOP记录接口请求时长 1. 自定义注解如何使用 需要使用interface修饰,加上三个元注解 Documented:生成API…

微信预约小程序制作

对于许多新手来说,制作微信预约小程序可能是一项挑战,但并非不可能。本文将通过详细的步骤,指导您从零开始制作一个微信预约小程序。首先,您需要找一个合适的第三方制作平台或工具,乔拓云网就是其中之一。 找一个合适的…

入门指南:Vue的安装配置和开发环境设置

背景: ​ 这里想讲一讲为什么使用框架,而不使用原生的HTML、CSS、JavaScript写。原生开发虽然灵活,但在大型项目中可能导致代码重复、维护困难等问题,不符合软件工程的"高内聚低耦合"原则。例如,如果每个页…

人工智能 - 图像分类:发展历史、技术全解与实战

目录 一、:图像分类的历史与进展历史回顾深度学习的革命当前趋势未来展望 二:核心技术解析图像预处理神经网络基础卷积神经网络(CNN)深度学习框架 第三部分:核心代码与实现环境搭建数据加载和预处理构建CNN模型模型训练…

Python异常处理:try语句的应用与技巧

更多资料获取 📚 个人网站:ipengtao.com 异常处理在Python中是至关重要的。try-except是用于捕获和处理异常的核心机制之一。让我们深入了解如何使用try-except,处理各种异常情况。 try-except语句 在编程中,异常是指运行时发生…

linux环境下编译安装OpenCV For Java(CentOS 7)

最近在业余时间学习了一些有关图像处理的代码,但是只能本地处理,满足不了将来开放远程服务的需求。 因此,查找并参考了一些资料,成功在centos7环境安装上了opencv 460。 下面上具体安装步骤,希望能帮到有需要的同学。 …

贝叶斯Python实践

贝叶斯统计学是一种基于贝叶斯定理的概率推理方法,它在机器学习领域得到了广泛的应用。Python作为一门简洁、灵活和易学的编程语言,为贝叶斯统计学的实践提供了强大的工具和库。在本文中,我们将探讨贝叶斯在Python中的实践,包括贝…

数据集笔记 :PEMS-BAY

数据地址:DCRNN - Google 云端硬盘 各station 位置:DCRNN/data/sensor_graph/graph_sensor_locations_bay.csv at master liyaguang/DCRNN (github.com) 1 读取 数据 import h5py fileDownloads/pems-bay.h5fh5py.File(file,r) f.keys()f[speed] #&…

氪了几百亿,字节游戏停止了“跳动”

目录 一、氪了几百亿,字节游戏停止了“跳动” 二微软推出跨平台框架 ML.NET 3.0 版:强化深度学习、加强AI效率 一、氪了几百亿,字节游戏停止了“跳动” 朝夕光年,扑了 11月26日,脉脉社区的一个截图内容引起大众热议…

简单位运算

文章目录 求 n n n 的第 k k k 位是二进制的几lowbit(n)操作求解 n n n 的最后一个 1 1 1题目练习AcWing 801. 二进制中1的个数CODE1 原码、补码、反码 求 n n n 的第 k k k 位是二进制的几 我们需要用到&运算符:两位都为 1 1 1 时结果才为 1 1 1 &…

easyrecovery如何恢复手机数据及硬盘数据恢复方法

EasyRecovery16是一款优秀的数据恢复软件,不仅能够兼容windows和mac双重系统,同时还能够识别u盘、存储卡、手机等多种数据储存设备,可恢复的文件类型更是多达百余种。还贴心地准备个人版、专业版和企业版的下载,增加了用户的可选性…

超小尺寸安卓主板|迷你主板|联发科MTK安卓小尺寸主板

一款超小尺寸安卓主板,尺寸仅为43.4mm*57.6mm。这款主板采用了联发科12nm制程工艺的芯片(MT6761/MT6762/MT6765/MT8788),拥有四核/八核64bit A53架构CPU,主频可达2.0GHz,功耗极低,性能卓越。默认内置1G16G内存&#xf…

初次尝到【C知道】的甜蜜

目录 一、场景描述 二、【C知道】使用 三、【C知道】的原理 四、【C知道】的坑 一、场景描述 最近有下面的需求: mysql如何通过命令查看指定表的存储引擎 习惯性在CSDN中搜文章,自己找。 皇天不负有心人,我找到了下面这个内容&#xff0…

AI模型训练——入门篇(二)

导语:本文主要介绍了基于BERT的文本分类方法,通过使用huggingface的transformers库实现自定义模型和任务。具体步骤包括:使用load_dataset函数加载数据集,并应用自定义的分词器;使用map函数将自定义分词器应用于数据集…

光伏开发过程中能运用到的软件有哪些?

在光伏开发过程中,软件的应用贯穿了整个项目生命周期,从设计到建设再到运营管理。下面是一些在光伏开发过程中可能用到的软件工具: 制图和设计软件:CAD软件如AutoCAD、Bentley等被广泛用于光伏系统的设计和制图。这些软件可以帮助…

装饰设计模式(常用)

装饰器模式(装饰设计模式) 我们这些上班族大多都有睡懒觉的习惯,每天早上上班时间都很紧张,于是很多人为了多睡一会,就会用方便的方式解决早餐问题。有些人早餐可能会吃煎饼,煎饼中可以加鸡蛋,…

AutoDIR: Automatic All-in-One Image Restoration with Latent Diffusion

AutoDIR: Automatic All-in-One Image Restoration with Latent Diffusion (Paper reading) Yitong Jiang, The Chinese University of Hong Kong, arXiv23, Code, Paper 1. 前言 我们提出了一种具有潜在扩散的一体化图像恢复系统,名为AutoDIR,它可以…