Unity学习笔记(02):三维视图、坐标系、Mesh网格、材质、刚体
三、三维视图
在3D的立方体中 有六个面 将空间分成了六个部分
分别是:上 下 左 右 前 后
在位置英文上右键 即可快速切换视角
即使在 那么按住鼠标滚轮即可立即切换到
从而拖动视图
????坐标系
3D坐标系分为左手系和右手系
-
Unity是左手系坐标
- 而OpenGL是右手系坐标
如何区分左手系坐标和右手系坐标
手指向着箭头方向 大拇指若向左 那么就是左手系坐标
反之亦然
????摄像机
摄像机是用于成像的节点
该节点是用软件模拟出摄像机的成像 能够帮助拍摄画面
按类型 分为正交摄像机和透视摄像机
若要看到屏幕的画面 则必须要有一个摄像机
????三维世界
3D世界有三个坐标系:
- 世界坐标 - 整个3D世界有一个坐标系
- 摄像机坐标/观察者坐标 - 摄像机有一个坐标系 用于控制拍摄角度
- 模型坐标 - 每个模型都有一个各自的坐标系
????组件化开发模式
Unity使用的是组件化开发模式
游戏场景中的节点为游戏元素 每个节点都需要绑定特定的组件来完成特定的功能
比如 创建一个人 这个人若拿着扫把 穿着保洁服 那么就是清洁工
在这里 扫把和保洁服就是组件
任何节点都是由一些组件组合而成的
四、组件化开发
Unity的开发核心:节点和组件
组件可以加载到任何节点上
transform组件是每个节点的必备组件 无法删除
组件化开发的优点
其优点是方便多角色进行协助
组件可以给美术使用 也可以给策划进行调整 这样 就方便了多个角色进行使用
让多个角色独立工作 提高了生产效率
Unity和其它开发工具 比如Visual Studio不同 Unity不仅仅只针对程序员 还可以让其它角色修改相应的环节
创建空节点
在Hierarchy右键 -> Create Empty即可创建一个空节点 自带transform
这种树状结构被称为场景树
父节点移动后 子节点也会跟着移动
整体和局部的思想
父节点和子节点的关系记录在transform组件中
场景是由节点树组成的 而节点数是由节点的transform组件组成的 每个transform都会指向对应的gemeObject节点对象
并不是直接指向节点 而是指向transform
因此基于transform组成的节点树 即可生成场景树
Unity内置了一些简单的几何体
比如:
- 平面
- 立方体
- 球体
- 网格与网格渲染组件
Plane平面自带了一个名为Mesh Collider的组件
这是网格碰撞器
还有个名为Mesh Renderer的组件
????网格
什么是Mesh
Mesh翻译成中文是网格的意思
任何一个3D物体都是这么做的:
若要建一个红色立方体
那么要先搭建类似于脚手架/框架的东西 然后为其上色
这个框架就叫做Mesh
3个点就能确定一个平面 因此最小单位是三角形
????材质
模型相当于骨骼 材质相当于皮肤
为物体上色 可以说是材质 贴在物体的上面
Mesh Renderer组件可以将模型和材质贴好 绘制出来 类似于易容术
在Project的resources资源文件夹下创建一个Material文件夹用于存放材质
然后右击 -> Create -> Material即可创建一个新的材质了
这个球被称为材质球
可以设置材质球的各种属性:
为节点设置材质:
默认使用的是Default 即白色的材质
要更换材质 将材质拖到这个条的位置即可
当然 也可以点击齿轮按钮进行选择
导入贴图
若导入图片 不能直接使用
必须先创建对应的贴图 然后使用贴图
并不是直接使用图片的
Mash Renderer只认材质
点击Albedo前面的小点更换材质
直接将图片可以拖到节点上 Unity会在内部根据该图片自动生成了相对应的材质 然后使用该材质
????物理世界
真实世界 除了视觉世界 还有物理逻辑世界
同样 Unity也可以构成这一系列物理逻辑
刚体
若要使物体具有物理属性 必须给物体添加刚体组件(Rigidbody
)
添加该组件 相当于为物体添加了物理参数
从此 该物理就能受力 就有重力响应了 就有质量了 就能获得速度了 就能旋转了
物理形状
除了刚体组件 还需要描述该节点的形状
此时 就需要Collider
碰撞器组件
有几个常用形状:
-
Box Collider
立方体 -
Sphere Collider
球体 -
Mesh Collider
网格 即网格是什么样 那么形状也是什么样的
为何不都用Mesh Collider?
因为性能问题 Box Collider和Sphere Collider会更方便碰撞计算 -
Wheel Collider
车轮(Unity特有)
因此 物体分为两种:
- 1、傻乎乎的物体
- 2、刚体(能够收到外力的)
每个物体都需要有形状 否则物体就是可以轻易透过去的了
物理材质
物理材质属于物理形状
一个物体也是有材质的
比如一个地面是非常干的
但在下过雨后会变得非常滑
在Resources下创建一个phy_materials文件夹 用于存放物理材质
在该文件夹下右键 -> Create -> Physic Material 创建一个物理材质
设置该材质的弹性:
之后 同样是拖动或是点击小齿轮以选择物理形状的物理材质: