Unity预制体Prefab及其实例化(Instantiate)

2023-11-10

简介:
在Unity3D工程建设中,Prefabs(预设)是很常用的一种资源类型,是一种可以被重复使用的游戏对象

  • 可以被置入多个场景中,也可以在一个场景中多次置入
  • 在场景中增加一个Prefab,就是实例化了一个Prefab
  • 所有的Prefab实例都是Prefab的克隆,在运行中生成的对象会有Clone标记
  • 只要Prefab原型发生改变,所有的Prefab实例多会发生变化

Prefabs用法,创建可复用资源,例程开始:

搭建基础场景

地板 floor,在其上方放置立方体Cube,调整好摄像机角度和位置,加上DirectionLight(平行光)
Cube添加上刚体属性(Component -> Physics ->Rigidbody )
在这里插入图片描述

创建预制体Prefab

在Project窗口创建,右击Create ->Prefabs,创建预制体文件夹。
在Hierarchy窗口中将Cube拖拽到Prefabs文件夹中,可看到Hierarchy中的Cube变成了蓝色,预制体便制作完成。

可以Ctrl + p运行程序,将Prefabs中的Cube直接拖动到Hierarchy中,便会看到两个一模一样的Cube,多次拖入,
便会有多个Cube
在这里插入图片描述

批量创建预制体
using UnityEngine;

public class TestPrefabs : MonoBehaviour
{
    public GameObject cubeObject;

    //void Start()
    //{
    //    Instantiate(cubeObject, transform.position, transform.rotation);
    //}

    void Update()
    {
        Instantiate(cubeObject, transform.position, transform.rotation);
    }
}

然后将改脚本挂在到Cube上,成为其组件的一部分,然后将预制体中的Cube填充GameObject cubeObject(将其拖动到public组件框中)

