unity学习笔记08

news2025/1/21 6:32:28

一、预制体

在Unity中,预制体(Prefab)是一种特殊类型的游戏对象,它允许你创建、配置和保存一个对象,然后在场景中多次使用。预制体的使用使得开发者能够更加灵活和高效地设计和管理游戏对象。

1.创建预制体

可以选择一个或多个游戏对象,然后将它们拖放到场景中的文件夹中,这样就会在该文件夹中创建一个预制体。或者,你可以选择一个游戏对象,然后右键选择 "Create Prefab" 来创建预制体。

当被设置为预设体后,会生成一个预设体文件,对象的名字会呈现蓝山。如下

场景中的Enemy与预设体文件Enemy的关系。

当修改场景中的物体时不会对预设体有影响,但是修改预设体时会对场景中的物体照成同样的修改效果。如果想场景中的物体的修改同步到预设体上,那么可以如下修改

但是这个修改效率不高。加入修改同步多个修改可以通过如下修改

在这里点击应用所用就可以全部同步。

2.预制体变体

在Unity中,预制体变体(Prefab Variants)是一种扩展了预制体的概念,允许你创建具有一定差异的变体,而无需创建完全独立的预制体。这样可以更灵活地处理具有相似结构但可能有细微差异的游戏对象。

创建预制体变体: 选择一个现有的预制体,然后通过右键选择 "Create -> Prefab Variant" 来创建一个变体。变体将继承原始预制体的所有属性和设置。

变体允许修改继承自原始预制体的属性,包括位置、旋转、缩放、组件属性等。这些修改不会影响其他变体或原始预制体。

使用场景:预制体变体在处理具有共同基础结构但需要一些差异的游戏对象时非常有用,例如不同颜色、不同尺寸的物体。

二、动态修改物体属性

1.获取组件

创建一个物体,再创建一个脚本并挂载到物体上,如何再脚本里面拿到这个物体呢?

这样就可以拿到这个游戏物体了。还有个简单的方式,直接用 gameObject. 就可以拿到该物体的对于属性。

演示:

名称:Debug.log(gameObject.name)

标签:Debug.log(gameObject.tag);

图层:Debug.log(gameObject.layer);

获取Transform组件: Transform trans =  this.transform:

获取其他组件:BoxCollider bc = GetComponent<BoxCollider>();

在泛型里面填写要获取的组件类型就可以了。

获取当前物体的子物体身上的某个组件(胶囊碰撞器):
GetComponentInChildren<CapsuleCollider>(bc);

获取当前物体的父物体身上的某个组件。

GetComponentInParent<BoxCollider>();

给当前物体添加一个组件
gameObject.AddComponent<AudioSource>;

2.获取游戏物体

如何通过Empty物体上挂载的脚本,去获取Test 物体?

用代码通过游戏物体的名称来获取物体。

GameObject test = GameObject.Find("Test"); 

通过游戏标签来获取游戏物体。
test = GameObject.FindWithTag("Enemy");

3.通过代码的方式去示例化一个物体

现在有个预设体 Sphere ,如何去通过代码实例化。

首先获取预设体,然后拖拽预设体
public GameObject Prefab;



通过预设体来实例化一个游戏物体

lnstantiate(Prefab);

在实例化时还有其他用法。

通过指定位置和旋转来放置实例化的对象:

Instantiate(Prefab, new Vector3(x, y, z), Quaternion.Euler(rx, ry, rz));

将实例化的对象设置为指定父级对象的子对象:
Instantiate(Prefab, parentTransform);





       

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

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

相关文章

在很多nlp数据集上超越tinybert 的新架构nlp神经网络模型

在很多nlp数据集上超越tinybert 的新架构nlp神经网络模型 网络结构图测试代码网络结构图 测试代码 import paddle import numpy as np import pandas as pd from tqdm import tqdmclass FeedFroward(paddle.nn.Layer):

专业的调查问卷平台推荐:提升数据收集与分析效率

无论是学生还是职场人士&#xff0c;想做好一份调查问卷&#xff0c;关键先要确定调查的主题&#xff0c;然后确定调查人群&#xff0c;编辑问题&#xff0c;最后能够尽可能的美化问卷调查的主题。 想要做到这几点&#xff0c;就要要求问卷调查平台: 1、能够帮助你快速制作出一…

TA-Lib学习研究笔记(一)

TA-Lib学习研究笔记&#xff08;一&#xff09; 1.介绍 TA-Lib&#xff0c;英文全称“Technical Analysis Library”,是一个用于金融量化的第三方库&#xff0c;涵盖了150多种交易软件中常用的技术分析指标&#xff0c;如RSI,KDJ,MACD, MACDEXT, MACDFIX, SAR, SAREXT, MA,SM…

Ubuntu16.04.4系统本地提权实验

目录 1.介绍&#xff1a; 2.实验&#xff1a; 3.总结&#xff1a; 1.介绍&#xff1a; 1.1&#xff1a;eBPF简介&#xff1a;eBPF(extendedBerkeleyPacketFilter)是内核源自于BPF的一套包过滤机制&#xff0c;BPF可以理解成用户与内核之间的一条通道&#xff0c;有非常强大的…

免费好用的伪原创工具推荐,都是国内的人工智能AI

在当今数字化信息爆炸的时代&#xff0c;创作者们为了在激烈的竞争中脱颖而出&#xff0c;常常需要花费大量时间来创作独特的内容。然而&#xff0c;有时候时间并不是每个人都拥有充足的资源。于是&#xff0c;一些免费智能伪原创工具成为了许多创作者的利器&#xff0c;能够在…

fastReID论文总结

