Unity3D--学习太空射击游戏制作(一)
近期买了本书在学习一些Unity3D的东西,在了解了Unity3D工具的基本面板后开始学习一个太空射击游戏的开发过程。
首先下载一个关于本游戏的资源文件,(百度云下载地址:http://pan.baidu.com/s/1mg7xGNY 密码:pg7e) 下面会用到这个资源文件
步骤一:导入美术资源
01:在资源文件目录\rawdata下复制airplane文件夹,这个文件夹内包含所有游戏需要的模型和贴图文件,如图:

02:新建一个Unity工程(File-New Project)取名为AIrShotGame2,在Project窗口选择Assets,然后右键选择Show in Explorer,将前面复制的airplane文件夹粘贴到Asset文件夹内,返回Unity,看到模型和贴图已经倒入到了当前的Unity工程中,如图:

步骤二:创建场景
游戏是在一个太空背景下发生,一个星球和后面的星空
01:在菜单栏选择File-New Scene创建一个新的场景,存为level.unity,如图:

02:在菜单栏选择GameObject->3D Object->Plane创建一个平面体作为火星的背景模型,如图:

03:在Project窗口右键选择Create->Material创建一个材质球,命名为Background,选择Select指定mars.png为贴图,如图:

04: 在Scene窗口选择火星背景模型,在Inspector窗口找到Materials下面的Element0,选择右边的小圆圈按钮,指定Background材质球,如图:

05:这时候我们看到火星周围的黑色边框挺难看,选择Background材质球,将Shader设为Transparent->Cutout->Diffuse,消除了边框,然后调整下坐标,得到一个火星模型如图:

06:下面为火星添加一个星空背景,创建一个平面体GameObject->3D Object->Plane,将其置于火星下面,为其创建一个材质球,指定star.png为贴图,如图:

07: 设置摄像机和灯光,首先你需要调整视图的角度(鼠标右键和中间组合使用),需要注意的是星空的贴图可能在火星模型的上面,这时候只需要调整下y坐标的值为-1即可,然后在Hierarchy窗口中选择Main Camera,这是场景中的默认的摄像机,在菜单栏选择GameObject->Align With View使得摄像机视角和当前视图一致,如图:


08:这时候运行游戏的时候发现在Game窗口中的画面亮度很暗,这时候需要添加光源,首先在Scene窗口上方点击“太阳”按钮,Scene窗口展示的是真实的灯光信息。在菜单栏选择Edit->RenderSetting,然后在Inspector窗口选择Ambient Light,改变他的颜色,增加场景的亮度,然后再菜单栏选择GameObject->Light->Point Light创建一个点光源,将其置于火星的模型上方,然后调节其Range的值改变灯光的范围,调节Intensity的值改变其灯光的强度,如图:


下面是创建主角
Unity3D--学习太空射击游戏制作(一)的更多相关文章
- Unity3D--学习太空射击游戏制作(二)
步骤三:创建主角 游戏的主角是一艘太空飞船,我们将使用一个飞船模型作为游戏的主角,并赋予他一个脚本,控制他的运动,游戏体的组件必须依赖于脚本才能运行. 01:在Project窗口找到Player.fb ...
- Unity3D--学习太空射击游戏制作(四)
步骤七:添加声音和特效(射击声音和爆炸效果) 01:在Project窗口单机右键,选择Import Package->Custome Package,然后到资源文件目录packages浏览uni ...
- Unity3D--学习太空射击游戏制作(三)
步骤四:创建敌人 创建敌人的方式与创建主角类似,不过敌人的行为需要由计算机来控制,它将从上方迎着主角缓慢飞出来,并左右来回移动: 01:创建Enemy.cs脚本,添加代码: using UnityEn ...
- 用canvas制作酷炫射击游戏--part1
好久没写博客了,因为过年后一直在学游戏制作方面的知识.学得差不多后又花了3个月时间做了个作品出来,现在正拿着这个作品找工作. 作品地址:https://betasu.github.io/Crimonl ...
- 少儿编程Scratch第四讲:射击游戏的制作,克隆的奥秘
上周的宇宙大战射击游戏中,我们只完成了宇宙飞船发射子弹的部分.还未制作敌对方.这周制作了敌方-飞龙,飞龙随机在屏幕上方出现,如果被子弹打中,则得分,飞龙和子弹都消失. 敌方:飞龙:计分. 目的 目的: ...
- cocos2d-x学习日志(10) --射击游戏(喵星战争)
转载请标明:转载自[小枫栏目],博文链接:http://blog.csdn.net/rexuefengye/article/details/10553487 一.纵版射击游戏的特点 纵版射击游戏是一种 ...
- 《Genesis-3D开源游戏引擎完整实例教程-2D射击游戏篇:简介及目录》(附上完整工程文件)
G-3D引擎2D射击类游戏制作教程 游戏类型: 打飞机游戏属于射击类游戏中的一种,可以划分为卷轴射击类游戏. 视觉表现类型为:2D 框架简介: Genesis-3D引擎不仅为开发者提供一个3D游戏制作 ...
- 《Genesis-3D开源游戏引擎--横版格斗游戏制作教程:简介及目录》(附上完整工程文件)
介绍:讲述如何使用Genesis-3D来制作一个横版格斗游戏,涉及如何制作连招系统,如何使用包围盒实现碰撞检测,软键盘的制作,场景切换,技能读表,简单怪物AI等等,并为您提供这个框架的全套资源,源码以 ...
- Unity3D系列教程--使用免费工具在Unity3D中开发2D游戏 第一节
声明: 本博客文章翻译类别的均为个人翻译,版权全部.出处: http://blog.csdn.net/ml3947,个人博客:http://www.wjfxgame.com. 译者说明:这是一个系 ...
随机推荐
- [React Native] Reusable components with required propType
In this React Native lesson, we will be creating a reusable Badge component. The component will also ...
- [Effective C++ --023]宁以non-member、non-friend替换member函数
作者在这一节中花了大幅度的篇幅来介绍为什么最好使用non-member.non-friend函数. 思路如下: 场景:如果有一个class用来表示网页浏览器,那么清楚缓存及历史记录的时候,我们可能定义 ...
- js数组定义和获取其长度
1.只有值组成的数组,必须先定义数组对象. 定义 var arrs=new array()或 var arrs=[]; 赋值: arrs[]="he";arrs[]="c ...
- Controllers
Controllers Controllers are the bread and butter of the framework they control when a model is used ...
- JForum 2.19源码部署到eclipse
前两天在研究免费论坛,通过oschina和相关的文档查阅,最终选择了jforum,首先他是java写的,其次方便二次开发,而且有些论坛的源码都已经不在维护了,jforum最近几个月还是有更新的,但是从 ...
- uiautomator做自动化的过程
UIautiomator官网地址:http://android.toolib.net/sdk/index.html 1.环境搭建 使用uiautomator需要导入jar包,uiautomator.j ...
- 预算oracle
select * from ( )) CODE_VERSION from ( SELECT tb_cube_fc05.pk_entity pk_org,/*主体pk*/ org_orgs.code o ...
- scala学习笔记:理解lazy值
scala> var counter = 0 counter: Int = 0 scala> def foo = {counter += 1; counter} foo: Int scal ...
- Hibernate+struts+JqueryAjax+jSON实现无刷新三级联动
看网上JqueryAjax三级联动的例子讲不是很全,代码也给的不是很全,给初学者带来一定的难度.小弟自己写了一个,可能有些地方不是很好,希望大家能够提出建议. 用的是Hibernate+struts2 ...
- Oracle——事务(Transaction)
事务: 事务是指作为单个逻辑工作单元执行的一组相关操作. 这些操作要求全部完成或者全部不完成. 使用事务的原因:保证数据的安全有效. 事务的四个特点:(ACID) 1.原子性(Atomic):事务中所 ...