对于重复使用的游戏体可以将其制作成Perfab。首先在Project窗口中选择【Create】-【Prefab】创建一个空的Perfab。然后将该重复使用的游戏体拖到这个空的Perfab上就OK了。

比如说,gun发射子弹,子弹可以看作一个重复使用的游戏体,就可以将子弹制作成一个Perfab让gun去使用。

该怎么将gun和子弹的Perfab关联起来呢?

首先,需要在gun的脚本文件中添加一个Transform属性,这个属性用来指向子弹的Perfab。可以这样写:Public Transform  m_rocket;这样在gun的Inspector窗口中会增加一个Rocket选项,可以选择子弹的Perfab,或者将其拖动到Rocket选项上,即可实现gun与子弹的Perfab的关联。

如果gun要发射子弹,比如当我们按下空格键时,gun就发射一颗子弹。

可以这样写:

 if(Input.GetKey(KeyCode.Space))

 {

     //m_transform  是gun的Transform组件。

     Instantiate(m_rocket,m_transform.position,m_transform.rotation);

 }

Unity的游戏体只能使用Instantiate函数实例化,不能使用new。

Instantiate函数的介绍

函数原型:

staticfunction Instantiate (original:Object,position:Vector3,rotation: Quaternion):Object

作用:克隆原始物体并返回克隆物体。

克隆原始物体,位置设置在position,设置旋转在rotation,返回的是克隆后的物体。这实际上在Unity和使用复制(ctrl+D)命令是一样的,并移动到指定的位置。如果一个游戏物体,组件或脚本实例被传入,实例将克隆整个游戏物体层次,以及所有子对象也会被克隆。所有游戏物体被激活。

Unity3d之Perfab的更多相关文章

  1. Unity3d学习 预设体(prefab)的一些理解

    之前一直在想如果要在Unity3d上创建很多个具有相同结构的对象,是如何做的,后来查了相关资料发现预设体可以解决这个问题! 预设体的概念: 组件的集合体 , 预制物体可以实例化成游戏对象. 创建预设体 ...

  2. 【Unity3D】AR应用中,关于东南西北方位的判断。

    这篇文章的应用场景是这样子的: 首先我们要做的是一个带有LBS定位服务(比如高德地图.百度地图等)AR功能,在这个场景中,会有一些地图上的”点“(如派出所.学校)是我们需要显示在我们的AR镜头上的,如 ...

  3. Unity3D占用内存太大的解决方法

    原地址:http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大 ...

  4. 游戏开发设计模式之对象池模式(unity3d 示例实现)

    前篇:游戏开发设计模式之命令模式(unity3d 示例实现) 博主才学尚浅,难免会有错误,尤其是设计模式这种极富禅意且需要大量经验的东西,如果哪里书写错误或有遗漏,还请各位前辈指正. 原理:从一个固定 ...

  5. Unity3D内存释放

    Unity3D内存释放 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D 里有两种动态加载机制:一个是Resourc ...

  6. 于Unity3D动态创建对象和创建Prefab三种方式的原型对象

    于Unity3D动态创建对象和创建Prefab三种方式的原型对象 u3d在动态创建的对象,需要使用prefab 和创建时 MonoBehaviour.Instantiate( GameObject o ...

  7. unity3d 学习过程记录

    通过泰克在线,开始学习视频教程 1.学习 Unity3d零基础教学初级篇:熟悉一下unity编辑器结构和控件以及对控件的基本操作 2.学习Roll-a-ball小项目开发:通过练习制作小游戏,巩固所学 ...

  8. (转)Unity3D占用内存太大的解决方法

    自:http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大.  ...

  9. Unity3D占用内存太大怎么解决呢?

    最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个 ...

随机推荐

  1. mac重装系统

    通过 macOS 恢复功能启动macOS 恢复功能会根据您在电脑启动时按下的组合键来安装不同版本的 macOS.在按电源按钮打开 Mac 后,立即按住以下组合键之一.然后在看到 Apple 标志或旋转 ...

  2. CentOS使用EPEL YUM源

    刚刚开始学习centos,感觉很不适应,因为好多软件,yum里面居然没有,让我很不爽,一阵狂搜. 原来centos还有一个epel源,果然,不熟悉的东东,处处是坑啊! EPEL (Extra Pack ...

  3. modelsim与debussy联调环境的搭建

    为了方便查看波形,找来了一款软件——debussy,它的一个优点是任你查看设计内信号,只需一个波形文件,如FSDB文件.而不用像modelsim那样想看某些信号,添加了之后还要重新编译仿真,浪费了很多 ...

  4. ControlExtensionTest(一)

    #ifndef __CCCONTROLSCENE_H__ #define __CCCONTROLSCENE_H__ #include "cocos2d.h" #include &q ...

  5. JS页面跳转并及时刷新

    "<script type='text/javascript'>alert('操作成功!');window.history.go(-2);window.close();</ ...

  6. 每日英语:Prosecutors Wrap Up Case Against Bo

    Prosecutors wrapped up their case against Bo Xilai on Sunday, sparring with the defiant former Commu ...

  7. js添加收藏夹

    <a href="JavaScript:window.external.AddFavorite('http://baidu.com','百度')"> 添加到收藏夹 &l ...

  8. Frosh Week

    Problem Description During Frosh Week, students play various fun games to get to know each other and ...

  9. 一款纯css3实现的超炫动画背画特效

    之前为大家介绍了很多款由纯css3实现的特效.今天要再给大家带来一款纯css3实现的超炫动画背画特效.代码非常简单,没有引用任何其它js代码.css代码也不多.效果非常炫.一起看下效果图: 在线预览  ...

  10. C#创建资源文件

    资源文件顾名思义就是存放资源的文件.资源文件在程序设计中有着自身独特的优势,他独立于源程序,这样资源文件就可以被多个程序使用.同时在程序设计的时候,有时出于安全或者其他方面因素的考虑,把重要东西存放在 ...