U3D 0816

    xiaoxiao2026-09-14  1

    1.物理系统(Pythsic)

    Layer的设置(层 此处用于区分碰撞体)

    int layer = LayerMask.NameTolayer("层的名字") 在射线检测时使用1<<layer 例如User Layer9 = test;int layer =LayerMask.NameToLayer(“test”); 那么layer=9 代表32位int类型序号9处为1,即第9层 ; 使用1<<Layer后, int 型 32位 每一位取 0或者1,1代表这层 (…0000 0001向前移动9) 即….0000 0010 0000 0000(其余位为0);

    int layer = LayerMask.GetLayer("层1","层2") 在射线检测时使用layer

    public LayerMask layer; 在射线检测时使用layer

    射线检测 Ray ray = new Ray(射线的起始位置,射线方向);Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RastCastHit hit;//碰到的碰撞体 if(Pysics.Raycast(Ray,out hit,distance,layer)){ }ifPhysics.LineCast(起点,终点,layer){有碰撞体的物体进入这个直线范围} 球形范围检测 Collider[] cols = Physics.SpereCast(球形的原点,球的半径,layer);

    2.场景中绘制图像

    void OnDrawGizmos() { Gizmos.color = Color.Red; Gizmos.DrawLine(); }

    3.Resources资源加载

    项目中需要有名叫 Resources 的文件夹一个项目中可以有多个名叫Resources 的文件夹 GameObject obj = Resources.Load<Gameobject>("Prefabs/Enemy01");
    转载请注明原文地址: https://ju.6miu.com/read-1312042.html
    最新回复(0)