近期买了本书在学习一些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--学习太空射击游戏制作(一)的更多相关文章

  1. Unity3D--学习太空射击游戏制作(二)

    步骤三:创建主角 游戏的主角是一艘太空飞船,我们将使用一个飞船模型作为游戏的主角,并赋予他一个脚本,控制他的运动,游戏体的组件必须依赖于脚本才能运行. 01:在Project窗口找到Player.fb ...

  2. Unity3D--学习太空射击游戏制作(四)

    步骤七:添加声音和特效(射击声音和爆炸效果) 01:在Project窗口单机右键,选择Import Package->Custome Package,然后到资源文件目录packages浏览uni ...

  3. Unity3D--学习太空射击游戏制作(三)

    步骤四:创建敌人 创建敌人的方式与创建主角类似,不过敌人的行为需要由计算机来控制,它将从上方迎着主角缓慢飞出来,并左右来回移动: 01:创建Enemy.cs脚本,添加代码: using UnityEn ...

  4. 用canvas制作酷炫射击游戏--part1

    好久没写博客了,因为过年后一直在学游戏制作方面的知识.学得差不多后又花了3个月时间做了个作品出来,现在正拿着这个作品找工作. 作品地址:https://betasu.github.io/Crimonl ...

  5. 少儿编程Scratch第四讲:射击游戏的制作,克隆的奥秘

    上周的宇宙大战射击游戏中,我们只完成了宇宙飞船发射子弹的部分.还未制作敌对方.这周制作了敌方-飞龙,飞龙随机在屏幕上方出现,如果被子弹打中,则得分,飞龙和子弹都消失. 敌方:飞龙:计分. 目的 目的: ...

  6. cocos2d-x学习日志(10) --射击游戏(喵星战争)

    转载请标明:转载自[小枫栏目],博文链接:http://blog.csdn.net/rexuefengye/article/details/10553487 一.纵版射击游戏的特点 纵版射击游戏是一种 ...

  7. 《Genesis-3D开源游戏引擎完整实例教程-2D射击游戏篇:简介及目录》(附上完整工程文件)

    G-3D引擎2D射击类游戏制作教程 游戏类型: 打飞机游戏属于射击类游戏中的一种,可以划分为卷轴射击类游戏. 视觉表现类型为:2D 框架简介: Genesis-3D引擎不仅为开发者提供一个3D游戏制作 ...

  8. 《Genesis-3D开源游戏引擎--横版格斗游戏制作教程:简介及目录》(附上完整工程文件)

    介绍:讲述如何使用Genesis-3D来制作一个横版格斗游戏,涉及如何制作连招系统,如何使用包围盒实现碰撞检测,软键盘的制作,场景切换,技能读表,简单怪物AI等等,并为您提供这个框架的全套资源,源码以 ...

  9. Unity3D系列教程--使用免费工具在Unity3D中开发2D游戏 第一节

    声明:   本博客文章翻译类别的均为个人翻译,版权全部.出处: http://blog.csdn.net/ml3947,个人博客:http://www.wjfxgame.com. 译者说明:这是一个系 ...

随机推荐

  1. (转)Dependency Walker使用说明

    在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库.现在就让我们走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧! 初窥门径:Windows的基石 随便打开一个系统目录, ...

  2. php转义和去掉html、php标签函数

    /** * 转义html字符 * * @param string|array $var */function fhtmlspecialchars($var) { if (is_array ( $var ...

  3. Android(java)学习笔记123:Clock app编写报错01

    1.首先我们二话不说直接先看报错内容如下: 07-12 08:25:03.572: E/dalvikvm(3602): native fork pid:0 done. 07-12 08:25:03.5 ...

  4. 0x800a1391-Microsoft Jscript "JSON未定义"

    本人在进行调试代码是遇到以下问题: 在运行到var result = JSON.parse(data);这句时,报错:JSON未定义.如下图:

  5. 获取mp4文件信息

    计算电影长度 方法1 从mvhd - movie header atom中找到time scale和duration,duration除以time scale即是整部电影的长度. time scale ...

  6. jemalloc源码结构分析(一):内存申请处理过程

    一.5种malloc方法 1)tcache_alloc_small 2)arena_malloc_small 3)tcache_alloc_large 4)arena_malloc_large 5)h ...

  7. 当 tcpdump -w 遇到 Permission denied

    为了定位问题,需要在Linux上使用tcpdump并且保存到文件,遇到了如下问题: tcpdump port 9001 -w xxtcpdump: xx: Permission denied 因为已经 ...

  8. 关于文件的复制(用InputStream和OutputStream)

    作业:将c盘的一个文本文件复制到d盘. 分析:复制原理:读取c盘文件中的数据,将这些数据写入到d盘当中,连读带写. /* * 需求:作业:将c盘的一个文本文件复制到d盘. * 思路: * 1,需要读取 ...

  9. [记录]ns_error_unexpected firefox tinymce

    参考: Form not saving, NS_ERROR_UNEXPECTED  Error: NS_ERROR_UNEXPECTED #794 NS_ERROR_UNEXPECTED on Fir ...

  10. Map集合的两种遍历方式

    Map集合:即 接口Map<K,V> map集合的两种取出方式:    1.Set<k> keyset: 将map中所有的键存入到set集合(即将所有的key值存入到set中) ...