码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-04-30 22:47:39      阅读:633      评论:0      收藏:0      [点我收藏+]

标签:unity3d   创建子弹   perfab   射击   

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视图中,分别选中mamicode.com,码迷的x,y ,z坐标,并且旋转导弹的角度,调整导弹至cube的大小。

mamicode.com,码迷

四、创建预设(perfab)

project面板中点击create->perfab

mamicode.com,码迷

很明显,填充过的预设是蓝色,而我们刚刚创建的预设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,将脚本拖动给这个空对象。

mamicode.com,码迷

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

mamicode.com,码迷

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

mamicode.com,码迷

mamicode.com,码迷

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

标签:unity3d   创建子弹   perfab   射击   

原文地址:http://blog.csdn.net/wangbin_jxust/article/details/24733881

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!