Random.insideUnitCircle
Unity에서 제공하는 랜덤 벡터를 생성하는 함수 중 하나.
이 함수는 2D 공간에서 반지름이 1인 원 내부에 있는 랜덤한 점을 나타내는 2D 벡터를 반환.
작동방식
반지름이 1인 원 내부에 있는 임의의 점을 랜덤하게 선택.
이 점의 x와 y 좌표를 가지고 있는 2D 벡터를 생성.
생성된 벡터의 길이는 1 이하.
예시
Vector2 randomPosition = Random.insideUnitCircle;
여기에 normalized를 하여 벡터를 정규화 해주었습니다.
정규화는 벡터 길이가 1 이어야 방향에 따른 이동 속도가 같아지기 때문에 오브젝트의 균일한 이동을 위해서 해주었습니다.
ForceMode2D
Rigidbody2D 컴포넌트에서 힘을 적용하는 방식을 지정하기 위한 열거형(Enum).
Rigidbody2D의 AddForce와 함께 사용하며 힘을 어떻게 적용할지를 제어.
ForceMode2D.Force: 힘을 지속적으로 적용.
ForceMode2D.Impulse: 순간적인 힘을 적용.
이 둘을 사용하여 클릭을 했을 때 랜덤한 방향으로 순간적으로 힘을 가하는 코드를 만들어보았습니다.
코드
public class MoveDice : MonoBehaviour { private float minForce = 3f; private float maxForce = 7f; private Rigidbody2D rb; // Start is called before the first frame update void Start() { rb = GetComponent<Rigidbody2D>(); float rotationAmount = Random.Range(minRotation, maxRotation); transform.Rotate(0f, 0f, rotationAmount); } void OnMouseDown() { ApplyRandomForce(); } void ApplyRandomForce() { Vector2 randomDirection = Random.insideUnitCircle.normalized; float randomForce = Random.Range(minForce, maxForce); rb.AddForce(randomDirection * randomForce, ForceMode2D.Impulse); } }
스파르타 코딩클럽 강의 듣기
유니티 시네머신 해보기
MainScene UI 어색한 부분 고치기
09:00 ~ 10:00 : 알고리즘 코드카타
10:00 ~ 10:30 : 팀 회의
10:30 ~ 14:00 :
12시-1시: 점심식사
14:00 ~ 18:00
6시-7시: 저녁식사
19:00 ~ 20:00 : 집중 코딩 시간 부족한 부분 해결해보기
20:00 ~ 21:00: TIL 작성, 마무리 회고 진행
21:00 : 내일은 위한 휴식!