Unity3d 基础知识学习 工具篇

时间:2024-01-15 22:26:26

Unity3d  层(layer)的学习

@广州小龙

unity中的层是个很有用的东西,Unity3d 基础知识学习 工具篇

点击层的下拉框,点击Add Layer,可以打开层管理器,我新建了一个层为test

Unity3d 基础知识学习 工具篇

他的id值是8,这个后面会用到!

层有以下用处:

1.Drawing only a part of the scene with the camera's culling mask

使用相机剔除掩膜来对场景部分绘制

        Unity3d 基础知识学习 工具篇

        这里的 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

这里会显示系统自带的层和自己新建的层,这里可以设定哪些层可以和哪些层碰撞!