一、摄像机 Camera:
1、Clear Flag 清除标志:决定屏幕的那部分将被清除。当使用多个相机来描绘不同的游戏景象时,利用它是非常方便的。
2、Back ground 背景:镜头中的所有元素描绘完成且没有天空盒的情况下,将选中的颜色应用到剩余的屏幕。
3、Culling Mask 取消遮罩:包含或忽略相机渲染对象层。在检视视图中为对象指派层。
4、Projection 成像模式:
(1)Perspective 透视:相机将用完全透视的方式来渲染对象。
(2)Orthographic 正交:相机将用没有透视感的方式均匀地渲染对象。
5、Field of View 剪裁平面:从相机到开始渲染和停止渲染之间的距离。
(1) Near 近点:开始描绘的相对于相机最近的点。
(2) Far 远点:开始描绘的相对于相机最远的点。
6、Clipping Planes 近远景面距离调节
7、Viewport Rect 摄像机画面占屏幕大小比例
8、Depth 多个摄像机叠加后显示画面前后深度
9、Redering Path 渲染路径
10、Target Texture 渲染纹理
11、Occlusion Culling 遮挡剔除
二、画布Canvas
1、Reander Mode 渲染模式:
(1)Screen Space - Overlay:这种渲染模式表示 Canvas 下的所有的 UI 控件永远位于屏幕的前面 , 不管有没有相机 , UI元素永远在屏幕最前面 ,主要是2D效果。
(2)Screen Space - Camera:这种渲染模式 Canvas 和 摄像机之间有一定的距离 , 可以在摄像机和 Canvas 之间播放一些粒子特效,主要是3D效果。
(3)World Space:这种模式下 Canvas 就和普通的 3D 物体一样了 , 可以控制它的大小,旋转,缩放等 , 一般用来做血条。
2、Pixel Perfect开启抗锯齿:勾选"Pixel Perfect",在Canvas中的模糊效果消失,变得相对清晰。
Sort Order 多个画布的层级设置
三、Canvas Scaler 画布缩放
1、UI Scale Mode:缩放模式
(1)Constant Pixel Size:使 UI 元素保持固定的像素大小,无论屏幕大小。
Scale Factor 按照此比例绽放画布中的所有UI元素
Scale With Screen Size:屏幕越大,UI 元素越大。
(2)Reference Resolution **UI 布局的分辨率。**如果屏幕分辨率较大,UI就会被放大;如果屏幕分辨率较小,UI就会被缩小。
(3)Screen Match Mode 屏幕匹配模式,如果当前分辨率的纵横比不适合参考分辨率,则用于缩放画布区域的模式。即,以什么作为参考来进行缩放。
(4)Constant Physical Size:使 UI 元素保持相同的物理大小,而不考虑屏幕大小和分辨率。
(5)Reference Pixels Per Unit 每个Unity单位对应的像素点
四、Transform 所有的组件都有的属性
1、Position 位置
2、Rotation 旋转的
3、Scale 缩放
4、Unity常见物体移动的方式
(1)transform.position = new Vector(1,1,1); 直接改变物体的位置,适合非物理碰撞的移动;
(2)Transform.Translate( Vector.forward * Time.deltaTime); 跟第一种类似,适合非物理的移动;
(3)Rigidbody.MovePosition(new Vector3(1,1,1)); 跟上面两种类似,但是很少用;
(4)Rigidbody.AddForce(transform.forwrd * 100); 给物体施加力的作用,适合物理类移动;
(5)Rigidbody.velocity = new Vector3(1,0,0); 直接给物体设定速度,适合物理类移动,
注意:如果你的物体移动在碰撞时抖动,考虑是否用了物理的方式移动物体;如果物体被设为IsKinematic,则只能用前三种方式(直接改变位置)移动物体;
五、模型fbx
1、Model
Meshes 网格
Scale Factor 缩放系数:unity中物理系统默认游戏世界中第一个单位等于一米
File Scale:文件缩放
Mesh Compression:网格压缩
Read/Write Enable:读/写启用
Optimize Mesh:优化网格。选中该项后会优化网格,而Unity能够更快的渲染优化后的网格。
Import BlendShapes:选中此项将导入混合模型。
Generate Colliders:生成碰撞体。选中该项会为导入的物体生成碰撞体。
2、Rig
Animation Type:动画类型 Legacy(旧动画) Generic(新动画) Humanoid(人型动画)
Avatar Definition:骨骼配置 Create From This Model(创建新) copy From Other Avatar(拷贝其它的)
Configure->Mapping->clear(清除) Auto Map(自动映射)
3、Animation 动画:Import Animation(导入动画) Clips(可载切动画) Curves(动画曲线) Event(动画事件)
4、Materials 材质
六、Animator 新动画系统
1、Controller 动画控制器
2、Avatar 骨骼
3、Apply Root motion:如果勾选代表使用动画中的位移;如果当前游戏物体上的代码组件中有OnAnimatorMove内置函数,位移就受代码控制;
4、Update Mode:正常更新、物理更新(FixUpdata更新)、不受时间缩放影响;
5、Culling Mode:Always Animate(始终有动画)
七、Animator Controller 动画控制器
1、Create State -> empty(空状态) From new Blend Tree(融合树)
2、Inspector->Motion(状态动画) Speed(速度) Mirror(镜像) Add Behaviour(添加状态回调事件)
3、Set as Layer Default State(设置默认状态)
4、动画状态连接线功能:Has Exit Time(有结束时间) Fixed Duration(有过渡) Transition Duration(过渡时长) Greater(大于) Less(小于) Trigger(触发器)
5、动画融合树(常用走跑状态切换) Blend Type(类型) 1D(1个参数控制) 2D(2个参数控制)
6、IK动画(人体部位:双手、双脚、眼睛)
八、Rigidbody 刚体组件
1、Body Type 刚体类型
Dynamic 动力学 这种类型是为了 物理仿真运动而设计的。(让物体看起来更像现实世界行为)它的运动受重力、质量、其他力影响。并且这种类型会与其他所有刚体类型发生碰撞。不会穿越物体
Kinematic 运动学 这种类型,物体移动也是在仿真下进行的,但是却是在 用户非常明确的控制 的前提下进行的 可穿越物体
Static 静态 它只与 Dynamic 类型的Rigidbody 发生碰撞.
2、Mass 质量,单位kg
3、Drag 空气阻力,单位N
4、Angular Drag 空气角阻力,单位N
5、Use Gravity 使用重力
6、Is Kinematic 是否开启动力学,开启此项,物体不受力的作用,游戏对象将不再受到物理引擎的影响从而只能通过Transform属性来对其操作。
7、Interpolate:插值:
8、Collision Detection:检测碰撞方式
9、Constraints 约束,用于控制刚体运动的约束 Position冻结 Rotation冻结
10、注意:游戏对象必须有一个刚体才能发生碰撞
九、Collider碰撞器(有各种形状的碰撞器)
1、Edit Collider 编译碰撞器
2、Is Trigger 触发器
3、Material 材质
4、 Center 中心
十、Particle System 粒子系统
1、创建方法:在Hierarchy内左键 Effects->Particle System
2、Duration(粒子生成的时间) Loop(是否) Prewarm(预热) Start Delay(延迟生成) start Lifetime(生命周期) Start Speed(速度有正负) 3D Satrt Size(开始尺寸) 3D Start Rotation(开始的旋转角度) Start Rotation() Randmize Rotation() Start Color(初始颜色) Gravity Modifier(是否受重力影响)
3、Emission :Rate Over Time(每秒生成的个数)
4、Shape:shape(发射器的形状)
5、Renderer:渲染材质
十一、导航系统
1、设置导航需要的静态物体:Static->Navigation Static
2、烘焙地图:Windows->Navigation->Bake
3、为游戏物体添加导航组件:Nav Mesh Agent(导航网络代理)
4、Base offset(导航圆柱与物体角色偏移量)
5、Steering 行动控制 Speed(物体进行的最大速度) Angular Speed(行进过程中的角速度) Acceleration(物体行进加速度) Stopping Distance(距离目标点小于多远距离后停止行进) Auto Braking(自动刹车)
6、Path Finding 路径寻找
7、Nav Mesh Obstacle 导航动态路障组件 Shape(形状) Center(中心) Size(尺寸) Carve(自动重新规划路线)
十二、Mesh Renerer 网格渲染器(主要控制外观展示)
1、Light probes
2、Reflection
3、Anchor Override
4、Cast Shadows
5、Receive Shadows
6、Motion Vectors
7、Lightmap Static
十三、Mesh Filter 网格过滤器 (主要控制形状展示)
1、网格形状选择
十四、Render Texture 渲染纹理
十五、VideoPlayer
1、Source源文件 Video Clip(导入的视频) URL(视频目录路径)
2、Play On Awake 组件激活时就直接播放
3、Wait For First Frame
4、Loop 是否重复播放
5、Playback Speed 播放速度
6、Render Mode 渲染模式
(1)CameraFarPlane(基于摄像机的渲染,渲染在摄像机的远平面上,需要设置用于渲染的摄像机,同时可以修改alpha通道的值做透明效果,可用于背景播放器)
(2)CameraNearPlane(基于摄像机的渲染,渲染在摄像机的近平面上,需要设置用于渲染的摄像机,同时可以修改alpha通道的值做透明效果,可用作前景播放器)
(3)RenderTexture(渲染在RenderTexture上,可以用来做基于UGUI的播放器,这个时我们要用RawImage来显示Texture)
(4)MaterialOverride(将视频画面复制给所选Render的Material。需要选择具有Render组件的物体,可以选择赋值的材质属性。可制作360全景视频和VR视频)
(5)APIOnly(没研究出来干嘛用的,官方文档也没提到)
7、AudioOutputMode 屏幕长宽比适应(目前发现在RenderTexture模式下不起作用,所以用了AspectRatioFitter)
8、AudioOutputMode:音频输出模式 None(不播放声音) AudioSource(用AudioSource播放使用)
十六、Input 人机交互
1、获取键盘
Input.GetKey(KeyCode.A)
Input.GetKeyDown(KeyCode.A)
Input.GetKeyUp(KeyCode.A)
2、获取鼠标
Input.mousePosition // 鼠标位置
Input.GetMouseButton(0) 获取按钮
3、获取轴输入Input.GetAxis(“Horizontal”)
十七、Material Texture Shader 材质 纹理 着色器
1、Material
Shader(着色器) rendering Mode(渲染模式)->Opaque(不透明的) Cutout(剪裁模式,会像剪物品一下裁剪出不透明的部分,实际上是去掉了透明通道) Fade(消影,可设置淡入淡出) Transparent(透明 需要设置Metalic属性为0)
Albedo基础贴图:需要一个“纹理”或是多个这个跟你所需要的Shder有关。
Metallic 金属:使用金属特性模拟外观 Specular镜面反射:使用镜面特性模拟外观 Smoothness 光滑度:设置物体表面的光滑程度
Normal Map法线贴图:描述物体表面的凹凸程度
Emission自发光:控制物体表面自发光的颜色和贴图
Tiling平铺:沿着不同的轴,纹理平铺个数
Office偏移:滑动纹理
2、Texture
(1)Texture Type(图片类型)
(2)Texture纹理形状
(3)Normal Map 纹理设置
3、Shader 网络
十八、Quaternion 四元数 EularAngles欧拉角
1、Unity的Transform中,Rotation属性对应的就是欧拉角,一共分为3个轴,x、y和z,而每一个数值对应的是绕对应的轴旋转的度数。
2、欧拉角转四元数:Quaternion rotation = Quanernion.Euler(new Vector3(10,20,30))
3、四元数转欧拉角:rotation.eulerAngles;
4、取一个向量的方向:Quaternion.LookRotation(new Vector3(1, 0, 1));
5、transform.rotation:旋转直接以四元数赋值
6、transfrom.eularAngles:旋转直接以欧拉角赋值
十九、Sprite Renderer组件
1、Sprite 精灵图
2、Color 颜色调节
3、Flip X或Y方向翻转
4、Material 材质
5、Draw Mode
6、Sorting Layer 设置分类多层
7、Order in Layer 层内分层,数字越大就在上方
二十、KinectManager
1、Sensor Height 传感器高出地面的高度,以米为单位。
2、Sensor Angle Kinect仰角(度)。可能是积极的或消极的。
3、Auto Height Angle 是否自动设置传感器高度和角度。用户必须留在传感器前面,以便自动检测功能正常工作。
4、Compute User Map 是否以及如何利用用户和深度图像。
5、Compute Color Map 是否使用彩色摄像机图像。
6、Compute Infrared Map 是否利用红外摄像机图像。
7、Display User Map 是否在屏幕上显示用户地图。
8、Display Color Map 是否在屏幕上显示彩色摄像机图像。
9、Display Skeleton Lines 是否在用户地图上显示骨架线。
10、Display Maps Width Percent 屏幕上的深度和彩色图像宽度,以屏幕宽度的百分比表示。图像高度根据宽度计算。
11、Use Multi Source Reader 是否使用多源阅读器(如果有)(仅限K2功能)。
12、Min User Distance 与用户的最小距离,以便为骨架数据处理考虑。
13、Max User Distance 与用户的最大距离,以便为骨架数据处理考虑。值0意味着没有最大距离限制。
14、Max Left Right Distance 与用户的最大左右距离,以便为骨架数据处理考虑。值为0意味着没有左/右距离限制。
15、Max Tracked Users 可以同时跟踪的最大用户数。
16、Show Tracked Users Only 是只在允许的距离范围内显示跟踪的用户,还是所有用户(较高的fps)。
17、User Detection Order 如何将用户分配给玩家指数 - 按照外观,距离或从左到右的顺序。
18、Ignore Inferred Joints 是否仅使用真正跟踪的关节(并忽略推断的关节)或不使用。
19、Ignore Z-Coordinates 是否忽略关节的Z坐标(即在2D场景中使用它们)。
20、Late Update Avatars 是否在LateUpdate()中更新AvatarControllers,而不是在Update()中。Mecanim动画混合需要。
21、Skip Remote Avatars 是否跳过多人游戏中的远程化身控制器。
22、Smoothing 一组联合平滑参数。
23、Use Bone Orientation Constraints 是否应用骨取向约束
24、Estimate Joint Velocities 是否估计身体关节速度。
25、Velocity Smoothing 一组关节速度平滑参数。
26、Allow Turn-Arounds 是否允许检测身体翻身或不翻身。
27、Allowed Hand Rotations 允许手腕和手的旋转:无 - 不允许手旋转,默认 - 允许手旋转,除了扭曲,全部 - 允许全部旋转。
28、Wait-Time Before Remove 等待几秒钟,然后丢失用户。这是为了防止零星的用户切换。
29、Avatar Controllers 场景中的头像控制器的列表。如果列表为空,则在现场启动时检测可用的头像控制器。
30、Player Calibration Pose 需要校准姿势,以打开相应播放器的跟踪。
31、Player Common Gestures 常见手势列表,为每个玩家检测。
32、Min-Time Between Gestures 手势检测之间的最短时间(以秒为单位)。
33、Gesture Manager 手势管理器,用于检测程序化Kinect手势。
34、Gesture Listeners 场景中的手势监听者列表。如果列表为空,则可在现场启动时检测可用的手势监听器。
35、Calibration Text GUI-Text显示用户检测消息。
36、Gestures Debug Text GUI-Text显示当前跟踪手势的调试消息。