3D模型基础
- 层级(Hierarchy)视图
1.如何快速找到一个特定的游戏对象(聚焦选择的方法)?
层级视图中双击游戏对象,或者F键
2.空游戏对象有什么作用?
作为父对象,即一个容器,便于对多个游戏对象控制管理;
作为专门挂载脚本的容器使用
作为容器,添加各种组件,形成心得功能的游戏对象
- 项目(Project)视图
1.项目(Project)视图与层级(Hierarchy)视图的区别?
项目:存储整个工程(整个游戏)所需要用到的资源
层级:存放与编辑 当前场景中的资源
2.选择依赖项(select dependencies)的作用?
提取出游戏项目中的特定资源并永久保存
可以把某项目的资源导出,然后倒入的自己的项目
- 场景(Scene)视图
1.几种绘制模式设置的特点和作用
贴图模式Textured:默认的
线框模式Wireframe:看到由线框组成的世界,便于了解游戏对象的复杂度,线框的多少会制约游戏运行的流畅度
渲染路径模式Render Paths:
光照贴图分辨率模式Lightmap Resolution:
2.几种渲染模式设置的特点和作用
- RGB模式:默认的
- Alpha模式:透明度灰度值数
- Overdraw模式:
- Mipmaps模式:
3.Effects的作用?
开启关闭场景中的特效
4.Gizmos小物件设置
拖动3D Icons,放大缩小场景中光源你和音频等显示图标
Show Grid设置是否显示场景背景的网格线
5.世界坐标系和局部坐标系的区别
世界坐标系:场景视图右上方的坐标系
局部坐标系:点击游戏对象以后,游戏对象的坐标系(将游戏对象旋转以后,切换Global和Local,可以观察到区别)还可以通过脚本来观察
void Update () {
// 移动脚本,学习世界坐标系与局部坐标系
if (Input.GetKey(KeyCode.W))
{
// 局部坐标系
//this.transform.Translate(new Vector3(0F, 0F, 1F), Space.Self);
//this.transform.Translate(new Vector3(0F, 0F, 1F));// 不写Space参数则默认为局部坐标系
// 世界坐标系
this.transform.Translate(new Vector3(0F, 0F, 1F), Space.World);
// 简化写法
//this.transform.Translate(Vector3.forward, Space.World);
}
else if (Input.GetKey(KeyCode.S))
{
// 局部坐标系
//this.transform.Translate(new Vector3(0f, 0f, -1f), Space.Self);
//this.transform.Translate(new Vector3(0f, 0f, -1f));
// 世界坐标系
this.transform.Translate(new Vector3(0f, 0f, -1f), Space.World);
// 简化写法
//this.transform.Translate(Vector3.back, Space.World);
}
}
6.左手坐标系
左手握拳,拇指朝上为up,朝下为down,其余四指弯曲的方向就是旋转方向
// 左手坐标系
if(Input.GetMouseButton(0)) // 传入0表示按下鼠标左键
{
Debug.Log("顺时针旋转");
this.transform.Rotate(Vector3.up, Space.World);
}else if (Input.GetMouseButton(1)) // 传入1表示按下鼠标右键
{
Debug.Log("逆时针旋转");
this.transform.Rotate(Vector3.down, Space.World);
}
7.环绕旋转的函数使用方式,各个参数的含义
this.transform.RotateAround(v1, v2, angle)
// 元素围绕着v1点,采用v2向量,旋转angle角度
public Transform TraTarget;// 环绕旋转的目标对象
// Update is called once per frame
void Update () {
this.transform.RotateAround(TraTarget.position, Vector3.up, 1f);
}
网友评论