当前位置:首页 > 开发教程 > 手机开发 >

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

时间:2014-04-30 09:01 来源: 作者: 收藏

unity中,perfab是一个很重要的知识点,它是可重复利用的Game Object。这使我联想到cocos2dx中的CCSpriteBatchNode批次渲染可以大大提高渲染效率。同样,unity中的perfab使用批量物体的渲染如大量子弹、城墙等。好,下面我们来在unity中创建导弹。一、导入3D

unity中,perfab是一个很重要的知识点,它是可重复利用的Game Object。这使我联想到cocos2dx中的CCSpriteBatchNode批次渲染可以大大提高渲染效率。同样,unity中的perfab使用批量物体的渲染如大量子弹、城墙等。好,下面我们来在unity中创建导弹。

一、导入3D模型

如果还不知道如何制作简单的3D导弹模型,或者没有该模型的,可以参考这篇文章: http://blog.csdn.net/wangbin_jxust/article/details/24678873

3D模型下载: http://download.csdn.net/download/wangbin_jxust/7269663

直接将fbx格式的3D模型拖入到unity的project面板的assets文件夹下,即可完成导入(好像我说的是废话.,)。

二、创建场景、灯光、地形、物体

三、场景中创建导弹

创建一个cube,添加Rigidbody属性,使其具有重力属性。将assets中的导弹模型拖动给该cube ,使导弹模型是cube的子对象。在scene视图中,分别选中unity3D游戏开发学习之使用perfab(预设)创建很多导弹并发射的x,y ,z坐标,并且旋转导弹的角度,调整导弹至cube的大小。

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

四、创建预设(perfab)

project面板中点击create->perfab

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

很明显,填充过的预设是蓝色,而我们刚刚创建的预设New Perfab3则是白色的,如何填充预设呢?直接将Hierarchy中的cube拖动给New Perfabs就OK啦。

五、编写导弹发射脚本

在assets目录下,新建一个scripts文件夹用来存放脚本,在scripts文件夹中创建一个c#脚本,命名为fire。使用Mono编辑器打开该脚本:

先创建两个变量FirePoint 和 Missile:

然后在update函数中添加导弹创建代码,整个文件的代码如下:

using UnityEngine;
using System.Collections;

public class Fire : MonoBehaviour {
	public Transform FirePoint;
	public Rigidbody Missile;
	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
		if (Input.GetKeyDown(KeyCode.Space)) {
			Rigidbody clone = (Rigidbody)Instantiate(Missile ,Missile.position ,Missile.rotation);
			clone.velocity = transform.InverseTransformDirection (Vector3.forward * 100);
		}
	}
}

Instantiate是一个静态函数,用于克隆perfab。所以,这里的Missile变量应该是一个perfab。
脚本写好了?我们让谁来执行这段脚本呢
此时,我们使用ctrl + shift + N创建一个空的对象,命名为player,将脚本拖动给这个空对象。

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

然后创建一个空对象,命名为FirePos,用来作为发射导弹的位置标记。将FirePos拖动给脚本中的FirePoint对象,将我们之前创建的预设New Perfab3拖动给脚本中的Missile,如下图。

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

至此,我们就可以发射导弹了。运行场景,点击空格键,便可以发射无数导弹了。

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

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

更多

安卓开发复习笔记——Fragment+FragmentTab

2014年最新720多套Android源码2.0GB免费一

开源直播系统源码功能一览表(含ios+androi

直播系统开发中低延迟优化方面的部分技巧

Android Hook 机制之简单实战

直播平台开发中美颜、滤镜的技术要求

直播源码的崛起的巅峰:布谷一对一视频直播

直播系统开发中视频采集的技术分析

手机直播系统开发的实时网络通信技术的要求

短视频平台开发中视频编码如何解决延迟优化

值得安卓开发者收藏的Android 开源项目分类

怎样保证直播平台开发完成后程序的稳定性?

手机开发阅读排行

最新文章