Unity学习笔记

基本操作:(了解概念和何时使用,步骤在需要的时候再去查找)

1.定点吸附:选择物体后按住V键,定位定点,再拖拽到目标物体某个定点上。

2.Clipping Planes:如果项目远处地形资源等无法看见需要调节相机裁剪平面的距离。

3.culling mask:图层可以通过控制剔除遮罩来改变能不能看见该图层。

4.persp:透视观察模式、ISO(正交观察模式)

5.场景:一组相关联的游戏对象的集合,通常游戏中每个关卡就是一个场景,用于展现当前关卡中的所有物体。

6.游戏对象:运行时场景中的游戏物体。一个游戏对象就是一个容器,可以挂载组件。

7.组件:是游戏对象的功能模块,每个组件都是一个类的实例。

8.camera:可以制作小地图和后视镜等功能。

9.材质:物体的质地,指色彩、纹理、光滑度、透明度、反射率、折射率、发光度等,实际是shader的实例。

10.Texture:附加到物体表面的贴图。

11.shader着色器:专门用来渲染图形的技术,可以使纹理以某种方式展现。是一段代码、程序。

12.物理着色器PBS:遵从物理学的能量守恒定律,可以创建不同光照下接近真实的效果。

13.InstantOC:

             ①Occlusion culling:遮挡剔除,物体被送进渲染流水线之前,将摄像机视角内看不到的物体进行剔除,从而减少每帧渲染数据量,提高渲染性能。 

             因此在物体被别的物体遮挡的时候,需要用到遮挡剔除。

             ②LOD(Levels of Detail):多细节层次,根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的

              面熟和细节度。因此在精细模型离相机较远时使用糙模,在近距离时使用细模。近清远模。

14.

15.profiler(Ctrl+F7):电脑使用性能情况等信息。

16.光照系统:

           ①Global illumination(全局光照):能够计算直接光(光源直接发出)、间接光(物体表面发射出的光)、环境光以及反射光的光照系统。

           ②设置阴影,阴影的渲染消耗性能。包括是否投射阴影及阴影剔除。

           ③烘焙(Baked):将光线效果预渲染成贴图再作用到模拟物体,从而提高性能。

17.命名空间(namespace):命名空间就是类的集合;引用集合中的类时需要在类名中使用所选的前缀。

18.InputMange :定义用户输入(Edit-Project-Settings-Input)        bool result = Input.GetButton("虚拟轴名")   float value = Input.GetAxisRaw("虚拟轴名") …..  P153

19.关节组件五大类:

①链条关节:将两个物体以链条的形式绑在一起,当力量过大超过链条的固定力矩时,两个物体就会产生相互的拉力。

②固定关节:将两个物体永远以相对的位置固定在一起,即使发生物理改变,它们之间的相对位置也不会发生改变。

③弹簧关节:将两个物体以弹簧的形式绑定在一起,挤压它们会得到向外的推力,拉伸它们会得到两边对中间的拉力。

④角色关节:可以模拟角色的骨骼关节,可以绕骨骼节点任意角度旋转。

⑤可配置关节:可以模拟任意关节的效果,包括上面的四种效果,最强大也是最复杂的。

20.力场组件:力场是一种为刚体快速添加恒定作用力的方法。

①Force:用于设定在世界坐标系中使用的力,向量表示。

②Relative Force:用于设定在物体局部坐标系中使用的力。

③Torque:设定在世界坐标系中使用的扭矩力,向量表示,对象将依据该向量进行转动,向量越长转动越快。

④Relative Torque:设定在局部坐标系中使用的扭矩力,向量表示,对象将依据该向量进行转动,向量越长,转动越快。

3D数学(向量、欧拉角、四元数、坐标系统)

向量:世界坐标指向物体的射线,用以判断方向

API:向量的模float dis = vector.magnitude、vector.distance(vector3.zeor,dis);

获取向量方向也称“标准化”“归一化”;

        向量的方向Vector3 vector2 = vector1.normalized,verctor2为vector1的单位向量,vector1.normalize();将vector1自身设置为单位向量;

