Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Github DeskTop Merge
- networkbehaviourid
- 유니티 해상도 변경
- 유니티 머지
- Unity
- m585 수리
- 유니티
- unity 병합
- 몬스터
- 오브젝트 깜빡임
- unity git
- NavMesh
- navigation
- 깃허브 데스크탑 병합
- m585
- 깃허브 데스크탑 합치기
- unity merge
- nav오브젝트사이거리
- githubdesktopmerge
- M590
- 유니티 해상도 설정
- 유니티 해상도
- networkobject
- 유니티 합치기
- 유니티 브랜치 merge
- m590 수리
- stateauthority
- nav거리
- networkobject.networkid
Archives
- Today
- Total
집게사장의 꿈
UI 회전 배치[룰렛] 본문
목적
서버에서 정보를 얻어와 UI에 정보를 뿌려주기 위해 화면에 원형으로 배치하기 위함
정보의 개수에 따라 0도가 되는 각도를 기준으로 360도 회전 시킴
설명
예시
시작 각도 = 90도
개수 6개 일때
코드
/// <summary>
///룰렛의 각 Entity의 현재 회전값과 그에 따른 위치값을 받아옵니다.
/// </summary>
public List<(float Rot, float x, float y)> GetRouletteRotate(int n, float defaultRot = 90.0f)
{
List<(float Rot, float x, float y)> info = new List<(float Rot, float x, float y)>();
float rotA = 360.0f / n;
float rotB = rotA / 2.0f;
float def = defaultRot;
for (int i = 0; i < n; i++)
{
//원형에서 좌표값을 받기 위한 값
float R = def - (rotA * i) - rotB;
if (R < 0) R = 360.0f + R;
float Rot = -(rotA * i + rotB);
float rad = R * Mathf.Deg2Rad;
float X = Mathf.Cos(rad); //Sin Cos에 - 값이 들어가도 괜찮음 결과는 360 - N으로 처리됨
float Y = Mathf.Sin(rad);
info.Add((Rot, X, Y));
Debug.Log($"{R} {Rot} {rad} {X} {Y}");
}
return info;
}
생각할 점
Pivot은 Center
Anchor도 Center
'유니티' 카테고리의 다른 글
유니티 알쓸유잡 (0) | 2024.06.13 |
---|---|
[Unity] GPU 병목 해결 버텍스 줄이기 (0) | 2024.03.14 |
[Unity] Localization Key[ID] 값 비교 (0) | 2024.03.13 |
[Unity] AGP 호환성 문제 (We recommend using a newer Android Gradle plugin to use compileSdk = 3x) (0) | 2024.03.08 |
[Unity]no valid user created or default window layout found unity (0) | 2024.03.08 |