1.Unity介绍
一般是1-4人开发团队
2.Unity安装(参考视频或教程)
3.Unity破解(参考视频)
4.创建Unity工程
新建项目的目录
Assets:目录下包括一些模型、图片、声音资源和脚本、代码
Library:内置脚本和缓存文件
ProjectSettings:工程设置文件
Temp:开发产生的临时文件,关闭Unity时会被清空
5.Unity的各个面板是什么
Sence:场景面板,显示开发场景
Game:游戏面板,游戏运行时演示
Hierarchy:层级面板,开发时分场景,此处显示当前场景
Project:工程面板,对应Assets文件夹下的资源
Inspector:属性面板, 检视面板
6.什么是Unity中的场景Scene
场景类似于电影场景,场景间可以进行切换。 也可以把所以东西放到一个场景里,但这样东西太多会比较混乱。 我们可以利用场景来管理我们的资源。
新建Sence:File中(快捷方式Ctrl+n)
保存sence:Hierarchy中有*号即需要Ctrl+s保存,不保存即丢失
新建Sences文件夹:在Project中创建并命名,之后保存Sense就可以放到其中
.meta:每个文件和文件夹都会生成一个属性文件
7.Unity中怎么操作视野
相机:
太阳:光源,删掉会暗
-
视图:Sence右上方的坐标可以用来选择视图Perp:透视视图,距离远则表较小
Iso:正交视图,距离远看起来也一样大,等比例
-
Sense操作视野(Perp)右键:围绕自身旋转视野
Alt键+左键:围绕按住的这个点旋转视野
Alt键+右键:围绕中心点快速放缩(滑动滚轮:围绕中心点放缩)
双击Sence对象:聚焦到当前物体
中键:视野的平移
选中对象拖动轴:可以平移物体
-
Sense操作视野(Iso)右键: 围绕按住的这个点旋转视野
-
Ctrl+d:复制对象
8.Unity中游戏物体的基本操作
Camera:其视野——一个锥形体,就是玩家看到的视野
-
父对象:对象可以拖动到另一个对象下面。其效果是拖动父对象也会一块拖动子对象,而拖动子对象不影响父对象。当一个物体被放在一个物体目录下时,它的坐标变成了以其父对象为原点的值(即变成了相对坐标)-
Gizemos:3D Icons可以控制相机和光源图标大小和显示与否-
q:视点平移、w:对象平移 e:对象旋转 r:对象缩放、t:UI设计用
![Alt text](./Image 1.png)-
Local:各对象坐标轴垂直于自身各个面Global:各对象的坐标轴与右上角的世界坐标轴始终一致。
-
Pivot:对象位置基点,可任意设置Center:对象视觉中心点,由计算得出
9.Unity中游戏物体和组件的关系
组件:在Inspector中可以看到物品对象的组件。-
Transform:每一个物体都有,用来保存位置、旋转、放缩信息
组件移除:在组件上小齿轮里点remove component,基本只有Transform无法移除
增加组件:在下面的 Add Component里加对应的组件,比如加Mesh Renderer再加materials
禁用物体:在Inspector中勾掉,禁用只是不显示,但在游戏中还是会占内存
禁用组件:类似,一些与显示相关的组件可以禁用,一些保存属性的就不行也没必要。
10.设计打转块案例的场景
创建地面的两种方式:
1.新建一个Plane,把它的坐标设成(0,0,0)
2.新建Cube,Transform小齿轮设置reset,再按r进行三轴缩放,
-
创建完地面后按w把Camera放到地面一边,再按r放大地面保证Camera视野里都是地面。-
改变天空颜色:把Clear Flags改为Solid Color,再改下面的颜色材质:用来改变物体的外观,包括贴图和颜色
改地面颜色:使用物体的材质,
改物体名:按住f,或者在物体的Inspector里改
把材质赋给物体:直接把Project里新建的Material拖到物体上就行。
物体略反光:把Material里的Smoothness设为0就不光滑不反光了,上面的Metallic是金属感。
贴图:点击Albedo左边的小点,选择材质。材质需要颜色为白才能完全
下意识的保存一下。
11.创建砖块和砖块的Prefab
长度单位:米
物体位于地面:y设为0.5
-
复制物体:ctrl+d一单位平移:按住ctrl再平移(也可以复制后改坐标)
多物体平移:在Hierarchy里选中多个物体,复制平移
-
给物体加物理引擎:Add Component加rigidbody刚体-
制作预制体:模板,改模板就改了所有模块生成的物体
12.创建墙和子弹的Prefab
Ctrl + A Select All 全选
创建容器:Create Empty,用来容纳一个系统的物体
13.创建我们的第一个Unity C#脚本
创建脚本:可以直接在文件夹里创建脚本,或者在自己需要的起始物体上添加组件,命名没有的就会出现添加脚本
c#:区分大小写
14.学习Unity中脚本的基本结构
c#:
注释//
Log:Debug.Log(“”);
显示Log:前提是有调用脚本的物体在场景中
-
There are inconsistent line endings in the ‘xxx’ script. Some are Mac
OS X (UNIX) and some are Windows.问题解决
http://blog.dou.li/There-are-inconsistent-line-endings-in-the-xxx-script-Some-are-Mac-OS-X-UNIX-and-some-are-Windows.html
15.控制子弹的生成
对象赋值:在c#中定义GameObject,并把子弹模板赋给定义的GameObject
对象初始化:GameObject.Instantiate(bullet,transform.position,transform.rotation);
点击事件:Input.GetMouseButtonDown(0)
墙面崩塌:复制砖块时不是一行一行垒起来的,中间有穿插,这导致砖块可能有挤压
脚本不执行:错误叫脚本绑定到了Sphere,实际应该绑到Camera
VS2015常用快捷键:
http://blog.csdn.net/anzhongliu/article/details/48750637
16.给子弹施加初速度
添加代码无反应:忘记保存代码了
改变颜色:可以改变环境光强度
当Inspector与c#上同一变量的值不等时,以Inspector上优先
17.控制相机的左右移动
VS不给提示:重启
修改类名(以及对应脚本名) :
在Project Assets中,修改脚本文件名称。
双击改好名的脚本,在MonoDevelop中打开,然后将光标移至类名处,按键盘F2键,在弹出对话框中输入新名称(与脚本名相同)。
Ctrl+S保存脚本。
注意:第3步中如果改名牵涉到多个引用到该类的脚本,且这些脚本正好在MonoDevelop中的其他tab打开了,会发现这些脚本也被修改了,此时还需要对他们一一进行保存,否则编译器会报错,更快捷的方法是:File->Save
All。原因:虽然C#允许文件名与类名不一致,但如果草率地在MonoDevelop里把类名直接改掉,会破坏现有场景以 及Project
Assets中所有引用该脚本的链接 。
作业:通过回忆复现出这个项目,并对它进行扩展
1.场景,包括地板、砖墙、小球
2.Prefab、Materials、Scripts、Scence
3.实现Movement、Shoot
问题:
1.忘记怎么给地板加材质?
答:创建材质,添加给地板
2.忘记了Shoot脚本怎么写?
答:创建脚本,声明速度与物体,初始化物体(物体,位置,旋转),鼠标左键点击,物体获得刚体,刚体设置速度
3.忘记了Movement脚本怎么写的?
答:声明速度,获取水平和竖直输入,根据输入创建向量,移动相机