三角函数:已知一边一角,求其他边与角。

API:Mathf.Sin(float radian)、Mathf.Cos(float radian)、Mathf.Asin(float radian)等

欧拉角:使用三个角度来保存方位。X与Z沿自身坐标系旋转,Y沿世界坐标系旋转。

欧拉角没有方向和大小的概念,属于向量类。欧拉角的xyz表示各个轴向上的旋转角度。 范围0-90°;具有万向节死锁:物体沿X轴旋转±90°,自身坐标系Z轴与世界坐标系Y轴将重合,此时再沿Y或Z轴旋转时,将失去一个自由度。X轴旋转限制在-90°到90°之间,沿Y轴与Z轴旋转限制在0-360°之间。

API:Vector eulerAngle = transform.eulerAngles;

四元素:在3D图形学中代表旋转,由一个三维向量和一个标量组成。旋转轴自定义,旋转弧度为θ。

特性:四元数左乘向量,表示将该向量按照四元数表示的角度旋转。四元素和四元素相乘代表旋转角度的叠加。

API:Quaternion qt = new Quaternion();

坐标系统

世界坐标(World Space):整个场景的固定坐标,在游戏场景中表示每个游戏对象的位置和方向。

局部坐标(Local Space)-:每个物体独立的坐标系,原点位模型轴心点,随物体移动或旋转而改变,表示物体间相对位置与方向。

屏幕坐标(Screen Space):以像素为单位,屏幕左下角为原点,右上角为屏幕宽、高度(Screen.width、Screen.height),Z为相机的距离,表示物体在屏幕中的位置。

视口坐标系(Viewport Space):屏幕坐下为原点,右上角为(1,1),Z为到相机的距离,表示在摄像机中的位置,以比例表示。

坐标转换:见代码脚本。

物理引擎

模拟真实世界中物理特性的引擎。(两者具有碰撞组件、运动的物体具有刚体组件)

刚体:让物体具有物理特性。

          属性:物体质量Mass、空气阻力Drag(移动时受到的空气阻力)、角阻力Angular Drag(旋转时受到的空气阻力)、是否运动学Is Kinematic(是否受物理引擎控制)、插值Interpolate(缓解刚体运动时的抖动)、碰撞检测Collision Detection(设置碰撞检测频率)、约束Constrains(对刚体运动的约束)

碰撞器:判断两个物体是否接触的物理边界。

            碰撞具有三阶段,其自带的属性或方法见官方手册。

触发器:带有碰撞器组件,且Is trigger属性被勾选的物体,无碰撞效果

            触发具有三阶段,其自带的属性或方法见官方手册。

物理材质:赋予材质摩擦力、弹力等特性

UGUIUnity Graphical User Interface)控件、EventItween   P207

零碎知识:

Html与unity3d的交互:Application.External-Call()调用任何在HTML网页里定义的JavaScript函数,unity3d插件或者ActiveX控件都有一个SendMessage()的函数,HTML网页通过通过这个函数与unity3d进行通信,通过该函数可以传递对象名、函数名以及简单参数,SendMessage()会调用unity3d中的GameObject上绑定的函数。调用函数前必须先得到unity web player的引用

项目设置里的质量:阴影调节等,

脚本方法执行顺序:先把全部脚本的awake方法执行完再执行所以脚本的start方法。

不同物体对象可以赋予不同的标签和图层,图层相当于类,标签相当于对象名。

脚本往物体上一挂便成了一个对象,对象是对类的引用,对象之间通过引用连接。

类(对象的变量、事件、方法)、对变量的具体阐述、类的属性是生来就有的。

Invoke(被执行的方法,开始调用时间);适用于延时调用

如果将物理阶段的执行的脚本放到update里面会出现画面乱抖的情况。

unityWebRequest:提供一个方法来和网页通信,UnityWebRequest.Get、UnityWebRequest.Post、UnityWebRequest.Put

B站教程视频链接:史上最全Unity3D教程_哔哩哔哩_bilibili

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值