Unity3D入门 第叁章:Prefabs(预设)与 Instantiate(实例化)

2024-03-23 16:32

本文主要是介绍Unity3D入门 第叁章:Prefabs(预设)与 Instantiate(实例化),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

04.jpg
叁章 Prefabs(预设)与 Instantiate(实例化)

解释:Prefabs(预设)是一种资源类型,可被重复使用的游戏对象。它可以被置入多个场景中,又或者能够在一个场景中被多次置入。当你在一个场景中增加一个Prefabs,你就实例化了一个Prefabs。所有Prefabs实例都是Prefab的克隆,只要Prefabs原型发生改变,所有的Prefabs实例都会产生变化。

Prefabs的用法:如果大家要创建一些想要重复使用的东西,那么就该用到它了。

接下来我们写个小例子,看看如何使用它

1 搭建如下场景:一个地板,一个下落的立方体,调整摄像机的角度和位置,加个平行光,位置参考下图的Scene窗口,效果如Game窗口展示的那样。同时给立方体加上刚体属性(Component -> Physics -> Rigidbody)
01.jpg
然后调整一下立方体的角度,运行一下,让它滚一下。

2  创建Prefabs

在Preject窗口,点Create-> Prefab。然后我们从Hierarchy窗口中将立方体拖到Project窗口新创建的Prefab上。当Hierarchy中的立方体变成了蓝色,Prefabs就完成了填充。

02.jpg
然后你从Preject窗口中将创建的Prefabs拖入Scene窗口中,运行一下。就完成了一次克隆。它们就像双胞胎一样。

3  接着我们配合Instantiate,来用代码创建多个Prefabs的实例。

Instantiate:克隆原始物体。设置位置,角度。如果一个对象,组件,脚本实例被传入。将克隆整个对相爱难过的层次,以及所有子对象。

各位同学,让我们在Project窗口点Create -> Javascript创建一个脚本

我发现可以用as3的写法来写这里面的js,各位同学请看

  1. public var Pre:GameObject;//在编辑器中用来绑定的Prefabs
  2. private function Update ():void
  3. {
  4.         var instance:GameObject=Instantiate(Pre,transform.position,transform.rotation);
  5.         //Instantiate用法,注意参数
  6. //Pre  用来克隆的Prefabs
  7.         //transform.position  脚本绑定对象的位置 就像this.transform….
  8.         //transform.rotation  脚本绑定对象的角度 就像this.transform….
  9. }

复制代码

是不是有很亲切的感觉?

4 写完脚本,我们要把它绑定到一个对象上。这时候,我们可以删除Hierarchy窗口中的立方体,然后创建一个空的游戏对象(GameObject->Create Empty),放置到原来立方体的位置上。将脚本拖放到Hierarchy窗口中的新键的空对象上,让它来执行代码。

5 在Hierarchy窗口中单击空对象,在它的Inspector窗口中就能看到绑定的脚本。然后我们把早前创建的Prefabs拖到脚本Pre右边的框上,完成了脚本中变量的绑定。
03.jpg
6 按小三角运行一下,搞的像粒子效果一样,是不是很嗨?
04.jpg

 

转载自:Unity3D入门 第叁章:Prefabs(预设)与 Instantiate(实例化)

这篇关于Unity3D入门 第叁章:Prefabs(预设)与 Instantiate(实例化)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/838906

相关文章

java图像识别工具类(ImageRecognitionUtils)使用实例详解

《java图像识别工具类(ImageRecognitionUtils)使用实例详解》:本文主要介绍如何在Java中使用OpenCV进行图像识别,包括图像加载、预处理、分类、人脸检测和特征提取等步骤... 目录前言1. 图像识别的背景与作用2. 设计目标3. 项目依赖4. 设计与实现 ImageRecogni

Java操作ElasticSearch的实例详解

《Java操作ElasticSearch的实例详解》Elasticsearch是一个分布式的搜索和分析引擎,广泛用于全文搜索、日志分析等场景,本文将介绍如何在Java应用中使用Elastics... 目录简介环境准备1. 安装 Elasticsearch2. 添加依赖连接 Elasticsearch1. 创

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

MySQL的索引失效的原因实例及解决方案

《MySQL的索引失效的原因实例及解决方案》这篇文章主要讨论了MySQL索引失效的常见原因及其解决方案,它涵盖了数据类型不匹配、隐式转换、函数或表达式、范围查询、LIKE查询、OR条件、全表扫描、索引... 目录1. 数据类型不匹配2. 隐式转换3. 函数或表达式4. 范围查询之后的列5. like 查询6

Python开发围棋游戏的实例代码(实现全部功能)

《Python开发围棋游戏的实例代码(实现全部功能)》围棋是一种古老而复杂的策略棋类游戏,起源于中国,已有超过2500年的历史,本文介绍了如何用Python开发一个简单的围棋游戏,实例代码涵盖了游戏的... 目录1. 围棋游戏概述1.1 游戏规则1.2 游戏设计思路2. 环境准备3. 创建棋盘3.1 棋盘类

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多