반응형
유니티의 꽃 중의 꽃인 Rigidbody 입니다.
이걸 많이 사용하다보면 제어를 많이 하게 되는데요.
다른 것들은 컴포넌트에 접근하기 쉬웠는데... 이녀석은 좀 다르더라구요.
Rigidbody Constraints 란? x, y 의 좌표축으로 이동 / z 축으로는 회전을 못하도록 막습니다.
그럼 이걸 왜써?
횡크롤 게임에서 미사일을 물리로 사용했다? 그럴때 이녀석이 원하는 모습과는 다르게 위가 아닌 옆으로 튀거나 할 수 있습니다.
이럴 때, 이녀석이 못움직이게 막는 것이지요
물론, 한가지 속성이 유지된다면 Inspector 에서 체크해주면 됩니다.
하지만...
특정 조건등에서 변경해야할 때가 있습니다.
이럴 땐, 코딩을 해야하는데요...
바로 접근이 안되어서 많이 구글신을 찾았습니다.
바로 아래처럼 접근해야합니다.
1 2 | rb2d = GetComponent<Rigidbody2D>(); rb2d.constraints = RigidbodyConstraints2D.FreezePositionY; | cs |
작성 방법은 편하신대로 하지만 개념만 잡아놓고 가겠습니다.
위에 보시면 FreezePositionY 라고 하면 == Y축을 고정 (해당 시점의 Y축은 고정) == x,z로 움직이만 가능
뭔가 사용하던 방식과는 다르더군요.
그럼 여기서... 그럼 모두 고정하고 싶으면... , 또는 x ,z 를 고정하고싶으면...
1번 답
1 | rb2d.constraints = RigidbodyConstraints2D.FreezeAll; | cs 2qjs |
2번 답
1 | gameObject.GetComponent<Rigidbody>().constraints = RigidbodyConstraints.FreezePositionX | RigidbodyConstraints.FreezePositionZ; | cs |
단! Z는 Rigidbody2D에서는 안뜹니다.
그럼 잘 사용하세요~~
반응형
'개발이야기 > Unity & C# 코딩' 카테고리의 다른 글
admob 두번째 - 기다려도 광고가 안나와요.... ㅠㅠ (0) | 2018.03.23 |
---|---|
코르틴(Coroutine) (0) | 2018.03.10 |
Admob 배너광고 (0) | 2018.02.08 |
IsEnabled (0) | 2018.02.08 |
Unity Flow (0) | 2018.02.06 |