1.什么是Prefab?

Prefab又被称为预设,以下部分来自官网:预置是一种资源类型——存储在项目视图中的一种可反复使用的游戏对象。预置能够多次放入到多个场景中。

当你加入一个预置到场景中,就创建了它的一个实例。全部的预置实例链接到原始预置。基本上是它的克隆。

无论你的项目存在多少实例。当你对预置进行不论什么更改。你将看到这些更改将应用于全部实例。

当预置源发生变化,这些变化将应用于全部已链接的游戏对象。比如。假设加入一个新的脚本到预置。全部已链接的游戏对象都将立马包括该脚本。

可是。它有可能改变一个单独实例的属性,同一时候保持链接。

改变不论什么一个预置实例的属性,能够看到变量名称变为粗体。如今该变量能够被重写。全部的重写属性不会影响预置源的变化。

这使你能够改动预置实例使它们变得独一无二,而不破坏它们与预置源之间的链接。

2.Prefab有哪些特点、长处?

a. Prefab一个重要的优势就是编辑prefab资源后。场景中所有使用Prefab克隆的游戏对象将所有使用新编辑的资源。无需一个一个的给场景中的对象赋值。

b.当游戏中须要频繁创建一个物体时,使用Prefab可以节省内存。

c.当你在一个场景中添加一个Prefabs。你就实例化了一个Prefabs。

3.什么情况下使用Prefab呢?

假设须要频繁的创建一些反复的物体时。就应该使用Prefab

4.Prefab与常规资源的差别?

Prefab实际上是资源的一些组合链接(个人观点)。

5.Prefab相关接口

PrefabUtility.CreatePrefab(prefabpath, prefabobj);
PrefabUtility.ReplacePrefab(...);
EditorApplication.SaveAssets();

[Unity-21] Prefab具体解释的更多相关文章

  1. unity, 保存prefab时material丢失问题

    在程序运行时用replacePrefab(gameObj,prefab)或createPrefab(gameObj,prefab)保存prefab,遇到保存出来的prefab中material丢失的问 ...

  2. Unity随机Prefab,自动前往某点处理

    对与U3D  AI,看了下,自己做了小功能,以备后用啊! 一,在某区域随机产生某个对象 C# 文件名称为RadomAPoint.cs using UnityEngine; using System.C ...

  3. unity的prefab(预设)例子

    prefab用于预先设置一些控件,在需要的时候直接引用,简化开发,当然,你完全可以用写代码解决 在场景内新建一个空物体,绑定一个脚本 void Start () { GameObject cube = ...

  4. unity, break prefab instance

    菜单->GameObject->Break Prefab Instance,可以打断prefab实例与prefab的连接. 一个用处是:比如想从sceneA拷贝一部分Hierarchy结构 ...

  5. unity 查看prefab层次

    点那个箭头,可以展开:

  6. 5. Unity脚本的执行顺序

    Unity是不支持多线程的,也就是说我们必须要在主线程中操作它,可是Unity可以同时创建很多脚本,并且可以分别绑定在不同的游戏对象身上,他们各自都在执行自己的生命周期感觉像是多线程,并行执行脚本的, ...

  7. Unity Shader入门教程(一)

    参考文献:http://www.360doc.com/content/13/0923/15/12282510_316492286.shtml Unity Shader是着色器,将纹理.网格信息输入,得 ...

  8. 【Unity游戏开发】UGUI不规则区域点击的实现

    一.简介 马三从上一家公司离职了,最近一直在出去面试,忙得很,所以这一篇博客拖到现在才写出来.马三在上家公司工作的时候,曾处理了一个UGUI不规则区域点击的问题,制作过程中也有一些收获和需要注意坑,因 ...

  9. 【Unity笔记】Awake()和Start()的区别

    Awake在MonoBehavior创建后就立刻调用,Start将在MonoBehavior创建后在该帧Update之前,在该Monobehavior.enabled == true的情况下执行. v ...

随机推荐

  1. python 深复制和浅复制

    https://www.python-course.eu/python3_deep_copy.php-------------------------------------------------- ...

  2. vsftp虚拟用户方式访问

    需求:外部人员需要对公司服务器上某个文件夹内容进行读写操作 文件目录信息:/opt/abc drwxr-xr-x 9 www  www       4096 12月  4 13:02 abc   #注 ...

  3. nodejs学习(二) ---- express中使用模板引擎jade

    系列教程,上一节教程  express+nodejs快速创建一个项目 在创建一个项目后,views目录下的文件后缀为 .jade . 打开 index.jade,具体内容如下图(忽略 header.j ...

  4. 安装php扩展(以swoole)为例

    一.下载swoole到/usr/local/src目录下,操作 git clone https://gitee.com/swoole/swoole.git; 二.cd swoole,phpize(如果 ...

  5. JavaScript小技巧整理篇(非常全)

    能够为大家提供这些简短而实用的JavaScript技巧来提高大家编程能力,这对于我来说是件很开心的事.每天仅花上不到2分钟的时间中,你将可 以读遍JavaScript这门可怕的语言所呈现给我们的特性: ...

  6. Bootstrap-Table 总结

    Bootstrap-Table 总结 jQuery Java Bootstrap-Table JS文件 传参:直接将需要的参数置于 queryParams 方法中,例如 line:formData注意 ...

  7. uva 327 - Evaluating Simple C Expressions

     Evaluating Simple C Expressions  The task in this problem is to evaluate a sequence of simple C exp ...

  8. 杭电 2111 Saving HDU (贪心)

    Description 话说上回讲到海东集团面临内外交困,公司的元老也只剩下XHD夫妇二人了.显然,作为多年拼搏的商人,XHD不会坐以待毙的.   一天,当他正在苦思冥想解困良策的时候,突然想到了自己 ...

  9. Centos下安装X Window+GNOME Desktop+FreeNX

    FreeNX是近年来继VNC之后新出现的远程控制解决方案,基本原理是将XWindows的信号压缩后传输到远程客户端显示,而VNC是直接截取 屏幕图像处理传输.这样,在同样的传输信道条件下,FreeNX ...

  10. [K/3Cloud] 代码中设置某个字段必录

    Control ctl = this.GetControl(fieldKey); FieldEditor editCtl = ctl as FieldEditor; if (editCtl != nu ...