반응형
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 31 | public RectTransform viewPortRectTr; // 보는 곳 RectTranform ex) scrollview 의 viewport public RectTransform contentRectTr; // 리스트 들들어잇는 content transform // 가변적으로 변하는 content trasform 에 따라 viewPortRectTr 로컬기준으로 Bounds를 구할수 있다. private readonly Vector3[] m_Corners = new Vector3[4]; private Bounds GetContentBounds() { if (contentRectTr == null) return new Bounds(); var vMin = new Vector3(float.MaxValue, float.MaxValue, float.MaxValue); var vMax = new Vector3(float.MinValue, float.MinValue, float.MinValue); var toLocal = viewPortRectTr.worldToLocalMatrix; // viewPortRectTr의 로컬 매트릭스 가져오기 contentRectTr.GetWorldCorners(m_Corners); // contentRectTr 네 각 꼭지점의 vector3 for (int j = 0; j < 4; j++) { Vector3 v = toLocal.MultiplyPoint3x4(m_Corners[j]); // viewPortRectTr의 로컬 매트릭스 * vector3 = 각 꼭지점의 contentRectTr 로컬좌표 vMin = Vector3.Min(v, vMin); vMax = Vector3.Max(v, vMax); } // 제일 작은 수로 센터로 크기가 0 인 바운드만들고 var bounds = new Bounds(vMin, Vector3.zero); //제일 큰값 으로 바운드 확 bounds.Encapsulate(vMax); return bounds; } | cs |
반응형
'유니티 > 프로그래밍' 카테고리의 다른 글
[Unity] UnityWebRequest 예제 (0) | 2019.02.19 |
---|---|
[Unity] Raycast Layermask 설정 (6) | 2019.01.31 |
[Unity] Quaternion.FromToRotation 이해 (0) | 2019.01.03 |
[Unity] ugui 스킬쿨타임 구현하기 (0) | 2018.12.06 |
[Unity] 버그/문의 메일보내기 (0) | 2018.12.05 |