Unity3d 基础知识学习 工具篇

                                       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

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

原文地址:https://www.cnblogs.com/alongu3d/p/3621958.html