본문 바로가기

NOTE120

[SaveSource] Drag Script public class TouchManager : MonoBehaviour, IBeginDragHandler, IDragHandler, IEndDragHandler { public void OnBeginDrag(PointerEventData _eventData) { transform.position = _eventData.position; } public void OnDrag(PointerEventData _eventData) { transform.position = _eventData.position; } public void OnEndDrag(PointerEventData _eventData) { transform.position = _eventData.position; } } - 이벤트 핸들러를 붙.. 2016. 10. 14.
[SaveSource] Touch Pinch Zoom /* touch pinch zoom */ if (Input.touchCount == 2) { touchZero = Input.GetTouch(0); touchOne = Input.GetTouch(1); touchZeroPrevPos = touchZero.position - touchZero.deltaPosition; touchOnePrevPos = touchOne.position - touchOne.deltaPosition; prevTouchDeltaMag = (touchZeroPrevPos - touchOnePrevPos).magnitude; touchDeltaMag = (touchZero.position - touchOne.position).magnitude; deltaMagnitudeDiff = p.. 2016. 10. 14.
[Unity] Mobile Touch (펌) 출처 : http://noname2.tistory.com/110 유니티는 멀티터치를 지원한다. 화면을 터치하게 되면, 화면을 터치한 순서대로 해당 터치의 정보는 터치정보를 담는 배열에 들어가는데 0, 1, 2 순서대로 들어간다. 그리고 이러한 터치정보는 Input.GetTouch(index) 로 얻어올 수 있다. index는 int형이며 위에서 말했다싶이 터치의 인덱스 값이다. Input.GetTouch(index)는 Touch 클래스로 그 정보를 반환하므로 Touch touch = Input.GetTouch(index); 와 같은 형태로 해당 터치정보를 참조변수 touch로 접근할 수 있게 하면 된다. 만약 화면 3곳을 터치하고 있으면 index값 0,1,2에 각각 그 정보가 들어가는 것이다. 그런데 .. 2016. 10. 13.
[SaveSource] Player Cam & Input.Axis [PlayerCtrl.cs] - 캐릭터에 부착 public class PlayerCtrl : MonoBehaviour { public float moveSpeed = 10; void Update () { float h = Input.GetAxis("Horizontal"); float v = Input.GetAxis("Vertical"); transform.Translate(new Vector3(h, 0, v) * moveSpeed * Time.deltaTime); transform.Rotate(new Vector3(0, Input.GetAxis("Mouse X"), 0)); } } [FollowCam.cs] - 카메라에 부착, Target에 캐릭터 부착 public class FollowCam : Mon.. 2016. 10. 7.
[Unity] 짧은 개념 정리2 [그래픽 최적화]- Bottleneck- Draw Call- Batching- Profiling- Profiling Sample- Level Of Detail- Lighting- Physically Based Rendering [Quaternion] (펌)- 적 캐릭터가 사용자를 바라볼 때와 같이 회전 시킬 때, transform.LookAt() 함수를 사용해도 되지만, 한 축으로만 회전 시키고 싶을 때- 이걸로 방향 벡터를 구해주고.- 이걸로 오일러 앵글로 리턴시켜주면 된다- 요렇게 [RotateAround]- 타겟을 중심으로 주위를 회전. [SystemInfo.deviceUniqueIdentifier]- 디바이스 고유아이디 2016. 10. 7.
[Unity] Unity Script 정리 [Vector Maths] - 두 점사이의 거리를 구하는 Vector3.magnitude - 두 벡터 VectorA(x,y,z) VectorB(x,y,z) 내적 : (Ax*Bx) + (Ay*By) + (Az*Bz) = Dot Product (가 0이면 두 점은 직각) 을 나타내는 Vector3.Dot(VectorA, VectorB) 가 있다. - Cross Product를 나타내는 Vector3.Cross(VectorA, VectorB) [Enabling and Disabling Components] - 효과적으로 컴포넌트를 토글화 시키는 방법 public class EnableComponents : MonoBehaviour { private Light myLight; void Start () { myL.. 2016. 10. 6.