Unity (38) 썸네일형 리스트형 [Unity] Trigger, Sprite를 이용한 오브젝트 비활성화 Trigger는 시스템에서 이벤트를 수신하고 각 이벤트에 대해 등록된 기능을 호출합니다. Sprite는 2D 그래픽 객체입니다. GameObject text는 Trigger를 이용하여 text의 활성화 여부를 결정해야 하기 때문에 선언한 변수이다. Sprite sprite는 플레이어가 조건에 만족한 행동을 하였을 때 해당 스프라이트로 바뀌주기 위해 선언한 변수이다. bool isChange는 오브젝트가 비활성화 되었는데 특정 조건에 의해 활성화되지 않게 해 주기 위해 선언한 변수이다. SpriteRenderer spriteRenderer는 현재 스프라이트에서 sprite변수에 선언되어있는 스프라이트로 바뀌주기 위해 선언된 변수이다. spriteRenderer와 isChange를 초기화 해준다. 아직 스프.. [Unity] TextMesh를 이용한 오브젝트 위에 글씨 만들기 Text Mesh 컴포넌트는 텍스트 문자열을 표시하는 3D 지오메트리 입니다. moveMax는 텍스트가 움직일 수 있는 최대 거리를 담은 변수이다. speed는 텍스트가 움직이는 속도를 관여하는 변수이다. pos는 트랜스폼의 초기 위치를 담아주는 변수이다. 3차원 백터에 트랜스폼의 위치를 초기화 시켜준다. dirPos에 pos를 저장시켜준다. 그리고 dirPos.y값에 초기 위치 y값을 더해준다. 고정적인 초기 위치가 필요하기 때문에 따로 pos에 저장해서 사용한다. moveMax값을 사인 값에 곱해주어서 사인 값의 최대값과 최솟값을 지정해준다. 그리고 마지막으로 사인 값에 경과된 시간 * 속도를 곱해준 값을 넣어주어서 사인 값이 주기적으로 -1~1 값을 계속 반환하게 해준다. [Unity] Mathf.Cos(), Mathf.Sin()을 이용한 무작위 경계 함수 만들기 경계하는 방향으로 무작위 RaycastHit2D를 발사하여 플레이어를 식별하면 플레이어에게 다가가는 적 기능 구현입니다. 적 휴먼 상태 애니메이션과 적 공격 애니메이션은 isAttack 변수에 의해서 전환된다. 플레이어의 위치에서 적의 위치를 빼서 플레이어의 방향을 구해준다. 그리고 플레이어의 방향 백터를 정규화해주어 크기가 1인 백터로 만들어주고 여기에 moveSpeed를 곱해서 moveSpeed만큼의 힘을 가진 백터로 만들어준다. 그리고 rigid.velocity = playerDirSpeed를 이용해서 속도를 바뀌 준다. 마지막으로 애니메이션 컨트롤러의 isAttack를 true로 바꿔준다. 랜덤 함수를 만들어 0~90 사이의 랜덤 한 숫자를 deg에 넣어준다. 그리고 rad = deg * Math.. [Unity] RaycastHit2D를 이용한 플레이어 점프 구현 플레이어 점프(중복 점프는 허용하지 않습니다.)를 구현하고, 애니메이션도 적용합니다. RaycastHit2D 컴포넌트는 광선의 경로에 따라 놓여 있는 물체를 감지하는 데 사용되며 개념적으로 레이저 빔을 대상으로 발사하여 어떤 물체에 부딪혔는지 관찰하는 것과 같다. 레이캐스트 및 기타 기능은 레이캐스트에 의해 탐지된 객체에 대한 정보를 반환한다. 우선 Player_Jump 애니메이션을 만들고 isJump 파라미터를 추가해준다. 이때 Player_Idle, Player_Walk, Player_Jump는 서로 상호작용을 해야하기 때문에 각각 트랜지션을 만들어주어 관리한다. 만약 점프키가 눌리고 점프 애니메이션이 동작 중이지 않다면 플레이어가 점프를 할 수 있게 해준다.해 준다. 그리고 플레이어가 점프를 한다면.. [Unity] Animator, Sprite Renderer를 이용한 애니메이션 설정 Animator를 이용하여 플레이어 애니메이션 적용하는 방법에 대해 알려드리겠습니다. Animator 컴포넌트는 씬에서 게임 오브젝트에 애니메이션을 지정하는 데 사용합니다. Sprite Renderer 컴포넌트는 Sprite를 렌더링하고 스프라이트가 씬에 시각적으로 표시되는 방식을 제어합니다. Player_Idle은 플레이어 휴먼 상태일 때의 애니메이션 Player_Walk는 플레이어가 움직일 때의 애니메이션이다. 그리고 isWalk 변수를 통해서 Player_Walk와 Player_Idle 애니메이션 전환을 정해준다. 현재 우리가 가지고 있는 애니메이션은 오른쪽을 기준으로 만든 것이다. 원래 왼쪽 애니메이션도 따로 만들어야 하지만 SpriteRenderer 컴포넌트를 통해서 오른쪽을 기준으로 만든 애니.. [Unity] Rigidbody2D와 Transform을 이용한 플레이어 이동 구현 플레이어 이동 방법을 2가지 소개하겠습니다. 1. Rigidbody2D 컴포넌트를 사용하는 방법 2. Transform 컴포넌트를 사용하는 방법 Rigidbody 2D 컴포넌트는 오브젝트를 물리 엔진이 제어하게 만듭니다. Transform 은 게임 오브젝트의 포지션, 회전, 스케일, 부모-자식 상태를 저장하기 위해 사용한다. 1의 방법을 위해서는 maxSpeed와 rigid 변수가 필요하다. 2의 방법을 위해서는 speed와 tf 변수가 필요하다. 1. Rigidbody 2D 컴포넌트를 사용하는 방법 float h를 통해서 플레이어가 어디로 가고 싶은지에 대한 방향 정보를 가져온다. 가져온 정보를 이용하여 플레이어를 그쪽 방향으로 밀어준다. 하지만 여기서 AddForce는 힘을 계속해서 플레이어에게 가해.. 이전 1 2 3 4 5 다음