Unity      Unity3D上路-2D太空射击游戏   
文章目录  [隐藏]

14年5月份开始接触u3d,并且此博文已经发布在OSC上。在此再发,充实自己的站点。


Unity 4.3.4




版本:0.0.1.0
2014-5-20


Unity3D官网: http://unity3d.com
4.3.4   : http://netstorage.unity3d.com/unity/UnitySetup-4.3.4.exe

一。打开及创建

1.打开工程

1)打开工程

如果是初次打开,选择Open Other...


如果不是初次打开,File,OpenProject...,Open Other...


如果安装Unity时选择了SimpleProject,可以打开/Documents\Unity Projects\4-0_AngryBots工程。

2)打开关卡(场景)

可以直接在Project面板的Assets里找到AngryBots.unity文件打开


或者从File,OpenScene,找到工程目录的Assets目录里,打开AngryBots.unity文件

2.Scene面板操作



视图操作:
  按下鼠标中键:    平移视图
  Alt+左键:      旋转视图
  Alt+右键(或滚轮): 推拉视图

3.常用面板


4.新建工程

1)创建新工程

File,NewProject,CreateNewProject,

2)新建脚本文件


3)在MonoDevelop中编辑C#代码

4)给主相机添加指令

在Assets中点住脚本文件,拖放到Hierarchy中的“MainCamera”主相机。

或者,先在Hierarchy里选中“MainCamera”主相机,然后从“Component”菜单的“Scripts”里选中脚本。

当主相机处于选中状态,从“Inspector”面板中可用看到用于相机的指令文件。

5.测试


6.保存关卡-HelloWorld

1)保存当前场景(关卡)文件

File,Save Scene AS,

2)添加场景为关卡

File,Build Settings... ;
然后从Project下的Assets面板,拖动HelloWorld.unity文件到弹出的BuildSettings窗口中,

或者点击BuildSettings窗口里的AddCurrent按钮选择场景文件。

3)配置工程(游戏)发布信息


4.发布游戏


5.代码编辑器配置

MonoDevelop可能用起来不顺手,可用安装VS使之默认作为Unity的代码编辑器。
VS主程序:/MicrosoftVisualStudio12.0\Common7\IDE\devenv.exe

二。创建3D对象-游戏体

1.为工程添加资源文件

1)方法1

直接打开工程目录下的Assets文件夹。或在Assets面板的留空出右键,Show in Explorer,打开Assets目录,

然后将资源文件放入即可。

2)方法2

或者右键Assets面板,选择“Import New Asset...”,导入资源文件夹,

2.新建关卡

File,New Scene,然后保存为Level01.unity,

3.创建游戏角色(3D对象)

GameObject,Create Other,Plane,

4.创建材质


5.为材质选择贴图


根据需要,修改Shader类型。这里改为 Transparent,Cutout,Diffuse,

6.给3D对象应用材质

1)方法1


2)方法2

这一步可以直接从Assets中拖动材质球到Scene中的Plane上。

3)方法3

或者使用这种方法,

7.创建其它游戏体

1)创建Plane,命名为Plane_Star,
2)创建材质球,
3)关联。

三。创建UV动画

1.为对象添加动画

1)选择游戏体创建Animation

首先在Scene或Hierarchy中选中Plane_Star,然后Window,Animation,

2)创建新剪辑

然后,在新打开的Animation面板上,左键点击播放按钮下的条状区域,创建剪辑,


在Assets中生成一个.anim文件外,还生成一个.controller文件,

2.添加动画元素




3.添加关键帧

本例将z数值修改为0.5即可,

四。摄像机

1.环境光

Edit,RenderSetting,
在Inspector面板,修改Ambient Light,

2.配置相机视图

在Scene中修改视图到合适角度,点击Hierarchy中的主相机,GameObject,Align With View,
或者从属性面板手动修改主相机的参数,

3.创建点光源

GameObject,Create Other,Point Light。然后再Inspector面板配置参数,

五。加载模型为3D对象

1.添加3D模型为游戏角色(玩家飞机)


修改属性,以和Plane_Star_Animation动画匹配,

2.为飞机添加脚本

1)创建脚本文件

2)关联游戏体

选择飞机,Component,MyGame,Player,

3.制作子弹

1)创建子弹游戏体

首先,将子弹的fbx文件拖入Hierarchy中,创建一个3D场景对象-游戏角色-游戏体,

2)创建子弹控制脚本

