분류 전체보기

    Unity의 PointEventData 클래스

    Unity의 PointEventData 클래스는 터치 또는 마우스 입력 이벤트에 대한 정보를 저장하는 클래스입니다. 이 클래스는 InputModule 클래스에 의해 사용되며, InputModule 클래스를 통해 터치 또는 마우스 입력 이벤트에 대한 정보를 얻을 수 있습니다. PointEventData 클래스의 속성 PointEventData 클래스는 다음과 같은 속성을 가지고 있습니다. position: 터치 또는 마우스 포인터의 위치 clickCount: 클릭 횟수 clickTime: 클릭 시간 delta: 터치 또는 마우스 포인터의 이동량 dragging: 터치 또는 마우스 포인터가 이동 중인지 여부 button: 터치 또는 마우스 버튼 phase: 터치 또는 마우스 이벤트의 단계 pointerId:..

    간단하게 오브젝트 간의 각도 구하는 방법

    이전 게시글에서 내각을 이용해 두 물체간의 각도를 구하는 방법에 대해서 설명했습니다. 이번 글에서는 Vector3.SignedAngle() 함수를 이용해 시야 범위에 타켓 오브젝트가 들어와 있는지 확인하는 방법을 설명하겠습니다. Vector3.SignedAngle() 함수 Vector3.SignedAngle() 함수는 두 벡터의 방향 사이의 각도를 구하는 함수입니다. 이 함수는 부호가 있는(-180 ~ 180)각도를 반환합니다. float SignedAngle(Vector3 from, Vector3 to, Vector3 axis) //from: 시작 벡터 //to: 목표 벡터 //axis: 회전 축 벡터 이 함수는 두 벡터 from과 to의 방향 사이의 각도를 axis를 기준으로 계산하며, 결과값은 부호..

    Vector3 : Lerp, SmoothDamp, MoveTowards 비교

    Unity에서 오브젝트의 위치나 방향을 부드럽게 이동시키는 방법은 여러 가지가 있습니다. 그 중에서도 Lerp, SmoothDamp, MoveTowards 메서드는 가장 많이 사용되는 방법입니다. 이 세 가지 메서드는 모두 오브젝트의 현재 위치 또는 방향에서 목표 위치 또는 방향으로 부드럽게 이동시킵니다. 하지만 각각의 메서드에는 고유한 특징과 사용 방법이 있습니다. Lerp Lerp 메서드는 "선형 보간"을 의미하며, 두 개의 벡터 사이에서 선형적으로 보간된 값을 반환합니다. 시작 벡터와 목표 벡터, 그리고 보간 비율을 인자로 받습니다. 이 메서드는 주어진 비율에 따라 시작 벡터와 목표 벡터 사이에서 보간된 값을 반환합니다. Vector3 newPosition = Vector3.Lerp(currentP..

    2023.11.22 오늘의 물생활

    또 한마리의 핑크키티 암컷이 출산을 했어요!! 초산이라 그런지 아침에 한마리 출산한걸 보고 출근했는데 퇴근했더니 5마리만 남아있네요... 잡아 먹혔을 수도 있지만 바닥에 시체들이 꽤 있던걸로 봐선 알비노에 초산이라 꼬물이들이 많이 건강하지 못했던거 같아요 😥😥😥이녀석도 곧 출산 예정이랍니다 👏👏👏 11월 2일에 초산을 한 녀석입니다 용궁가신 🦐 아마 탈피중에 안시가 건드린것 같네요

    헷갈리는 오브젝트 회전 방법 Part 2 (Lerp, Slerp, RotateTowards)

    Quaternion.Lerp() Quaternion.Lerp() 메서드는 두 쿼터니언 사이의 선형 보간을 수행합니다. 이는 두 점 사이를 직선으로 연결하는 것과 유사합니다. 이 방법은 보간 속도가 일정하기 때문에 빠르지만, 이러한 선형 보간은 짧은 거리에서는 잘 작동하지만 긴 거리에서는 비현실적으로 보일 수 있습니다. Quaternion.Lerp() 메서드의 구문은 다음과 같습니다. Quaternion.Lerp(Quaternion from, Quaternion to, float t); // from 시작 쿼터니언 // to 목표 쿼터니언 // t 보간 비율 0 - 1 Quaternion.Lerp() 메서드는 다음과 같이 작동합니다. 시작 쿼터니언과 종료 쿼터니언의 차이를 구합니다. 차이를 보간 비율 (t..

    시야 범위에 타켓 오브젝트가 들어와 있는지 확인하는 방법

    Unity 오브젝트의 시야 범위에 타켓 오브젝트가 들어와 있는지 확인하는 방법은 여러 가지가 있습니다. 그 중 하나인 두 오브젝트의 내적을 구하고, 라디안(π)을 호도각(0~360°)으로 변환시켜 사용하는 방법을 소개하겠습니다. 내적이란? 내적은 두 벡터의 크기와 방향의 일치 정도를 나타내는 값으로 Vector3.Dot() 메서드를 통해 구할 수 있습니다. A⋅B=∣A∣⋅∣B∣⋅cos(θ) 여기서 ∣A∣와 ∣B∣는 각각 벡터 A와 B의 크기(길이)이고, θ는 A와 B 사이의 각입니다. 내적의 결과는 스칼라값입니다. public static float Dot(Vector3 lhs, Vector3 rhs) => (float) ((double) lhs.x * (double) rhs.x + (double) lh..

    C# 프로젝트 파일이 열리지 않을 때 (VSCode)

    is in unsupported format (for example, a traditional .Net Framework project). It need be converted to new SDK style to work in C# Dev Kit. VSCode에 이와 같은 로그가 나오며 Visual Studio에서는 작업이 되지만 VSCode에서는 안되는 경우 필자의 경우 Mac으로만 작업을 하다 오랜만에 Window10에서 포스팅용 유니티 프로젝트를 생성했더니 그랬다. 아마 VSCode용 C# Extension과 Unity 및 .Net Install Tool 이 생기거나 업데이트되어서 그런것 같다. https://code.visualstudio.com/ Visual Studio Code - Code E..

    헷갈리는 오브젝트 회전 방법 Part 1 (LookRotation, LookAt, RotateTowards)

    Unity에서 오브젝트를 회전하는 방법에는 여러 가지가 있습니다. 그 중에서도 가장 일반적인 방법은 쿼터니언을 사용하는 것입니다. 쿼터니언은 3차원 회전을 표현하는 데 사용되는 4차원 벡터입니다. Unity에서 쿼터니언을 사용하여 오브젝트를 회전하는 방법은 다음과 같습니다. 먼저, Quaternion.LookRotation() 또는 transform.LookAt() 메서드를 사용하여 회전할 값인 쿼터니언 값을 구합니다. 그런 다음, Transform.rotation 속성을 사용하여 오브젝트의 회전 쿼터니언을 설정합니다. transform.LookAt() 메서드 transform.LookAt() 메서드는 오브젝트를 지정된 위치와 방향으로 회전합니다. public void LookAt(Transform ta..