Unity3D之预设
预设的两个特性:
1.重用性。可以使我们快速方便的创建大量的重复性资源。这种创建是通过预设的实例化Instance操作来完成的
在Hierarchy视图中将实例物理添加到Assests中,此时图标变成蓝色的小方块,只需将其拖拽到Scene视图中即可完成预设的创建(即Instance克隆),修改原始实例即可完成所有克隆实例的修改。此特性称为预设的继承性。也可修改克隆实例的对象,此时其修改的属性标签粗体显示,对原始实例的修改不会影响到单独实例的修改。达到修改克隆实例的一部分的效果,当点击Apply时,所有的克隆实例及原始实例都使用此属性了(字体不再是粗体表明不再是重载了)此特性称为预设的重载特性(Override)。
2.运行实例化。运行实例化是指我们可以在程序运行进执行实例化操作。
首先,建一个C#脚本
using UnityEngine;
using System.Collections;
public class prefabbrick : MonoBehaviour {
public Transform brick;
// Use this for initialization
void Start () {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
Instantiate(brick,new Vector3(i,j,0f),Quaternion.identity);
}
}
}
}
然后在 Unity编辑窗口新建Cube,在Project视图中创建一个新的prefab,重命名为brickprefab,拖拽Cube物体到brick预设中,此时brickprefab图标变为蓝色小方块,Cube可以删除,然后拖拽brick脚本到空的游戏对象,并将brickprefab赋值给公共变量brick.
效果如下图所示:

Unity3D之预设的更多相关文章
- Unity3d学习 预设体(prefab)的一些理解
之前一直在想如果要在Unity3d上创建很多个具有相同结构的对象,是如何做的,后来查了相关资料发现预设体可以解决这个问题! 预设体的概念: 组件的集合体 , 预制物体可以实例化成游戏对象. 创建预设体 ...
- Unity3D 基于预设(Prefab)的泛型对象池实现
背景 在研究Inventory Pro插件的时候,发现老外实现的一个泛型对象池,觉得设计的小巧实用,不敢私藏,特此共享出来. 以前也看过很多博友关于对象池的总结分享,但是世界这么大,这么复杂到底什么样 ...
- Unity读取AssetBundle资源全教程(所有读取方式)
读取/加载 AssetBundle 资源的多种方式 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Ch ...
- Unity3d热更新全书-加载(二)如何在不用AssetBundle的前提下动态加载预设
Unity3D的主要构成大家都知道,首先是场景图,场景图上的节点构成一颗树. 每个节点对应一个GameObject对象 然后每个GameObject有若干个组件 有一些组件会与资源产生关系,比如Mes ...
- Unity3D 预设打包的注意事项
在平时的开发中,把预设打包成 assetbundle 文件是非常普遍的做法,但是我们不能随便把预设打包成 assetbundle 就算完事,我们应该先清楚把预设打包成 assetbundle 的目的, ...
- Unity3d中如何查找一个脚本被挂在那些预设上面?
用一个脚本函数可以获取到选择的脚本文件被哪些预设和场景引用 [MenuItem("Assets/Tool/GetReference")] static void GetRefere ...
- 【Unity3D】资源对象、预设、查找对象、组合模式等知识点
1.解释对象与资源区别于联系,根据官方案例,分别总结资源和对象组织的规则/规律. 下载并查看了Adam和Survival Shooter tutorial两个官方资源案例,这些案例作为资源,可以 ...
- Egret3D研究报告(二)从Unity3D导出场景到Egret3D
Egret3D暂时没有场编的计划,但是我们知道unity3D是一个很好的场编. 有一些游戏即使不是使用Unity3D开发,也使用Unity3D做场编.这里就不点名了,而且并不在少数. 我们就这么干. ...
- 【译】Unity3D Shader 新手教程(1/6)
本文为翻译,附上原文链接. 转载请注明出处--polobymulberry-博客园. 刚开始接触Unity3D Shader编程时,你会发现有关shader的文档相当散,这也造成初学者对Unity3D ...
随机推荐
- hadoop 2.x HA(QJM)安装部署规划
一.主机服务规划: db01 db02 ...
- hyperledger
http://hyperledger-fabric.readthedocs.io/en/latest/prereqs.html https://github.com/hyperledger/block ...
- 卸载重装ArcGIS Enterprise 注意事项
ArcGIS Enterprise ,通俗的讲,即“ArcGIS Server 10.5+ 版本” 强烈建议参考文档: windows环境安装ArcGIS Enterprise ,http://zhi ...
- 删除未加入svn版本控制的文件(包括文件夹)
删除未加入svn版本控制的文件(包括文件夹) svn status | grep '^?' | awk '{print $2}' | xargs rm -rf
- 详解回调函数——以JS为例解读异步、回调和EventLoop
回调,是非常基本的概念,尤其在现今NodeJS诞生与蓬勃发展中变得更加被人们重视.很多朋友学NodeJS,学很久一直摸不着门道,觉得最后在用Express写Web程序,有这样的感觉只能说明没有学懂 ...
- SQL Server表分区-水平分区
SQL Server表分区,sql server水平分区 转自:http://www.cnblogs.com/knowledgesea/p/3696912.html 根据时间的,直接上T-SQL代码 ...
- (转)How to Use Elasticsearch, Logstash, and Kibana to Manage MySQL Logs
A comprehensive log management and analysis strategy is vital, enabling organizations to understand ...
- Razor中的@:和语法
用Razor实现流畅编程 Razor尽量减少编写一个视图模板需要敲入的字符数,实现快速流畅的编程工作流.与大部分模板的语法不同,你不必在HTML中为了明确地标记出服务模块 的开始和结束而中断编程.Ra ...
- python图片处理(二)
未经允许,请勿转载!!!! 这次打算先写处理图片的方法,然后再调用方法来运行 下面先写的是处理图片的方法: # -*- coding: utf-8 -*- import os import matpl ...
- 使用TreeView加载XML文件
PS: 由于小弟初学编程,本文只写实现方式,代码写的不是很好请见谅! 1.需要读取的xml文档内容 2. 最终实现效果 3 貌似看起实现起来很复杂 但是想想还是挺简单 思路: 读取XML文档 →获 ...