然后在Assets中创建一个和子弹角色同名的脚本文件,

打开子弹脚本,编辑代码,

3)脚本关联对象

把子弹脚本文件关联到子弹游戏体-游戏对象上,

4)创建预制体-Prefab

需要重复使用的游戏体,应将其只作为Prefab。
在Assets中右键创建一个Prefab,并修改为和子弹3D对象相同的名字,

5)子弹预制体

从Hierarchy中拖放子弹对象到Assets中的Prefab上,

从场景中删除自动添加的子弹,

6)修改飞机脚本

再修改飞机脚本

7)关联飞机属性的子弹对象

在Hierarchy中或从场景中选择飞机,然后切换到Inspector面板,在Player(Script)下找到Rocket属性,从Assets中拖放子弹的Prefab体到这里,


最后,测试即可。
空格键发射子弹。

4.创建敌人

1)创建敌人游戏体

从Assets中拖放敌人模型fbx文件到Hierarchy中,创建敌人游戏体。这时场景中也会默认添加敌人的游戏对象,

2)创建敌人控制脚本,并关联游戏体

Enemy.cs文件,

3)创建敌人预制体Prefab

同创建子弹预制体的步骤:
在Assets中右键创建Prefab-敌人预制体,并修改名称和敌人游戏体相同。然后从Hierarchy中拖动敌人游戏体到敌人预制体上,再把场景中的敌人3D对象删除即可。

4)在场景中添加更多敌人

首先从Assets中拖动敌人的Prefab预制体到场景中,然后选中敌人Prefab,Ctrl+D,多次复制,修改位置。

六。物体碰撞

1.给敌人添加碰撞体

首先在Scene-场景中选择一个敌人游戏体,然后Component,Physics,Box Collider,

然后继续操作,打开Inspector面板,找到Box Collider模块,勾选Is Trigger,

2.给敌人添加刚体

紧接上一步,已经添加碰撞体的敌人游戏体被选择,Component,Physics,Rigidbody,

然后,打开Inspector面板,找到Rigidbody模块。去除勾选Use Gravity,选中Is Kinematic,

3.为其它敌人游戏体拷贝设置

继续上面的操作,在设置完毕的游戏体选中的状态下,返回Inspector面板顶部,点击Prefab条目的Apply按钮,

查看其它敌人游戏体,和第一个的属性是相同的,

上面3步可以直接在Assets中操作敌人的Prefab文件,这样就不用执行第3步的拷贝了,

4.为飞机和子弹添加碰撞体及刚体

在Assets中选中敌人的Prefab文件。

然后Component,Physics,Box Collider,
打开Inspector面板,找到Box Collider模块,勾选Is Trigger,

Component,Physics,Rigidbody,
打开Inspector面板,找到Rigidbody模块。去除勾选Use Gravity,选中Is Kinematic,

在Hierarchy中选择飞机的游戏体,执行同样的操作。

5.为游戏角色创建标签tag

1)创建标签

首先,创建tag。Edit,Project Setting,Tags and Layers,

2)填写标签

自动打开属性面板。在Element*中填写标签,本例需要填写两个,“PlayerRocket”和“Enemy”,

3)为游戏体配置标签

然后为子弹和敌人游戏体添加标签。Enemy的tag是“Enemy”,Rocket的tag是“PlayerRocket”,

 

最后为飞机添加标签。Player这个标签是Unity预设的,

6.修改游戏体的控制脚本

1)敌人游戏体控制脚本

2)子弹游戏体控制脚本

3)飞机游戏体控制脚本

7.拦截敌人的空游戏体-界限

1)创建一个空游戏体


2)创建tag标签bound


3)使用空游戏体创建Prefab-界限预制体

在Project的Assets目录创建Prefab,关联bound空游戏体。然后可以删除Hierarchy里的GameObject,
为预制体添加 BoxCollider-盒子碰撞体 和 Rigidbody-刚体 属性,

4)将界限预制体放入Scene

配置合适的大小和位置。还要记得为预制体添加“bound”标签,

5)修改敌人游戏体控制脚本

8.Boss敌机

1)修改普通敌机控制脚本

2)新建Boss敌机控制脚本

3)创建敌机预制体

