触摸方法

1.首先触摸分为两大类:多点触摸和单点触摸 --- 这两种方式的触摸通过下面这个触摸数来进行判断,当其等于1的时候,为单点触摸,当其大于1的时候为多点触摸

unity leapmotion手势识别 unity触控_点光源

2.当我们在调用触摸方法的时候我们首先需要打开对应的多点/单点触摸

unity leapmotion手势识别 unity触控_点光源_02

上面这个是开启多点触摸的方法

 

unity leapmotion手势识别 unity触控_加载_03

1.由于触摸也需要获取用户的输入数据,所以需要放在Updata方法中进行每帧扫描进行数据捕获,保证何时都能得到用户的输入数据

(每一次触摸都会创建一个触摸点,这个触摸点就是一个touch对象,这个触摸对象会被放到一个名为touches的数组中,我们可以通过Inout.touches[0]的方式来访问这个组,获取到触摸对象之后我们也要创建对应的触摸对象来接收)

2.触摸也分为多个状态,如上图,获取当前触摸的状态的方法是通过touch对象调用phase枚举属性来获取

unity leapmotion手势识别 unity触控_点光源_04

 对于多点触摸,用来存放当前触摸点的touches数组中也会有多个touch对象,通过这个数组我们就可以去访问和操作这些对象了

每一个touch对象都有自己的状态,它们的状态处理都要和单点触摸的状态处理一样


灯光与烘培

1.在创建处,灯光有下列这么多种类

unity leapmotion手势识别 unity触控_点光源_05

 从上往下分别是:定向光,点光源,聚光灯,区域光,反射探测器和光照探测模组

除了在create里直接不同类型的光对象,我们还可以直接在一个光对象的inspector界面中的Light组件中修改光的类型

unity leapmotion手势识别 unity触控_多点触摸_06

unity leapmotion手势识别 unity触控_多点触摸_07

光组件从上往下翻译:类型 , 颜色,模式,强度,间乘系数,阴影类型,烘培阴影角度,实时阴影,强度,分辨率,偏离,发线偏离,近平面,剪影,大小,绘制光晕,眩光,渲染模式,剔除遮罩

1.软阴影和硬阴影的区别就是:

软阴影的图形锯齿边缘得到了平滑处理,但是它对系统的资源消耗大,硬阴影的图形锯齿边缘没有被处理,但是它对系统的资源消耗小

2.剪影功能就相当于我们给光源罩上了一层布,然后再在布上剪了一个形状,光源就只在这个剪开的形状上漏光(这块剪好的布需要我们自己制作然后上传资源)

3.剔除遮罩这个功能就是将图层对光组件的屏蔽(遮罩)给去掉,光组件只会照射到自己的剔除遮罩选项中已经选中的图层,没选中的图层都不会去照射

unity leapmotion手势识别 unity触控_多点触摸_08

 我们最常用的上面这种光称为定向光:1.这种光是从无限远处照向物体的 ; 2.这种光发出的光线互相平行

unity leapmotion手势识别 unity触控_多点触摸_09

 第二个光是聚光,这个聚光就相当于一个手电筒一样的存在

底下圆的四个点和中间的点都是可以控制的。中间的点控制光照射的位置,四边的点控制光照射的范围,上面那个绕着光标的圆圈可以控制聚光的旋转

unity leapmotion手势识别 unity触控_加载_10

接下来是下面这个点光源

 

unity leapmotion手势识别 unity触控_unity_11

 点光源其实就相当于一个灯泡,会向四面八方360°的发射光线

unity leapmotion手势识别 unity触控_加载_12

 绕着点光源上的球上的四个点也是可以拖拽的,拖拽后我们可以扩大点光源的照射范围

unity leapmotion手势识别 unity触控_加载_13

 接下来是上面这个area区域灯光,这个灯光其实就是从图中那个平面上发射的平行光(平面上的点能够进行拖拽)

unity leapmotion手势识别 unity触控_unity_14

区域灯光分为两个形状:矩形和圆盘形 , 区域光仅支持烘焙模式

关于灯光的模式:

unity leapmotion手势识别 unity触控_多点触摸_15

 

1.首先混合就是实时和烘焙混合起来的模式

2.实时:实时模式下的灯光就是在游戏场景中通过计算机计算获得的即时灯光(动态光),这种灯光是能够随着物体位置的改变而实时变化的 ,其实就是模拟的现实灯光,但是这种模拟非常消耗计算机的性能

3.烘焙:烘焙灯光就是静态光,我们将已经调好的游戏物体的灯光状态进行烘焙保存,到时候游戏加载时直接加载这个已经保存好的灯光状态就可以了,不需要计算机实时计算灯光状态然后再加载,能够很好的节约计算机性能


我们该怎么去做烘焙灯光呢?

1.选择我们要进行烘焙的游戏物体

2.将物体调味烘焙模式

unity leapmotion手势识别 unity触控_点光源_16

 选择contribute gi (贡献全局光照)

3.找到渲染中光照

unity leapmotion手势识别 unity触控_多点触摸_17

 

unity leapmotion手势识别 unity触控_加载_18

 在跳出的光照界面中选择生成照明,点击后就会开始烘焙当前灯光状态并进行保存(烘焙的过程中可以实时调整灯光状态)

4.烘焙完成后就会生成对应的光照信息文件 --- 在assect文件夹中的被我们进行烘焙的场景的场景文件夹中

unity leapmotion手势识别 unity触控_加载_19

 烘焙好后游戏物体的光照状态就被保存,此时哪怕我们把光源去掉,它的光照状态也不会改变

5.其实所谓的烘焙就是把当前计算机计算好的光照状态“烘焙”为一张场景贴图,静态保存下来,如果我们要在场景中调用这个光照状态的话只需要把贴图一贴就可以了,不需要再让计算机进行重新计算