본문 바로가기

Unity C#6

Unity 3D 엔진 (12) UI- Button 안녕하세요 연꿈술사입니다. 오늘은 Unity에서 제공하는 UI 중 Button에 대해서 알아보려고 합니다. Button 컴포넌트 또한 사용자와의 상호작용에서 매우 중요한 역할을 하는 요소 중 하나입니다. 게임 뿐만 아니라 흔히 사용하는 엘리베이터 등에서도 실제로 볼 수 있는 버튼은 게임을 하면서도 다양하게 사용됩니다. Button 또한 UI 중 하나로 Create-UI-Button으로 생성이 가능하고 Canvas내에 배치되게 됩니다. 또한 Button에도 Text가 달려있기 때문에 과거 버전인 Button(legacy)를 통해 Button과 그 자식인 Text로 생성하기도 하고, Button - TextMeshPro 를 통해 Text 대신 Text - TextMeshPro를 자식으로 받아올 수도 있습니다.. 2023. 8. 18.
Unity 3D 엔진 기초 (9) MainCamera의 플레이어 따라가기 안녕하세요 연꿈술사입니다. 오늘은 우리가 게임을 플레이 했을 때 자주 겪어본 플레이어를 따라다니는 MainCamera를 코드로 구현해 보는 것을 해보려고 합니다. 단순히 MainCamera를 PlayerObject에 집어넣을 수도 있겠지만 그건 우리가 원하는 동작이 아닐 것입니다. 플레이어가 이동함에 따라 카메라가 이동하려면 일단 플레이어의 위치를 카메라가 받아와야겠죠? 하지만 Update문에서 이동하게 될 플레이어를 동시에 카메라가 받아버리면 움직임 사이에 약간의 불일치나 지연이 생기는 경우가 있습니다. 그로 인해 우리는 LateUpdate문에서 플레이어의 위치를 받으면 좋겠습니다. 아래는 예시문입니다. [SerializeField] Transform playerTransform; // 플레이어의 Tr.. 2023. 8. 14.
Unity C# 문법 (8) 코루틴(Coroutine) 함수 안녕하세요 연꿈술사 입니다. 오늘은 기초적인 함수는 아니지만 Unity 에서 게임을 제작하기에 있어 자주 사용하고 중요한 코루틴에 대해 알아보려고 합니다. 코루틴은 일반 함수처럼 시작점부터 끝점까지 연속적으로 실행되는 것과 달리 비동기적으로 실행되는 함수입니다. 특정 시점에서 일시 중시되었다가 나중에 다시 재개될 수 있도록 합니다. 일정시간 이후에 함수를 시작할 수도 있고, 어느 하나를 실행 하고 일정시간을 기다렸다가 이후에 써진 내용을 다시 재개할 수 있습니다. 함수를 예로 들어 설명해보겠습니다. void Start() { StartCoroutine(MyCoroutine()); } IEnumerator MyCoroutine() { Debug.Log("코루틴 시작!"); yield return new W.. 2023. 8. 12.
Unity 3D 엔진 기초 (8) Rigidbody 안녕하세요 연꿈술사입니다. 오늘은 Rigidbody에 대해 알아보겠습니다. Rigidbody도 Collider와 마찬가지로 물리연산을 하는 컴포넌트입니다. Collider가 충돌에 대한 연산을 했다면, Rigidbody는 중력과 관련이 있습니다. 우리가 빈 화면에 Cube를 하나 생성하고 Rigidbody 컴포넌트를 추가한 후 게임을 실행해보면, Cube가 하염없이 바닥으로 떨어지는 것을 볼 수 있습니다. Collider와 마찬가지로 2D 에서는 Rigidbody 2D를 사용해야합니다. 이 떨어지는 속도는 중력가속도를 기반으로 만들어져 있습니다. 이에 대해 궁금하시면 Edit-Project Settings-Physics-Cloth Gravity를 확인해보시면 알 수 있습니다. Rigidbody 컴포넌트에.. 2023. 8. 11.