本书为TPS案例
Tricks
CTRL+D
复制预设,按住V
可以边缘对齐- 2.
Recommends
- 双击Hierarchy View上的对象后,可以快速定位,或者按
F
,最终移动的对象可以按两次F - 转换工具快捷键
Q
,W
,E
,R
,T
- 枢纽/中心转换
Z
,局部/全局转换X
- GameObjects.Find()一般比较慢,最好不要在Update函数里面调用
Warning
- 工程路径不可以有中文
- 依据游戏设备频率调用update,在Awake中得到transform组件后再在update里面调用。
Notes
Unity界面/准备游戏开发
场景视图的绘制
模式 | 内容 |
---|---|
Shaded | 3D模型表面附着纹理 |
Wireframe | 消除纹理,仅呈现3D模型的Mesh |
Shaded Wireframe | 同时呈现阴影和网格 |
Miscellaneous | 混合模式,Shadow Cascades, Render Paths, Alpha Channel, Overdraw, Mipmaps |
Deferred | 只看到过滤后的Albedo, Specular, Smoothness以及Normal纹理 |
Global Illumination |
开发流程
- 设置游戏开发环境
- 下载安装游戏需要的资源
- 设计游戏场景
- 构建主人公的移动和攻击
- 构建怪兽及其攻击
- 构建主人公与怪兽之间的攻击和受袭
- 构建游戏管理员
- 画面分离与合并
制作游戏场景
Floor
位置
- Plane/Cube/Quad, 设置Rotation x=90,Scale x = y = 50
- Floor的y坐标为0可以导出以地面为基准模型位置
纹理
- 纹理Texture是3D模型表面的图像文件
- 材质Material用于设置纹理属性(何种纹理,纹理间隙,模型表面特性)
- 使用方法:创建材质并为其设置纹理,这里Shader为Standard,将纹理拖拽至Albedo插槽
- 修改材质的Tiling可以变更纹理重复次数
Wall
Prefab
新建一个物件而后拖到Project里面
Light
种类 | 效果 |
---|---|
平行光 | Y轴通常为100,不受位置影响 |
点光源 | Range属性改变照射范围 |
聚光灯 | 圆锥形的光 |
区域光 | 一般是四边形,烘焙后才能呈现,不是实时的 |
sky
- 天空表现方式为
skybox
,skydome
- 程序天空和可以自行设置天空颜色,大气浓度,亮度,太阳位置以及大小
- 6面天空盒会消耗6次渲染资源,其他只有1次
主人公
组件编程
- 新建空游戏对象,将playerModel作为子对象,这样调整子对象形状位置方向不会影响父对象。如子弹预设方向朝下。
角色移动
方向输入
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
移动
void Start(){
tr = GetComponent<Transform>();
}
void Update