본문 바로가기

분류 전체보기24

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.
Unity 3D 엔진 기초 (7) Collider 안녕하세요 연꿈술사입니다. 오늘은 물리적인 충돌감지를 위해 존재하는 컴포넌트 중 하나인 Collider에 대해 설명해 보려고 합니다. 우리가 게임을 하다보면 항상 외치는 게 있습니다. 바로 현실고증! 게임을 하는데 물리적인 충돌이 발생하지 않는다면 어떨까요? 캐릭터와 캐릭터가 부딪혔는데 통과해 버린다면? 바닥은 차치하고 눈앞의 건물들도 그냥 통과가 되어버린다면? 분명 재미없을 겁니다. Unity 에서는 이런 물리적인 충돌을 감지할 수 있도록 Collider를 만들어 놓았습니다. 또한 중력과 관련있는 Rigidbody도 있지만, 이에 대해서는 다음 시간에 다뤄보도록 하겠습니다. Collider에는 Box, Sphere, Capsule, Mesh 등 다양한 Collider가 존재합니다. 사물의 모양이 모두 .. 2023. 8. 10.
Unity C# 문법 (7) 오버로딩, 오버라이딩의 차이 안녕하세요, 연꿈술사 입니다. 오늘은 C# 문법에서 헷갈리기로 유명한 오버로딩과 오버라이딩의 차이에 대해 알아보겠습니다. 사실 오버로딩과 오버라이딩은 이름만 비슷할 뿐 아예 다른 개념입니다. 사전적의미와 사용하는 방법, 모두 알아보겠습니다. 1. 오버로딩(OverLoading) 오버로딩의 사전적 의미는 '과적'입니다. C#에서는 메소드로 불리는 함수에 대해 매개 변수의 갯수와 타입을 다르게 정의해 같은 이름으로 여러 개를 구현하는 것을 말합니다. 주로 같은 역할을 하는 메소드에 대해서 이름을 같게 하고 매개변수의 이름과 타입만 다르게 정의해줍니다. 오버로딩을 사용하면 같은 행동을 하는 메소드에 대해 이름을 새로 지을 필요가 없을 뿐만 아니라 코드를 일관성있게 해주어 다른 사용자가 메소드에 접근할 때 이해.. 2023. 8. 9.