运行结果

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity预制体Prefab及其实例化(Instantiate) 的相关文章

  • 【Unity2d】带你制作一款类似于金山打字的小游戏

    博主大概08年开始接触电脑游戏 当时玩的是我哥的电脑 那时候家里没网 只可以玩电脑上自带的单机游戏 比如扫雷 蜘蛛纸牌等等 当然还有红色警戒 冰封王座 星际争霸 帝国崛起等等 这些大概是我哥当时在大学下载的 也是那个时候对游戏充满了兴趣 记
  • Unity 资源加载卸载过程

    什么时候才是UnusedAssets 看一个例子 Object obj Resources Load MyPrefab GameObject instance Instantiate obj as GameObject Destroy in
  • Unity单元测试流程

    文章目录 环境 流程 1 创建一个存放 单元测试程序集 的目录 2 打开 Test Runner 窗口 3 选择单元测试模式 4 创建单元测试程序集 5 创建测试脚本 6 运行测试 环境 Unity 2020 3 3f1 流程 1 创建一个
  • Unity3d Terrain地形制作系列(一)

    游戏简单地形 地形制作 地形制作 第一步在场景里加载一个地形对象 第二步 我们在属性面板里找到绘制地形 然后选择Set Height 绘制高度 应该我们要制作低凹的效果 所有先让他有个高度 不然是不能实现低凹的效果 如图 我们然后选择绘制地
  • Unity中loading页加载的实现

    首先创建一个Global cs 使用单例用于存储场景的名字 便于后续脚本的调用 此脚本不必挂载在游戏物体上 using UnityEngine using System Collections public class Global Mon
  • Unity Animator 动画没切换

    恶魔射手 Survival Shooter 项目 有两个动画 一个是静止时的Idle 一个是走路时候的Move 如下图 设置好动画状态机后发现按方向键后还是Idle 没反应 而一直按着方向键后呢又动起来了 最后找到了真相 原来选中了 Has
  • unity制作一个可以自由滑动收缩的历史记录功能。

    公司在做一款模拟经营类的卖车游戏 需要一个简单的历史记录功能 放在左上角 记录最近20条的收入 支出记录 超过2秒不动则收起 收起时展示最近的一个消息记录 用到的组件是ScrollView 使用方法可以参考我写过的一篇博客 ScrollVi
  • Unity 分块延迟渲染01 (TBDR)

    现代移动端图形体系结构的概述 现代SoC通常会同时集成CPU和GPU CPU被用于处理需要低内存延迟的序列 大量分支的数据集 其晶体管用于流控制和数据缓存 GPU为处理大型 未分支的数据集 如3D渲染 晶体管专用于寄存器和算术逻辑单元 而不
  • Unity动画控制器animator.CrossFade

    需要特别注意 1 CrossFade虽然可以不用任何逻辑来链接而直接跳转 但是CrossFade只能覆盖其他动画 当当前动画播放完毕而没有跳出这个动画时再次调用CrossFade将会失败 造成动画依旧停在原位 参数animator Cros
  • Unity中按钮检测鼠标状态

    改方法主要是用于按钮检测鼠标的进入 滑出 点击 抬起 长按 长按停止 1 先将下面这个脚本挂载到需要检测鼠标状态的按钮上 using System Collections using System Collections Generic u
  • unity后台加密时间锁

    前言 在做一些项目的时候 有些不良甲方在给完项目后会有不给尾款的情况 之前都是加一些水印啥的 感觉不是很方便 第一不美观 第二如果甲方给完尾款后还得重新打包去水印 然后又做过一个本地的时间锁 等到时间 程序直接退出 但是感觉还是不方便 有时
  • Unity 键盘控制人物移动——之输入方式代码的编写

    键盘输入 控制人物移动 在我们制作游戏中最常见的需求之一就是使用键盘移动游戏角色 那么我们首先需要获取键盘输入 以下提供两种方法获取键盘 这里尽量通过截图解释让大家理解代码的含义 GetInput void FixedUpdate Move
  • Unity保存图片到相册

    Unity保存图片到Android相册 Java 纯文本查看 复制代码 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
  • unity 性能查看工具Profiler

    文章目录 前言 profiler工具介绍 菜单栏 帧视图 模块视图 模块详细信息 通过profiler分析优化游戏性能 最后 前言 每次进行游戏优化的时候都用这个工具查看内存泄漏啊 代码优化啊之类的东西 真的好用 但是之前也就是自己摸索一下
  • unity3d切换场景Application.LoadLevel(1)含义

    Application LoadLevel 1 场景ID
  • 【Unity】运行时创建曲线(贝塞尔的运用)

    Unity 运行时创建线 贝塞尔的运用 1 实现的目标 在运行状态下创建一条可以使用贝塞尔方法实时编辑的网格曲线 2 原理介绍 2 1 曲线的创建 unity建立网格曲线可以参考 Unity程序化网格体 的实现方法 主要分为顶点 三角面 U
  • U3D游戏开发中摇杆的制作(NGUI版)

    在PC端模拟摇杆 实现控制摇杆让玩家或者物体移动 以下是完整代码 using System Collections using System Collections Generic using UnityEngine public clas
  • 游戏开发常见操作梳理系列之——玩家信息的显示系统

    在游戏中 有不少游戏在左上角会出现玩家的头像和等级以及血量 这就是玩家的信息显示系统 那么这些是如何制作的呢 接下来我将讲讲代码的操作 其它操作我会在其它笔记中一一说明 敬请期待 信息的显示相当简单就是控制一些UI 然后在其它系统里面填写相
  • 游戏开发常用实践操作之按动任意键触发

    接下来一些笔记会对于一些大大小小的实践操作进行记录 希望对你有所帮助 在游戏中 我们经常会遇到一些按动任意键触发的操作 接下来展示核心代码 以下是对于Unity中的操作 使用的UI是NGUI 对于核心操作没有影响 你可以自己置换 void
  • 游戏开发常见操作系列之敌人系统的开发一(U3D)

    在开发游戏的过程中 我们常常会出现一些敌人攻击我们玩家 并且实现掉血以及死亡的现象 敌人还会源源不断地生成 这是怎么制作的呢 接下来为大家提供方法 其中使用了NGUI 后续会更新其它方法 敬请期待 使用HUDText实现扣血时显示文本 直接