首先,在Project的Assets目录新建一个Prefab,命名为SuperEnemy,
然后,将Assets中的Boss敌人模型fbx文件拖放到Prefab预制体上,
接着,关联SuperEnemy.cs控制脚本到预制体上,
然后,为Boss敌人预制体添加盒子碰撞体、刚体属性并配置,
同时,修改Tag标签为“Enemy”,
拖放Boss敌机预制体到Scene中。

4)为Boss创建超级子弹-SuperRocket

首先,使用子弹模型创建超级子弹游戏体,
    从Assets中拖动子弹的fbx文件到Hierarchy中

其次,使用游戏体创建预制体
    从Hierarchy中拖放子弹游戏体到Assets中的prefab上,并修改prefab文件的名称为SuperRocket,
    创建好prefab文件后,删除Hierarchy中的子弹游戏体

再次,创建超级子弹使用的特殊材质球,

然后,修改超级子弹的材质,
    选中Hierarchy中的超级子弹,切换到到Inspector面板,打开MeshRenderer项目,展开Materials子项目,点击Element*条目后的圆心点,选中材质球,
    

而后,Edit,ProjectSettings,TagsandLayers,添加“SuperRocket”标签,
    

接着,创建SuperRocket.cs控制脚本,

继而,为超级子弹预制体添加标签,添加盒子碰撞体、刚体属性,添加控制代码关联,
    

继续,修改Boss敌机的控制代码,

最后,关联Boss机的超级子弹属性,
    

七。声音

1.使用unitypackage格式资源

1)导入Package

在Project/Assets中右键,Import Package,Custom,Package....,

2)选择unitypackage文件


3)筛选资源文件


导入的各种格式资源:

4)导出unitypackage文件

如果希望其他人或在其它项目方便使用自己的资源,可以右键Export Package...,导出为unitypackage文件:

2.为玩家飞机添加声音组件


3.修改玩家飞机控制脚本

4.关联属性


还要检查Explosion.prefab文件的声音关联

5.为敌人和Boss添加声音

1)分别选择敌人和Boss敌机的prefab文件,Component,Audio,Audio Source,
2)修改敌人的控制脚本,

3)修改Boss的控制脚本,

4)分别关联两种敌人的属性,

八。敌机的自动诞生

1.创建生产设备空游戏体

注意修改x、y、z属性,

2.生成设备控制脚本

3.关联生产设备的控制脚本和空游戏体

从Assets中拖动脚本文件到Hierarchy中的空游戏体上,

4.创建生产设备预制体

右键Assets,Create,创建2个Prefab,
从Hierarchy中拖动空游戏体到预制体上,
最后删除空游戏体,

5.配置预制体属性

做完这一步,就可以将预制体拖放到Scene中测试了,

6.生产设备的显示

目前加入Scene中敌机生产设备默认是不显示的,不利于我们的设计制作。进行下面的操作可以在Scene中显现它们的位置,但最终发布的游戏以及测试中不会显示。

1)创建Gizmos资源包


2)添加显示图片

在新建的“gizmos”目录中放入一张图片,

3)修改生产设备控制脚本

九。游戏UI

1.UI控制脚本GM.cs

2.创建管理器GM

1)创建空游戏体

GameObject,Create Empty,空对象创建在Hierarchy面板中,将其重命名为“GameManager”。这个空游戏体会自动加入到Scene中。

2)创建AudioSource

选中GameManager,Component,Audio,Audio Source。

3)关联控制脚本

从Assets中拖放GM.cs到Hierarchy中的GM上。

4)设置背景音乐

首先,修改声音文件的立体声类型。2D声音和摄像机的距离无关,不会忽大忽小;3D声音会根据发声体与相机的距离而变大变小。

然后,打开GM的Inspector属性面板,Script项目,配置MusicClip,

3.修改敌机控制脚本


做完这一步即可运行测试,

4.修改欢迎界面

1)修改HelloWorld关卡脚本

2)创建背景

首先,File,Save Scene,保存当前的关卡Level01,
然后,在Assets中双击打开之前的关卡HelloWorld,

接着,选择Assets中的一张图片,GameObject,Create Other,GUI Texture,

十。游戏发布

1.在发布设置添加全部关卡


2.玩家信息设置

紧跟上一步点击“Player Setting...”,
或者,Edit,Project Settings,Player,

1)基本设置


2)分辨率


3)图标详细设置


4)游戏启动画面


 

5)其它设置


3.发布游戏



本文资源包:http://pan.baidu.com/s/1c0AiDES

承接App定制、企业web站点、办公系统软件 设计开发,外包项目,毕设