전체 글 56

Unity 충돌감지

Unity에서 오브젝트 충돌감지에 중요한 두 가지 Component가 있습니다.Collider: 충돌체크Rigidbody: 물리체크Collider는 충돌체크에 필요한 Component이고 Rigidbody는 물리 기능에 필요한 Component입니다. 둘 중 하나라도 없으면 플레이어 캐릭터가 벽을 통과하는 불상사가 발생할 수 있습니다. 유니티에서 충돌체크를 하는 방법은 4가지가 있습니다.픽셀: 픽셀 하나하나 비교하여 닿으면 충돌 체크하는 방식, 정확하지만 느리다.원: 원 둘의 서로의 중심에서의 거리가 각 반지름의 합보다 낮으면 충돌 처리하는 방식, 정확하진 않지만 빠르다.AABB: Axis-Aligned Bounding Box의 준말로 충돌박스가 오브젝트의 형태에 크기가 바뀌는 방식OBB: Oriente..

유니티3D 아날로그 시계

이번 글은 실제 시간에 따라 움직이는 아날로그시계를 만들어보겠습니다. 우선 전역변수 먼저 선언하겠습니다.[SerializeField] private Transform SecCubeTr = null;[SerializeField] private Transform MinCubeTr = null;[SerializeField] private Transform HourCubeTr = null;[SerializeField] private float distance = 2.0f;private float Secangle = 0f;private float Minangle = 0f;private float Hourangle = 0f;SecCubeTr: 초침을 의미하는 큐브오브젝트의 위치값MinCubueTr: 분침을 의미하는..

Unity3D 추격2

이전 글에서 언급한 대로 랜덤한 위치에 타겟을 지정한 시간마다 이동시키고 그걸 추격하는 오브젝트를 구현해 보겠습니다. 우선 타겟 오브젝트를 생성하고 필요한 기능을 나열해 보겠습니다. Target.cs랜덤을 적용할 범위 변수 선언위치 변경 쿨타임 변수 선언위치 바뀌고 시간 경과 변수 선언두 시간 변수 간 상호작용타겟 오브젝트 랜덤한 위치로 이동위를 참고해서 코드를 짜보겠습니다.using UnityEngine;public class Target : MonoBehaviour{ private float range = 10f; //바뀌는 위치 범위 변수 private float resetTime = 2f; //위치 변경 쿨타임 변수 private float duration = 0f; //위..