본문 바로가기
unity

rigidbody, collider.

by kcj3054 2022. 7. 6.

rigidbody

  • rigidbody는 게임 오브젝트가 물리작용하도록 도와주는 것이다. 예를 들어서 중력을 받도록 설정이 가능하다.

collider

  • collider는 충돌처리를 하는 것이다 물체가 rigidbody 영향을 받아서 낙하하다가, 벽에 충돌을 받으면 멈춰야한다 그래서 그때 사용하는 것이 rigidbody + colider이다.

  • 서버를 작업할 때 중요한 것은 클라이언트를 믿으면 안되서 cross checking을 해야하는 것이다. 유니티에서 벽이 있는 부분들을 가지못하도록 막을 때 collider 처리를 한다.

collider 예시 ..


public class TestCollision : MonoBehaviour
{


    public Tilemap _tilemap;

    public TileBase _tile;
    // Start is called before the first frame update
    void Start()
    {
        _tilemap.SetTile(new Vector3Int(0, 0, 0), _tile);
    }

    // Update is called once per frame
    void Update()
    {
        List<Vector3Int> blocked = new List<Vector3Int>();

        foreach (Vector3Int pos in _tilemap.cellBounds.allPositionsWithin)
        {
            TileBase tile = _tilemap.GetTile(pos);

            if (tile != null)
            {
                blocked.Add(pos);
            }
        }


    }
}
  • 위에서 _tilemap의 모든 영역을 다 살피면서 해당 부분이 null이 아니라면 blocked로 넣어준다. !

'unity' 카테고리의 다른 글

coroutine  (0) 2022.07.09
0708  (0) 2022.07.08
state 패턴.  (0) 2022.07.08
이동.  (0) 2022.07.07
에러_ (not found Tilemap)  (0) 2022.07.06