Unity 常用资料

1. Layer

layer本质是按序左移的一个Int32数字,int32有4个字节=》32位,故可以支持32个层级。系统自身使用了5个层,意味着用户还有27个层可以使用。

0000 0000 0000 0000 0000 0000 0000 0000
可以且只能任意位为1。

在这里插入图片描述

unity具体的0-31的层级分布可能是从头开始,也可能是从尾开始,对开发者来说没有区别

  • LayerMask.NameToLayer()
    LayerMask.NameToLayer(“Default”),意味着Unity会通过名字比较取到对应的层级返回,返回的数字是这个的层的对应位数字。比如第12位就返回12.

  • LayerMask.LayerToName
    将对应层的数字位数传入进行比较得到对应层的名称

  • LayerMask.GetMask
    此api比较特殊,传入的是多个层的名称,返回的不是位数。可以理解位一个int32.MaxValue的数,与多个层的数字进行位并,得出的一个数字。过程如下(使用8位进行演示)

	
	//A 0000 0010   层代码为:1 
	//B 0000 1000   层代码为:3 
	//C 0010 0000   层代码为:5
	byte mask= LayerMask.GetMask("A","B"); //mask => 0010 1010
	//比较  //新层
	byte newMaskCode= 16;
	if((newMaskCode & mask )>0){
		Debug.Log("新层存在");
	}else{
		Debug.Log("新层不存在");
	}
	Debug.Log("新层名称为:"+LayerMask.LayerToName(newMaskCode));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值