Unity3d 层(layer)的学习
@广州小龙
unity中的层是个很有用的东西,
点击层的下拉框,点击Add Layer,可以打开层管理器,我新建了一个层为test
他的id值是8,这个后面会用到!
层有以下用处:
1.Drawing only a part of the scene with the camera's culling mask
使用相机剔除掩膜来对场景部分绘制
这里的 Culling Mask可以设置渲染哪些层!
2.Casting Rays Selectively 选择性地投射光线
// bit shift the index of the layer to get a bit mask
var layerMask =1<<8;//值是256
if(Physics.Ray cast(transform.position,Vector3.forward,Mathf.Infinity, layerMask)) //只射线检测层为256的物体
print("The ray hit the player");
3.collider.gameObject.layer
可以设置某个物体比如金币,设置它的层为good,他的值为8,那么如果人物碰撞到某个物体,就会触发碰撞函数,可以通过collider.gameObject.layer来判断是否是碰撞到了某个类型的物体!
4.PhysicsManager
Gravity,其实也是一个三维向量,坐标系中Y轴朝上,重力的方向是朝下,值是-9.81,
Raycasts Hit Triggers 射线检测命中触发
如何发现检测不到碰撞,那么可能就是这个没有勾上!
5.Layer Collision Matrix
这里会显示系统自带的层和自己新建的层,这里可以设定哪些层可以和哪些层碰撞!