Unity3d之Perfab

对于重复使用的游戏体可以将其制作成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就发射一颗子弹。

可以这样写:

1 if(Input.GetKey(KeyCode.Space))
2
3 {
4
5     //m_transform  是gun的Transform组件。
6
7     Instantiate(m_rocket,m_transform.position,m_transform.rotation);
8
9 }

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

Instantiate函数的介绍

函数原型:

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

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

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

时间: 2024-11-10 07:08:01

Unity3d之Perfab的相关文章

unity3D游戏开发学习之使用perfab(预设)创建很多导弹并发射

unity中,perfab是一个很重要的知识点,它是可重复利用的Game Object.这使我联想到cocos2dx中的CCSpriteBatchNode批次渲染可以大大提高渲染效率.同样,unity中的perfab使用批量物体的渲染如大量子弹.城墙等.好,下面我们来在unity中创建导弹. 一.导入3D模型 如果还不知道如何制作简单的3D导弹模型,或者没有该模型的,可以参考这篇文章: http://blog.csdn.net/wangbin_jxust/article/details/2467

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

之前一直在想如果要在Unity3d上创建很多个具有相同结构的对象,是如何做的,后来查了相关资料发现预设体可以解决这个问题! 预设体的概念: 组件的集合体 , 预制物体可以实例化成游戏对象. 创建预设体的作用: 可以重复的创建具有相同结构的游戏对象. .1下面来讲解一下如何制作一个简单的预设体(上下为流程和结果图): .2 创建多个prefabs_new(代码,结果图): 1 using UnityEngine; 2 using System.Collections; 3 4 //[Execute

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

原文链接:http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大. Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBund

unity3d 学习过程记录

通过泰克在线,开始学习视频教程 1.学习 Unity3d零基础教学初级篇:熟悉一下unity编辑器结构和控件以及对控件的基本操作 2.学习Roll-a-ball小项目开发:通过练习制作小游戏,巩固所学的基本内容,GameObject,Rigidbody\Collidder, Perfab,(Script) Controller and so on 3.学习UGUI开发实践:系统的学习unity内置组件的属性和接口,了解其在场景中的使用方法,并初步运用组件进行系统UI开发

Unity3D占用内存太大的解决方法【先转,慢慢看】

Unity3D占用内存太大的解决方法 最近网友通过网站搜索Unity3D在手机及其他平台下占用内存太大. 这里写下关于Unity3D对于内存的管理与优化. Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大. Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时 动态加载,可以指定路径和来源的. 其实场景里所有静态的对象也有这么一

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

前篇:游戏开发设计模式之命令模式(unity3d 示例实现) 博主才学尚浅,难免会有错误,尤其是设计模式这种极富禅意且需要大量经验的东西,如果哪里书写错误或有遗漏,还请各位前辈指正. 原理:从一个固定的池中重用对象,来提升性能和内存的使用,而不是一个一个的分配内存在释放它们.当你需要创造大量重复的对象,而且经常使用这些对象,你就要考虑使用对象池了,因为反复创建销毁就是一个内存反复分配与释放的过程,很容易产生内存碎片.在主机和移动端与PC相比内存稀缺,我们都希望游戏能够更加稳定,而不能有效的管理内

泰课在线的:HTC Vive 基础入门 基于Unity3D引擎

任务1: 关注公众号即可下载本视频教程 任务2: 01-概述 07:08 任务3: 02-HTC Vive设备的安装 08:33 任务4: 03-下载Steam与SteamVR 03:05 任务5: 04-使用Steam VR 调试设备 14:40 任务6: 05-下载Unity3D 03:24 任务7: 06-配置Unity VR开发环境 09:43 任务8: 07-Steam VR插件的基本使用 20:25 任务9: 08-VR开发初体验 07:15 .net大神老师给我扫盲了,从一点没接触

unity3d 项目源码下载链接

2-1 炉石传说 客户端加服务器端 链接:http://pan.baidu.com/s/1dDKY3Fr 密码:c03q 2-2 新仙剑奇侠传 链接:http://pan.baidu.com/s/1b4QVqI 密码:dic5 2-3 unity3d 战斗卡牌<变身吧主公>客户端+服务器源码 链接:http://pan.baidu.com/s/1kUpot51 密码:i02u 2-4 降临OL-U3D全套源码 链接:http://pan.baidu.com/s/1sktLQ5v 密码:we0g

Unity3D 视频教程列表,列表共 91 套

[000001]<Unity3D Platform 中文视频教程>[7课时] [000002]<Unity3D 游戏蛮荒之地教学视频>[15课时] [000003]<Unity3D 坦克克星视频教程>[9课时] [000004]<Unity3D 太空射击游戏中文视频>[17课时] [000005]<Unity3D 切水果视频教程>[9课时] [000006]<Unity3D 精神時光屋>[5课时] [000007]<Unity3