太空射击 笔记

1 给飞机添加 rigid body控件 使飞机拥有物理意义,勾掉gravity 添加capsule collide表明碰撞体积,其中可以设置碰撞体积的体积大小、延伸方向。通常情况capsule collide就已经够用,mesh collide是最复杂、最耗资源的模型。勾选Is trigger可以有触发效果

2 设置摄像机位置:调整角度、位置,project映射 设置成正交的orthographic(还有一种是透视的perspective),改变SIZE改变视角大小,改变这些数值的时候,可以直接在右边控件中拖拉鼠标

摄像机的clear flag可以设成sky box(可以再background中具体设成哪种纹理)或者solid color单色

3edit->reder setting中,有一种默认的ambient light 背景光使得所有物体被发光,可以关闭这种光,增加我们想要的效果

加入平行光,该光与位置无光,只和角度相关,让他斜向前照射,可以保证飞机一边黑一边亮。让黑的不那么明显,可以再相反方向加一个不那么强的光。当光添加的比较多的时候,可以在层次图中添加一个空的gameobject(需要RESET),把所有的光拖入其中。为了防止各种光在编辑的时候,占用位置,可以把Y轴位置加上好几个单位。

4背景:在层次图加入quad(平面,无高度信息),重置、X轴转90度,祛除mesh collide,背景不需要碰撞检测。背景图片拖入quad里面时,默认的shader方式是diffuse,因此比较暗。之前添加的光线因为飞船的遮挡照不到背景。这时可以把背景、飞船放在不同的层中, 不同的层加入不同的光,可以保证互相不干扰。更好的办法是,将shader方式从diffuse(漫反射)改成unlit->testure   镜面反射specular

时间: 2024-10-04 15:30:11

太空射击 笔记的相关文章

unity3d太空射击游戏----------《图形程序设计》课程设计说明书

广西科技大学 <图形程序设计>课程设计说明书             学生姓名:           江玉珍                  .    学    号:           201400404005           .         专    业:         数字媒体技术专业          . 班    级:            数媒141班             .    指导老师:              黄钟源               .    

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

步骤三:创建主角 游戏的主角是一艘太空飞船,我们将使用一个飞船模型作为游戏的主角,并赋予他一个脚本,控制他的运动,游戏体的组件必须依赖于脚本才能运行. 01:在Project窗口找到Player.fbx(通过3D Max制作的模型),将其拖动到Hierarchy窗口创建飞船的模型游戏体,然后在Inspector窗口将它的Y轴坐标设置为0,并旋转180度,如图: 02:在Project窗口选择Assets,右键选择Create->Folder创建一个文件夹,取名为Scripts,用于存放脚本文件,

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

步骤七:添加声音和特效(射击声音和爆炸效果) 01:在Project窗口单机右键,选择Import Package->Custome Package,然后到资源文件目录packages浏览unity包文件,选择ShootingFX.unitypackage,将其打开,选择Import导入到当前工程中,.unitypackage类型的文件是unity的专用资源包,在Project窗口选择资源,如脚本.模型.声音等然后右键选择Export Package,可以将自己的东西到处为.unitypacka

unity游戏之太空射击

由于在开发中遇到的问题需要较大的文字量描述,特此介绍开发的整个流程,并用红色标记所遇到的问题以及解决方法. 开发流程如下: 1. 下载游戏所需模型与素材并导入Unity. 2. 添加玩家飞机 在素材中添加玩家的飞机到层级视图(Hierarchy)中,并命名为player.层级视图 (Hierarchy) 包含当前场景中的每个游戏对象 (GameObject).有些是三维模型等资源文件的直接实例,其余是预设 (Prefabs) 实例,自定义对象构成游戏的绝大部分.预设 (Prefab) 是一种资源

Space Shooter 太空射击

1.控制玩家移动 public float speed = 10f; public float xMin = -6.5f; public float xMax = 6.5f; public float zMin = -4.5f; public float zMax = 4.5f; void FixedUpdate() { float h = Input.GetAxis("Horizontal"); float v = Input.GetAxis("Vertical"

U3D的飞船太空射击例子中,使用coroutine

coroutine 协同程序与线程差不多,也就是一条执行序列,拥有自己独立的栈,局部变量和指令指针,同时又与其它协同程序共享全局变量和其它大部分东西.线程与协同程序的主要区别在于,一个具有多线程的程序可以同时运行几个线程,而协同程序却需要彼此协作地运行.就是说,一个具有多个协同程序的程序在任何时刻只能运行一个协同程序,并且正在运行的协同程序只会在其显示地挂起时,它的执行才会暂停. 原理探析 coroutine创建的所谓的“线程”都不是真正的操作系统的线程,实际上是通过保存stack状态来模拟的.

C#程序员整理的Unity 3D笔记(十三):Unity 3D基于组件的思想

如果你接触过<设计模式>.软件架构的编程思想,就会知道优秀的设计准则:"组合优于继承的". 这句话很简短,但开始学习OOP的时候,真切的是--不太好理解(以我个人当初学习为例). OOP的继承思想 在设计主角(Player)的时候,为了能够复用A.B.C的功能,我开始把A.B.C按照继承来写,多了一些Virutal\Override\Protected等修饰符,功能没有任何问题,就是有些别扭.如Start.Update方法,只能在A中采用模板方法处理,万一B.C.Playe

linuxtoy.org资源

https://linuxtoy.org/archives.html Archives 在 Android 系统上安装 Debian Linux 与 R (2015-07-14) Pinos:实现摄像头共享 (2015-07-06) Firefox 40 Beta (2015-07-04) BookDrop: 通过 Dropbox 接收 Kindle 电子书 (2015-06-24) Linux Kernel 4.1 (2015-06-23) b2gdroid:在 Android 手机上一键切换

Unity3D 视频教程列表,列表共 91 套

[000001]<Unity3D Platform 中文视频教程>[7课时] [000002]<Unity3D 游戏蛮荒之地教学视频>[15课时] [000003]<Unity3D 坦克克星视频教程>[9课时] [000004]<Unity3D 太空射击游戏中文视频>[17课时] [000005]<Unity3D 切水果视频教程>[9课时] [000006]<Unity3D 精神時光屋>[5课时] [000007]<Unity3