随机推荐

  • js上传视频获取第一帧截图

    1 获取视频的url 如果是file文件 先转成url file转url方法 function getFileURL file var url null if window createObjectURL undefined basic u
  • Harbor2.1私服的搭建

    Harbor2 1私服的搭建 基础环境的搭建 替换国内yum源 curl o etc yum repos d CentOS Base repo http mirrors aliyun com repo Centos 7 repo yum m
  • CTF-Web小白入门篇超详细——了解CTF-Web基本题型及其解题方法 总结——包含例题的详细题解

    很久之前经过一次比赛的打击 决定不能只是一直盲目的刷基础题 应该加快进度 从各种基本题型开始下手 每种题型都应该去找题目刷一刷 并做好总结 于是我去搜了一些总结的文章 便找到了一篇很好的 觉得看完后有点豁然开朗的感觉 所以本文是在该文章的基
  • Th4.6:模板全特化、偏特化(局部特化)详述

    本小节回顾的知识点分别是模板全特化 偏特化 局部特化 今天总结的知识分为以下4个大点 1 特化与泛化 2 类模板特化 2 1 类模板全特化 a 常规全特化 b 特化模板类的成员函数而不是类模板本身 2 2 类模板偏特化 局部特化 a 从模板
  • IP175G参考资料和引脚图

    特性 5端口嵌入式10 100PHY开关控制器 支持5100BaseTX IP175G 或4100BaseTX 85nm 技术 只需要3 3V单通道 1FX IP175GH 支持1KMAC地址表项 448K位包缓冲存储器 100MPHY支持
  • 【Vue】— nextTick原理

    文章目录 前言 发现问题 异步更新 nextTick源码分析 总结 补充 MutationObserver 前言 在做项目的时候 我们经常会用到nextTick 简单的理解就是它就是一个setTimeout函数 将函数放到异步后去处理 将它
  • 1.4软件测试原则与策略

    一 软件测试原则 1 尽早进行 最好在需求阶段就开始介入 因为最严重的错误不外乎是系统满足不了用户的需求 2 开发人员应该避免检查自己的程序 软件测试应该由第三方人员 测试人员 来负责 3 设计测试用例时应该考虑到合法和不合法的输入 例如
  • WIN10超级终端下载链接及使用教程

    地址见文末 1 直接运行 随便命名 2选择连接的COM口 3 选择对应的波特率 我的是115200 数据流控制选择无 4点击应用 给开发板上电即可 链接一 https pan baidu com s 1iDf16H8BsZ53lOVqmQO
  • Java将svg转化成png_java – 如何将SVG转换成PNG

    我尝试将svg转换成PNG svg文档来自作为输入流的服务器 首先 我将svg流转换成字节数组 byte streamBytes IOUtils toByteArray svgStream 然后使用以下代码将字节转换为OutputStrea
  • Phaser.js教程

    从零到一 用Phaser js写意地开发小游戏 https segmentfault com a 1190000009212221
  • python列表排序方法-python list排序的两种方法及实例讲解

    对List进行排序 Python提供了两个方法 方法1 用List的内建函数list sort进行排序 list sort func None key None reverse False Python实例 1 2 3 4 5 6 gt g
  • 移动网络运营商显示无服务器,无线路由器忽然拨不上号,显示网络运营商远端无响应怎么处理...

    如果是有猫的环境 1 就从猫的哪个接口连接网线到路由WAN口 1 如果不需要拨号就可以上网 看下电脑平时不接路由器是连在猫的哪个接口上网 4 10M选择10M全双工 点击系统工具 重启路由器 超易安装界面的路由器1 祝您工作顺利 如果还是网
  • 人工智能革命:超级智能之路(上)

    这篇文章翻译于Tim Urban大神的 The AI Revolution 的系列文章 下面让我们一起领略一下Tim Urban大神理解的人工智能革命是怎样的吧 文章目录 遥远的未来 即将到来 超级智能之路 人工智能 我们目前在哪里 一个在
  • Echarts重绘报错 The image argument is a canvas element with a width or height of 0

    Echarts重绘报错 原因在于绘制时 未正确获取到画布的宽高 在容器内写入行内样式 即可解决
  • Unity 3D 人形角色动画(Avatar)||Unity 3D 导航系统||Unity 3D 障碍物

    Unity 3D 人形角色动画 Avatar Mecanim 动画系统适合人形角色动画的制作 人形骨架是在游戏中普遍采用的一种骨架结构 由于人形骨架在骨骼结构上的相似性 用户可以将动画效果从一个人形骨架映射到另一个人形骨架 从而实现动画重定
  • 基础入门-数据包拓展

    Request请求数据包数据格式 1 请求行 请求类型 请求资源路径 协议的版本和类型 2 请求头 一些键值对 浏览器与 web 服务器之间都可以发送 特定的某种含义 3 空行 请求头与请求体之间用一个空行隔开 4 请求体 要发送的数据 一
  • 22-Go操作mysql

    安装mysql docker快速启动一个MySQL Server容器 docker run name mysql8019 p 3306 13306 d e MYSQL ROOT PASSWORD root1234 mysql 8 0 19
  • 编译原理递归下降分析器(语法分析器)(C/C++)

    include
  • dumpbin.exe简要使用说明

    该工具可以查看 exe的依赖文件 查看dll的导入及导出符号等 在命令行中输入dumpbin并回车 可显示所有选项 主要选项有 ALL 此选项显示除代码反汇编外的所有可用信息 可以与 RAWDATA NONE一起省略文件的原始二进制详细资料
  • Unity预制体Prefab及其实例化(Instantiate)

    简介 在Unity3D工程建设中 Prefabs 预设 是很常用的一种资源类型 是一种可以被重复使用的游戏对象 可以被置入多个场景中 也可以在一个场景中多次置入 在场景中增加一个Prefab 就是实例化了一个Prefab 所有的Prefab