fastReID论文总结 fastReIDReID所面临的挑战提出的背景概念&#xff1a;所谓ReID就是从视频中找出感兴趣的物体&#xff08;人脸、人体、车辆等&#xff09;应用场景&#xff1a;存在的问题&#xff1a;当前的很多ReID任务可复用性差&#xff0c;无法快速落地使用解决方式&…

将原生Spring项目中某些配置文件中的易变内容参数化

&#x1f609;&#x1f609; 学习交流群&#xff1a; ✅✅1&#xff1a;这是孙哥suns给大家的福利&#xff01; ✨✨2&#xff1a;我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 &#x1f96d;&#x1f96d;3&#xff1a;QQ群&#xff1a;583783…

Making Reconstruction-based Method Great Again for Video Anomaly Detection

Making Reconstruction-based Method Great Again for Video Anomaly Detection 文章信息&#xff1a; 发表于ICDM 2022&#xff08;CCF B会议&#xff09; 原文地址&#xff1a;https://arxiv.org/abs/2301.12048 代码地址&#xff1a;https://github.com/wyzjack/MRMGA4VAD…

PM2 在线和离线部署uvicorn和fastapi项目过程

PM2介绍 PM2 is a daemon process manager that will help you manage and keep your application online 24/7 PM2是一个后台进程管理工具&#xff0c;能帮助管理应用和维持应用7*24小时运行。 PM2在线安装 npm install pm2 -gPM2离线安装(适用于内网) 参见 如何离线安装pm2…

Error running OrderServiceBoot. Command line is too long.

微服务启动不成功&#xff0c;报Error running OrderServiceBoot. Command line is too long. Shorten the command line via JAR manifest or via a classpath file and rerun. 解决&#xff1a; 方法一&#xff1a; 右上角启动小三角 -->Edit configuration–>-右侧…

接单平台在精不在多,劝诸位程序员找个好平台!

程序员想找兼职搞副业&#xff0c;结果知乎上逛了一大圈&#xff0c;各种平台推荐&#xff0c;可以说是眼花缭乱。要么就是平台一搜&#xff0c;各种劝退&#xff01;好好好&#xff0c;就问一句&#xff0c;还搞不搞&#xff1f;Of course~有钱还不赚的是傻子。加班摸鱼的时候…

多线程(初阶四:synchronized关键字)

目录 一、加锁的目的 二、加锁和解锁 三、加锁后是否会出现线程安全问题 1、两个线程&#xff0c;针对不同对象加锁 2、一个线程加锁&#xff0c;一个线程不加锁 3、针对加锁操作的一些混淆理解 &#xff08;1&#xff09;多个线程调用同一个类的方法&#xff0c;对其方…

(一)基于高尔夫优化算法GOA求解无人机三维路径规划研究(MATLAB)

一、无人机模型简介&#xff1a; 单个无人机三维路径规划问题及其建模_IT猿手的博客-CSDN博客 参考文献&#xff1a; [1]胡观凯,钟建华,李永正,黎万洪.基于IPSO-GA算法的无人机三维路径规划[J].现代电子技术,2023,46(07):115-120 二、高尔夫优化算法GOA简介 高尔夫优化算法…

8、CobaltStrike使用

文章目录 一、实验拓扑图二、实验步骤 一、实验拓扑图 二、实验步骤 1、登录"Kali"操作机&#xff0c;在终端中进入CS文件夹&#xff0c;然后使用命令chmod x teamserver给teamserver文件赋予执行权限&#xff0c;然后查看当前主机的本地IP地址。 2、启动服务端服务…

关于图像识别,你不得不知的三大要点

图像识别的重要性 图像识别不仅可以加速处理繁琐的任务&#xff0c;而且还可以比人工图像检查更快速或更准确地处理图像。图像识别是应用于诸多领域的关键技术&#xff0c;也是深度学习应用的主要驱动因素&#xff0c;如&#xff1a; 视觉检查&#xff1a;在制造过程中识别零部…

spring security 艰苦学习中

一、初次感知 1.jwt工具类 密钥secret 有点意思。 2.PasswordEncoder 对密码进行加密&#xff0c;在配置类中返回bean. 下面这个关于加密和解密的东西是有误导性的。

231129 刷题日报

本周值班第3天&#xff0c;今天终于收到二面电话&#xff0c;一度以为挂了。。加油卷&#xff01; 今天尊重下艾宾浩斯遗忘曲线&#xff0c;重复下前几天看的01背包&#xff0c;子集背包&#xff0c;完全背包。 416. 分割等和子集 518. 零钱兑换 II 38min做了一道新题&#…

Aruba无线控制器新增加AP

1、将网线连接上AP的Eth端口&#xff0c;console线也连接上console口 2、在console后台可以看到AP获取到的IP地址 3、确认网络可以联通&#xff0c;通过https访问web界面 AP205默认账号密码&#xff1a;admin AP505账号为admin&#xff0c;密码为设备SN 4、右上角点击"维…

基于单片机智能液位水位监测控制系统

**单片机设计介绍&#xff0c; 基于单片机智能液位水位监测控制系统 文章目录 一 概要特点应用场景工作原理实现方式 系统功能实时监测控制调节报警功能数据记录与分析 总结 二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 ## 系统介绍 基于单片机…

RabbitMQ消息模型之Sample

Hello World Hello World是官网给出的第一个模型&#xff0c;使用的交换机类型是直连direct&#xff0c;也是默认的交换机类型。 在上图的模型中&#xff0c;有以下概念&#xff1a; P&#xff1a;生产者&#xff0c;也就是要发送消息的程序C&#xff1a;消费者&#xff1a;消…